Re: Question
- From: Daniel Veillard <veillard redhat com>
- To: Jonathan Bartlett <johnnyb wolfram com>
- Cc: gnome-doc-list gnome org
- Subject: Re: Question
- Date: Fri, 26 Oct 2001 17:47:45 -0400
On Fri, Oct 26, 2001 at 04:29:46PM -0500, Jonathan Bartlett wrote:
> Sorry. I figured it out. Left the URI out of the DTD.
Actually it's a relatively important point I would like to put a bit
of emphasis on. People used to hardcode local path to the DTD copy in
their document instance like
<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"/usr/share/sgml/docbook/dtd/4.1.2/docbookx.dtd" [
This is seriously broken because the document is not portable
any more to a system where the DTD is installed in a different location.
This is even worse when starting to use XML Catalogs because the resolution
mechanism gives priority to the System Identifier (i.e. the URI Reference
/usr/share/sgml/docbook/dtd/4.1.2/docbookx.dtd ) over the Public
Identifier ("-//OASIS//DTD DocBook XML V4.1.2//EN"), which means that
recovering from a bad path at the catalog level gets harder.
So it must be a rule to keep the canonical System Identfier for DTDs
especially for the DocBook XML ones, it will help portability of the
document, lower risk of failures at the catalog resolution level, and
ultimately if the entry is not present in the catalog the remote
access can still be performed to fetch the resource (slower but may
work based either on a working IP connection or the presence of an
HTTP cache).
So please keep the canonical definition for the DocType:
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
[...]>
(and yes for the sharp eyed, the URI provided from the Dtd example itself
is wrong, if not fixed in DocBook CVS you have an interesting bug to
report to Norm if you wish :-)
Daniel
--
Daniel Veillard | Red Hat Network http://redhat.com/products/network/
veillard redhat com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]