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

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

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


Subject: Re: DOCBOOK-APPS: RE: XML catalog resolution problems


At 11:12 2002 10 30 -0500, Daniel Veillard wrote:
>On Wed, Oct 30, 2002 at 09:28:44AM -0600, Paul Grosso wrote:
>> The XML Catalog spec makes it clear that system entries are for 
>> resolving external identifiers (production 75 in XML) and clearly 
>> says about URI entries [1]:
>
>  And I have said to the XML Catalog comitee that an URI Reference is
>an URI-Reference and that having to distinguish arbitrarilly one done
>from a DOCTYPE entry from one done from an xi:include href entry 
>doesn't make any sense to me, and that I would not support the distinction
>in my software unless getting a meaningful reason to distinguish
>those.
>  I haven't received any justification yet from the commitee about the
>reason to distinguish those exept "they are different", no sorry ...

Well, when Microsoft said "I see no reason not to support empty end 
tags (i.e., </>) in XML", people rose in protest.  One justification
is that this is the standard, and you are refusing to follow it.

But I will try again to give you a more technical explanation.

The use of systemId in the XML Catalog is expressly to model 
production [75], ExternalID, of the XML spec.  I think it is 
good architecture to model what the catalog does on what the 
XML spec is doing.

XML has no concept of a URI.  It only has a concept of ExternalID
with a SystemLiteral.

Furthermore, XML's SystemLiteral cannot have a fragment ID:

  "It is an error for a fragment identifier (beginning with a #
  character) to be part of a system identifier."

So the datatype of the systemId entry is different from the datatype
of the uri entry.  Another reason it makes good architectural
sense to have two different entry types.


> I see ZERO reason why the two following URI-Reference made from a 
>single XML entity should lead to using different resource for 
>http://example.com/foo.dtd:
>
>-------------------------------
><DOCTYPE foo SYSTEM "http://example.com/foo.dtd>
><foo>
><xi:include href="http://example.com/foo.dtd"; parse="text"/>
></foo>
>-------------------------------

In addition to my explanation above--and the fact that your example
is not going to be a common one, so such "redundancy" is in fact
going to be rare--there are other good reasons why these two URIs
might want to be treated differently.  

Many XML processors provide an option to "compile" the external 
subset for certain optimized uses, so the system identifier (in 
the doctype line) might really resolve to some compiled form, 
but the URI in the xinclude element would want to resolve to 
the uncompiled form.

Or I might know that my application ideally supports a slightly
different version of the DTD, so I want to map the system id
into some other file--maybe one on my local system, or maybe
off to the latest test version of the DTD on sourceforge--but
the version I want to include as text in my document should be
the official current version of the DTD.

paul



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


Powered by eList eXpress LLC