[sc34wg3] Pre-publication draft of XTM 1.1 CD

Murray Altheim sc34wg3@isotopicmaps.org
Thu, 29 Jan 2004 17:59:59 +0000


Lars Marius Garshol wrote:
> * Murray Altheim
> | 
> | I am curious as to why the 1.1 DTD is considered informative, i.e.,
> | why it can't be considered normative.
> 
> That's actually a quite complicated story, but it has to do with all
> the ways in which XML as an interchange standard is broken. We are
> trying to work around those.

Well, rather than tangent off on that, I'll just have to say we
disagree about XML being broken. I don't see it as broken as a
language definition, and DTDs have been used effectively for
decades. If the standard described use of a DTD in the way that
every other ISO standard that incorporates one has (and there have
been many dozens), I don't see there'd be any legitimate issue.

> This issue was discussed by the committee:
> 
> <URL: http://www.ontopia.net/omnigator/models/topic_complete.jsp?tm=tm-standards.xtm&id=xtm-normative-schema >

For some reason your server is unavailable to me right now.

> The only background material I have on this is in the slides I've used
> to present the various TMDM/XTM issues during committee meetings,
> which I now see I haven't posted anywhere. If you want I can do it.

That's okay. I have little desire to fight this one. I just think
it's a serious mistake to leave off the DTD in the normative section.

> Basically, the reason is that if the DTD is normative it makes it a
> bit difficult to define the XML application properly. Are you required
> to use a validating parser? If not, what happens when someone leaves
> out FIXED attributes? Are they valid or not? What happens when someone
> gives you a valid XTM document with a broken DTD reference? What
> happens if someone gives you a document which modifies the DTD in the
> internal subset but validates correctly?

You don't need to use the DTD to define the XML application, you just
use it to define a validation mode on syntax conforming to the DTD. It
either validates or it doesn't, according to the constraints in the DTD.
None of the ISO DTDs in the past were so bold as to state that the
entirety of the application constraints were embodied in the DTD. XTM
doesn't have to be different on this count.

> We realized that with RELAX-NG we could just say: an XTM 1.1 document
> is syntactically valid if it *would* *have* validated against the
> RELAX-NG schema in Annex A.

Same with the DTD, just a different mode of validation. You can't, for
example, with RELAX-NG make sure that the document content (element and
attribute) of an XTM 1.1 document makes any logical or semantic sense,
or that the link structure isn't broken, etc.  Some schema language in
theory could do that. RELAX-NG doesn't. That doesn't make RELAX-NG
broken. By the same token, DTDs aren't broken. They're just a normative
tool for syntactic validation.

> All that's required of software then is to
> verify this condition, which they can do in any way they want. (If you
> have an equivalent DTD you can just use that, provided you work around
> the problems with current DTD validating software.)

I don't get the difference. Anything you've said about RELAX-NG can be
said about DTDs. You've said as much here. The problems with current
DTD validating software I'm not aware of. I've been using nsgmls, Xerces,
and other parsers for years without issue. XTM doesn't have any weird
namespace issues or RDF-like structures, so a DTD or RELAX-NG does fine.

> | I don't have any plans to use the RELAX-NG schema, hence I can't
> | claim conformance if I only use the XTM 1.1 DTD. That doesn't seem
> | quite right. I'd like to be able to validate using the DTD and claim
> | XML syntax conformance to an ISO standard.
> 
> You can do that, so long as you get the same results, and since the
> schema uses only minimal RELAX-NG-specific features you can easily get
> the same results with a DTD. (You basically have to add minimal URI
> validation, which any proper XTM implementation has to do anyway.)

Yes, but point is, I'd like that DTD to be normative. The URIs are part
of document content, not syntactic structure, and the DTDs just validate
the latter.

> | Since there are so few differences between XTM 1.0 and XTM 1.1, I
> | wonder if the rationale or explanation for each of the changes
> | could either be spelled out (just briefly) following each bullet
> | (since Annex E is informative it's not horribly important what
> | exactly the text says, just a help for those interested in using
> | 1.1), or if it's not deemed appropriate to have it in the standard
> | itself, a pointer to the rationale? This would be beneficial infor-
> | mation to those upgrading/updating their software and Topic Maps.
> 
> That's a valid point. I wonder what other people think. Should we do
> this in the annex?

I've expressed my opinion on this. I would like to see some mention
of this type of thing, because the audience for this would likely
have seen XTM 1.0 and be wondering why.

> | And if not in the document at all, perhaps just answer on the list:
> | 
> |  >  The instanceOf element is now allowed inside the baseName element.
> | 
> | What does it mean? This one is the most confusing to me, in terms
> | of what it means to the processing model, the Topic Maps "conceptual"
> | model, etc.
> 
> Look at the data model and you'll see that topic names now have a
> type. For more background, see
> 
> <URL: http://www.infoloom.com/pipermail/topicmapmail/2004q1/005689.html >
> 
> (You probably need to read carefully, since this explains the issue
> from a different angle.)

Yes, it's a bit odd for me. Is this similar to Michel's argument back
in 2000 to have basenames on occurrences, or an entirely different
thing?  Or only to do with revisions to the TNC?  (I must admit, I
don't entirely understand the rationale for the TNC changes, but I've
not been as involved in the discussions as you or others, and I remember
how I needed about 110% of my attention during the TopicMaps.Org days
to keep abreast of everything...).

> * Lars Marius Garshol
> |
> | The resourceRef element is now allowed inside the parameters,
> | instanceOf, and roleSpec elements.
>  
> * Murray Altheim
> |
> | What do each of these mean?
> 
> I'm not sure what you want to know, really. The XTM 1.1 specification
> explains what to do when you find the element in those places, if
> that's what you mean.

Maybe it'll just take awhile to sink in. Head deep in XTM for three
years or so and suddenly there's what seems to be a profound change.
It's hard to get one's head around the ramifications en toto,
immediately.

Murray

......................................................................
Murray Altheim                    http://kmi.open.ac.uk/people/murray/
Knowledge Media Institute
The Open University, Milton Keynes, Bucks, MK7 6AA, UK               .

     "Iraqi sovereignty will be established by appointees
      appointing appointees to select appointees to select
      appointees. Add the fact that Bremer was appointed to
      his post by President Bush and Bush to his by the US
      Supreme Court, and you have the glorious new democratic
      tradition of the appointocracy: rule by an appointee's
      appointee's appointees' appointees' appointees' selectees."
      http://www.guardian.co.uk/comment/story/0,3604,1130138,00.html