I have been evangalizing canonical URLs for system identifiers among SGML
docheads (usually, they don't quite seem to get it). And I've proposed an
easy-to-use scheme for mapping canonical URLs to the local file system [1].
But to be true, I think the XML Specification is flawed in requiring a
system identifier.
"System identifier should always work" -- why? This is na鴳e -- they should,
but hey, they don't always work correctly, or at all. Uncertainty is
something to be avoided in a production environment. Sometimes, I
specifically don't want a document to work without entity resolution through
catalogs -- my catalogs. Just as in the good ol' SGML days.
[1] http://lists.oasis-open.org/archives/docbook-apps/200210/msg00038.html
--
\|/
<@ @> Peter Ring
+-oOO-(_)-OOo---------------------------
| Address Pal熚ade 4
| P.O.Box 9026
| DK-1022 K鷷enhavn K
| Phone +45 3396 0153
| Fax +45 3396 0101
| EMail
| WWW www.magnus.dk
-----Original Message-----
From: Jirka Kosek [mailto:]
Sent: 6. maj 2003 16:43
To: Peter Ring
Cc:
Subject: Re: [docbook] URN for Simplified DocBook and DocBook XML
Peter Ring wrote:
> Sometimes, I like to use URNs for system identifiers in XML files; this
> ensures that entity resolution goes through my catalog files, and not to
> random files in the file system or on the net.
This is not good practise IMHO. System identifier should always work and
thus you should use URL pointing to the publicly available resource. All
catalog implementation which I know allow you to override also system
identifiers so you can gain benefits of catalog files on your local
system and still your document work also without any catalog at all.
So I will recommend you to use following URL
http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd
as a system identifier and then put something like
<system
systemId="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
uri="/path/to/your/local/copy/of/docbook/dtd/docbookx.dtd"/>
into your catalog file.
Using URN is a very good practise in many places (e.g. namespace
identifiers) but not in system identifiers. System identifier must be
always resolvable, and this can't be guaranteed with URN.
Jirka
--
-----------------------------------------------------------------
Jirka Kosek
e-mail:
http://www.kosek.cz