[xml/sgml] How to reference docbookx.dtd via file://?

Mark Johnson mrj@debian.org
Sat, 27 Nov 2004 13:22:40 -0500


Jeff Chimene wrote:
> Hi,
> 
> Is the answer to simply rewrite the 
> SYSTEM identifier in the DOCTYPE declaration?

Yep, that'll work.

> 
> <!DOCTYPE article
> PUBLIC "-//OASIS//DTD DocBook HTML Forms Module
> V1.1//EN" "dbforms.dtd"!>

Since you're using XML, it gets even easier: you can ditch the PUBLIC 
identifier altogether and simply use a DOCTYPE declaration like:

<!DOCTYPE article SYSTEM "path-to-dtd">

THe 'file://' prefix is probably optional, depending on what parser 
you're using. Try it with/without the file:// part until it works for you.

Hope that helps.

Cheers,
Mark

> 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
> 
> _______________________________________________
> Debian-xml-sgml-devel mailing list
> Debian-xml-sgml-devel@lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/debian-xml-sgml-devel


-- 
____________________________________________________________
Mark Johnson      <mrj@ibiblio.org>
Debian XML/SGML:  <http://debian-xml-sgml.alioth.debian.org>
Home Page:        <http://dulug.duke.edu/~mark/>
GPG fp: DBEA FA3C C46A 70B5 F120  568B 89D5 4F61 C07D E242