[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] How to use a catalog for an entity declaration file?
Hi Bob,How exactly do you process the XML file? Applying an XSLT using an XML + XSLT transformation scenario should use automatically the XML catalog set up in Oxygen. Are you using an ANT build file? If so did you provide in the <xslt> task a reference to the xmlcatalog?
https://ant.apache.org/manual/Tasks/style.html Regards, Radu Radu Coravu <oXygen/> XML Editor http://www.oxygenxml.com On 3/12/2019 6:45 PM, Bob McIlvride wrote:
Hi Radu, Thank you for the tips. Using "systemSuffix and systemIDSuffix allows me to validate the document. That's a great help. However, when I go to process the document in Oxygen, I get this error: [xslt] : Fatal Error! Failure reading file:/C:/Activity/Cogent/Docs/DocsOx/Source/TestBook1/test3-book.xml Cause: java.io.FileNotFoundException: C:\Activity\Cogent\Docs\DocsOx\Source\TestBook1\commonentityID (The system cannot find the file specified) I followed your suggestion to move the TestCatalg.xml file into the same directory as the commonentities.ent file. Now the source files look like this: TestCatalog.xml: <!DOCTYPE catalog PUBLIC "-//OASIS//DTD XML Catalogs V1.1//EN" "http://www.oasis-open.org/committees/entity/release/1.1/catalog.dtd"> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> <systemSuffix systemIdSuffix="commonentityID" uri="commonentities.ent"/> </catalog> test3-book.xml: <!DOCTYPE book [ <!ENTITY % commonentities SYSTEM "commonentityID" > %commonentities; ]> <book xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="test3-book"> <info> <title>Test Book 3</title> </info> <chapter xml:id="test3-introduction"> <info> <title>Introduction - A Simple Book</title> </info> <para>Test entity: ©</para> </chapter> </book> Those both validate in Oxygen, but it gives that "cannot find the file" error when processing the document. I have tried modifying the Preferences for the XML Catalog in different ways, but nothing seems to affect the problem. The current settings can be seen in the attached image: CatalogSnip.png. I'm sure I'm doing something wrong, but can't figure out what. Can you see what the problem might be? Best regards, Bob Bob McIlvride Communications Manager Cogent Real-Time Systems Inc., a Skkynet company T 1 905 702 7851 ext 103 cogent.ca -----Original Message----- From: Radu Coravu <radu_coravu@sync.ro> Sent: Tuesday, March 12, 2019 1:44 AM To: docbook-apps@lists.oasis-open.org Subject: Re: [docbook-apps] How to use a catalog for an entity declaration file? Hi Bob, Here are 3 possibilities: 1) An entity reference like this:<!ENTITY % commonentities SYSTEM "commonentityID" >would be resolved by a catalog entry like this:<systemSuffix systemIdSuffix="commonentityID" uri="file:///C:/Activity/Cogent/Docs/DocsOx/Source/Common/commonentiti es.ent"/>2) An entity reference like this:<!ENTITY % commonentities SYSTEM "../Common/commonentities.ent" >would be resolved by a catalog reference like this:<systemSuffix systemIdSuffix="Common/commonentities.ent" uri="file:///C:/Activity/Cogent/Docs/DocsOx/Source/Common/commonentiti es.ent"/>3) An entity reference like this:<!ENTITY % commonentities SYSTEM "http://someHost/Common/commonentityID" >would be resolved by a catalog entry like this:<system systemId="http://someHost/Common/commonentityID" uri="file:///C:/Activity/Cogent/Docs/DocsOx/Source/Common/commonentiti es.ent"/>Also in practice no absolute file references should be in the catalog.xml. So the catalog.xml would be placed as close as possible to the DTDs, for example in the "DocsOx/Source/Common" folder, meaning that the @uri attribute value would be something like this:<system systemId="....." uri="commonentities.ent"/>Regards, Radu Radu Coravu <oXygen/> XML Editor http://www.oxygenxml.com On 3/11/2019 10:33 PM, Bob McIlvride wrote:Dear friends, I am trying to implement this guidance from Chapter 23. Modular DocBook files of Bob Stayton's DocBook XSL: The Complete Guide - 4thEdition:"If all of your modules and document files have the same entity declaration and reference, then they will all share the same set of entities. You can use an XML catalog to map the filename to a specific pathname on a system so it can be in a central location." http://www.sagehill.net/docbookxsl/ModularEntities.html#entities.in.dt d My problem is that I don't know the correct syntax for the system entity declaration. For example, this doesn't work: <!DOCTYPE book [ <!ENTITY % commonentities SYSTEM "commonentityID" > %commonentities; ]> ... My catalog looks like this: <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> <system systemId="commonentityID" uri="file:///C:/Activity/Cogent/Docs/DocsOx/Source/Common/commonentiti es.ent"/> </catalog> The catalog validates in Oxygen. Without attempting to use the catalog, this is what we normally use: <!DOCTYPE book [ <!ENTITY % commonentities SYSTEM "../Common/commonentities.ent" > %commonentities; ]> ... This also validates and produces correct output. How can we get this working using a catalog? Any suggestions would be most helpful. Best regards, Bob COGENT <http://cogent.ca/> *Bob McIlvride ** Communications Manager* Cogent Real-Time Systems Inc., a Skkynet company T 1 905 702 7851 ext 103 cogent.ca <http://cogent.ca/>--------------------------------------------------------------------- To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org --------------------------------------------------------------------- To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]