[xml/sgml] How to reference docbookx.dtd via file://?
Jeff Chimene
jeffchimene@yahoo.com
Wed, 24 Nov 2004 13:01:48 -0800 (PST)
Hi,
Is the answer to simply rewrite the
SYSTEM identifier in the DOCTYPE declaration?
<!DOCTYPE article
PUBLIC "-//OASIS//DTD DocBook HTML Forms Module
V1.1//EN" "dbforms.dtd"!>
This seems to force a match on the PUBLIC identifier.
Now, the -nonet switch doesn't produce any errors.
Thanks,
jec
--- Jeff Chimene <jeffchimene@yahoo.com> wrote:
> Hi,
>
> I'd like to prevent docbookx.dtd from being
> referenced via http:// It looks like I can reference
> docbookx via file://. However, here is a <trimmed>
> log from a recent run where XML_DEBUG_CATALOG=1
> showing that the catalog resolution occurs via the
> network, not locally.
>
> Resolve: pubID -//OASIS//DTD DocBook HTML Forms
> Module V1.1//EN sysID
>
http://www.oasis-open.org/docbook/xml/htmlforms/1.1/dbforms.dtd
> 16384 Parsing catalog file:///etc/xml/catalog
> file:///etc/xml/catalog added to file hash
> file:///etc/xml/docbook-html-forms.xml not found in
> file hash
> 16384 Parsing catalog
> file:///etc/xml/docbook-html-forms.xml
> file:///etc/xml/docbook-html-forms.xml added to file
> hash
> Trying system delegate
> file:///etc/xml/docbook-html-forms.xml
>
file:///usr/share/xml/docbook/custom/html-forms/1.1/catalog.xml
> not found in file hash
> 16384 Parsing catalog
>
file:///usr/share/xml/docbook/custom/html-forms/1.1/catalog.xml
>
file:///usr/share/xml/docbook/custom/html-forms/1.1/catalog.xml
> added to file hash
> Trying system delegate
>
file:///usr/share/xml/docbook/custom/html-forms/1.1/catalog.xml
> Found system match
>
http://www.oasis-open.org/docbook/xml/htmlforms/1.1/dbforms.dtd
> Resolve: pubID -//OASIS//DTD DocBook XML V4//EN
> sysID
>
http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
> file:///etc/xml/docbook-xml.xml not found in file
> hash
> 16384 Parsing catalog
> file:///etc/xml/docbook-xml.xml
> file:///etc/xml/docbook-xml.xml added to file hash
> Trying system delegate
> file:///etc/xml/docbook-xml.xml
>
file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml
> not found in file hash
> 16384 Parsing catalog
>
file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml
>
file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml
> added to file hash
> Trying system delegate
>
file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml
> Found system match
>
http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
> Writing ar01s02.html for section
> Writing ar01s03.html for section(MenuDescriptions)
> Writing ar01s04.html for section
> Writing index.html for article
> Catalogs cleanup
> <snip>
>
> As you can see, the "system match" happens via
> http:// instead of file://
>
> Thank-you in advance for your support!
>
> Cheers,
> Jeff Chimene
>
> I sent the following message to the XSLT list. It
> was probably the wrong list.
>
> --- Jeff Chimene <jeffchimene@yahoo.com> wrote:
>
> > Date: Mon, 22 Nov 2004 06:43:08 -0800 (PST)
> > From: Jeff Chimene <jeffchimene@yahoo.com>
> > To: xslt@gnome.org
> > Subject: [xslt] XSLTPROC, nonet switch and catalog
> > processing
> >
> > Hi,
> >
> > I cannot seem to get xsltproc to honor the -nonet
> > switch.
> >
> > Here is the version:
> >
> > $ xsltproc -V
> > Using libxml 20611, libxslt 10108 and libexslt 806
> > xsltproc was compiled against libxml 20611,
> libxslt
> > 10108 and libexslt 806
> > libxslt 10108 was compiled against libxml 20611
> > libexslt 806 was compiled against libxml 20611
> >
> > My XML catalog (/etc/xml/catalog) has the
> following
> > entries:
> >
> > <delegatePublic publicIdStartString="-//OASIS//DTD
> DocBook HTML Forms Module"
> > catalog="file:///etc/xml/docbook-html-forms.xml"/>
> > <delegateSystem
> >
>
systemIdStartString="http://www.oasis-open.org/docbook/xml/htmlforms/"
> > catalog="file:///etc/xml/docbook-html-forms.xml"/>
> >
> > I use the following doctype:
> >
> > <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook
> HTML
> > Forms Module V1.1//EN"
>
"http://www.oasis-open.org/docbook/xml/htmlforms/1.1/dbforms.dtd">
> >
> > Yet XSLTPROC produces the following output when I
> > use the -nonet switch:
> >
> > I/O error : Attempt to load network entity
> >
>
http://www.oasis-open.org/docbook/xml/htmlforms/1.1/dbforms.dtd
> > release-notes.xml:10: warning: failed to load
> > external entity
> >
>
"http://www.oasis-open.org/docbook/xml/htmlforms/1.1/dbforms.dtd"
> >
> > It looks to me like the DTD declaration matches
> the
> > catalog. What concept am I missing? In other
> words,
> > why don't the DTDs get loaded locally?
> >
> > Would I be better served switching to Relax NG?
> IOW,
> > does the library not like a combination of DTD and
>
> > XML? I use XEmacs to create the document, its XML
> > mode is quite helpful. However, I can switch to
> the
> > Relax NG DocBook schema & Emacs if that conversion
> > would solve this (admittedly minor) problem.
> >
> > Thank-you in advance for your help.
> >
> > Jeff Chimene
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail