[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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



Reply to: