public identifiers [Re: Referencing multiple DTD in an XML document]

james anderson James.Anderson at
Wed Nov 3 10:54:18 GMT 1999


David Brownell wrote:
> ...
> It's a simple extension of what I showed above:
>         <!DOCTYPE foo [
>         <!ENTITY % MathML SYSTEM "">
>         %MathML;
>         <!ENTITY % SpeechML SYSTEM "">
>         %SpeechML;
>         ]>
> I'd encourage you to use PUBLIC identifiers as well, so that
> local cached copies of those declarations can easily be used.

Could someone expound further on this statement?

I recall only that the rec says something about permitting a processor to use
the public identifier to generate an alternative URI to the system identifier
to be used to retrieve an external resource.
Is the "customary usage", in fact, that processors use the public identifier
to name an entry in a local and/or process-specific cache? which they manage dynamically?

I wonder this also because I've yet to see a conclusive discussion of whether
dtd's (or for that matter schema) in the namespace age are stable. That is,
whether the same system uri will always identify an identical dtd/schema.

For example, would a processor be conforming if it were to, upon not finding a
resource "under" a public identifier, retrieve and expand the resource located
through the system identifier and cache the expanded (or even decoded result)
"under" the public identifier?


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list