Hello,
It does not matter if the system ID refers to a http://www.docbook.org/
URL or to a http://docbook.org URL. Both cases of system ID and also the
Docbook public ID are covered by the Docbook XML catalog that comes with
Oxygen.
Oxygen creates a new Docbook 4 file with the DOCTYPE declaration:
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.docbook.org/xml/4.5/docbookx.dtd">
The DTD reference is always resolved through the Docbook XML catalog
that comes with Oxygen 15 to a local copy of the docbookx.dtd, more
precisely:
[Oxygen-install-dir]\frameworks\docbook\4.5\dtd\docbookx.dtd
You can check this by pressing the Open External Schema button on the
toolbar or by pressing Ctrl+Enter while the cursor is on the URL of the
Docbook DTD, which is the same as the action Open File at Caret
available on the contextual menu, again when the cursor is located
inside the DTD URL (in Text editing mode).
This is the result of one of the following two mapping in the built-in
Docbook XML catalog which comes with Oxygen, depending on the current
XML catalog preference of the user (public identifier or system identifier):
<public publicId="-//OASIS//DTD DocBook XML V4.5//EN"
uri="docbookx.dtd"/>
<rewriteSystem
systemIdStartString="http://www.docbook.org/xml/4.5/"
rewritePrefix="4.5/dtd/"/>
There is a similar mapping in the Docbook XML catalog also for the
http://docbook.org/ URL because if the DOCTYPE declaration is:
<!DOCTYPE book PUBLIC "SOME WRONG PUBLIC ID HERE"
"http://docbook.org/xml/4.5/docbookx.dtd">
then the Open External Schema action and the Open File at Caret one also
open the same local copy of the 4.5/docbookx.dtd.
There are similar mappings in the XML catalog for the Docbook 4.4 DTD,
the Docbook 4.3 DTD or even the Docbook 4.2 DTD. These mappings are
located in the files:
[Oxygen-install-dir]\frameworks\docbook\catalog.xml
[Oxygen-install-dir]\frameworks\docbook\4.5\catalog.xml
[Oxygen-install-dir]\frameworks\docbook\4.4\catalog.xml
[Oxygen-install-dir]\frameworks\docbook\4.3\catalog.xml
[Oxygen-install-dir]\frameworks\docbook\4.2\catalog.xml
The same is true for a new Docbook 5 document created in the Oxygen
application: the RELAX NG schema reference is mapped to a local copy
located in the Oxygen install directory.
Do you get a different result on a Docbook document in the Oxygen
application? Does the application try to open the remote schema (at
www.docbook.org) when you validate the document or when you transform it?
Best regards,
Sorin
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
-------- Original Message --------
Subject: [docbook] Re: Possible Catalog Issues for DocBook 4/5: Missing
'www' in System Identifier?
Date: Wed, 17 Jul 2013 08:48:45 -0500
From: Norman Walsh <[email protected]>
To: [email protected]
Thomas Schraitle <[email protected]> writes:
Well, I had always the (wrong?) impression, that the system identifier
for the docbook.org domain contains a "www". Using a Web browser to
access the URL is usually not a problem (as both URLs work, with and
without "www"). However, an XML catalog resolver wants the *exact*
string. If someone tries to use such a system identifier, he will get
into problems.
I originally configured docbook.org such that www.docbook.org was a
redirect to docbook.org. But in the course of moving it to different
servers, that configuration has apparently been lost. I will try to
fix that.
For example, oXygen 15 creates a DocBook file which contains the "www".
Ugh.
However, they also use the above catalog file. I guess, this problem
hasn't occured yet as all the XML tools try to find the public
identifier first. Assuming there is a correct entry in the XML catalog,
the system identifier never gets resolved (and doesn't need to).
Is this ambiguous? I would say yes. Or at least confusing.
What would the experts recommend here?
I never intended the www to be used in the docbook.org domain.
I guess I recommend that you don't use it. :-)
Be seeing you,
norm
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]