Subject: Re: Fwd: [docbook] Re: Possible Catalog Issues for DocBook 4/5: Missing 'www' in System Identifier?
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.dtdYou 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.xmlThe 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@example.com> To: firstname.lastname@example.org Thomas Schraitle <email@example.com> 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