OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: URIs and versions

I didn't catch the exact details of our plans for
URIs during the telcon, but I do remember discussing
getting the version info in there.

I remember related discussions in the W3C and elsewhere,
so I did some checking and talking to others.

For organizing the various DTD and/or XML Schema modules
and shells and such, having the version as a step in the
path usually works well.  It occurs to me that we might
want to have both XML Schemas and DTDs for DITA at some
point.  DocBook, which is in a similar situation (and in 
fact also has SGML DTDs and RelaxNG grammars) uses a
scheme can be seen at http://docbook.org/xml/
Our analogy might be something like:
The "xml" step--which implies XML DTDs--allows us later to 
have an "xsd" subtree containing schemas and so forth.

All the above is about URIs for organizing the files,
aka system identifiers.

As far as namespace names, there are problems with putting
the version into the namespace name.  I'm not sure if that
was what was being discussed today or not, but if it was,
we might want to continue the discussion.

If you put the version into the namespace name, then you 
are putting all your elements into a completely different
vocabulary every version which makes it very difficult to
transition from one version to the next.  This practically
guarantees serious legacy conversion problems whenever one
wants to transition to a new version.  None of your XSLT
stylesheets that work with the old namespace will work on
any elements in the new namespace.  

Unless we really want to enforce that "a topic in DITA 1.0"
is a completely different and incompatible object compared
to "a topic in DITA 1.1", then I don't think we want to have
the version info in the namespace name.  Instead, applications
that need to know the version of a given bit of content should
inspect the DTDArchVersion attribute and/or some similar version
attribute we may wish to add to all root elements.  But we should
have a version-less namespace for DITA.  

This is somewhat analagous to the fact that all XHTML--whether 
strict or loose and regardless of version--uses the same
http://www.w3.org/1999/xhtml namespace name [1] so that a <p> 
element is always a <p> element regardless of the details of 
the version of the document it's in.  (The "1999" is NOT any 
kind of version indicator--it is merely the way the W3C doles 
out namespace names.)


[1] http://www.w3.org/TR/xhtml1/#normative

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]