[oXygen-user] Custom DTD issues
Sorin Ristache
Tue May 24 07:50:52 CDT 2005
Dear Geoff,
The error is not related to the XML catalog or the directory structure.
It is a DTD validation error and it is caused by violating the rules of
well-formed DTDs specified in the W3C XML 1.0 Recommendation. The error
message is not very clear but if you click on the line with the error in
the <oXygen/>'s Errors view the line that references the parameter
entity *orig-docbook* is highlighted. The declaration of that entity
violates the production rule 75 from the recommendation:
http://www.w3.org/TR/REC-xml/#sec-external-ent
That means you provided a public ID but not a system ID. It is not
really your mistake because there are such wrong declarations on the
website page that you referred. So instead of
<!ENTITY % orig-docbook PUBLIC "-//OASIS//DTD DocBook V4.3//EN">
%orig-docbook;
you need something like
<!ENTITY % orig-docbook PUBLIC "-//OASIS//DTD DocBook V4.3//EN"
"file:/D:/Documents/Documentation/single-source/put-the-name-here.dtd">
%orig-docbook;
Or you need the other form of external entity declaration:
<!ENTITY % orig-docbook SYSTEM
"file:/D:/Documents/Documentation/single-source/put-the-name-here.dtd">
%orig-docbook;
Excepting that you followed Norman Walsh's instructions correctly and
you are on the right way to a working customization layer.
I hope this helps,
Sorin
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com/
wrote:
> Hi,
>
> I'm having some problems with creating a custom DTD. I've been trying to follow
> the directions at http://www.docbook.org/tdg/en/html/ch05.html without success.
> Can someone please give me some feedback on what I have done so far?
>
> Thanks,
>
> Geoff
>
>
> In Oxygen6 I have added my catalog file and unchecked the Use default catalog
> check box.
>
> When I validate my custom dtd I get the error:
> ======================================================
> F|White spaces are required between publicId and systemId|utas-itr-docbook.dtd|38:1
> =========================================================
>
>
> My custom dtd is D:/Documents/Documentation/single-source/utas-itr-docbook.dtd:
> =======================================================
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- -//UTAS-ITR//DTD DocBook V4.3-Based Subset V1.0//EN -->
> <!-- ====================================================== overrides start here -->
> <!-- remove msgset only ===================================================== -->
> <!ENTITY % compound.class "Procedure|SideBar|qandaset|task">
> <!ENTITY % msgset.content.module "IGNORE">
> <!ENTITY % ebnf.block.hook "IGNORE">
>
> <!-- remove some computer inlines
> =============================================== -->
> <!-- classname, methodname, interfacename, exceptionname, ooclass, oointerface,
> ooexception -->
> <!-- hardware, interface, medialabel, structfield, structname, token -->
> <!ENTITY % tech.char.class
> "action|application
> |command|computeroutput
> |database|email|envar|errorcode|errorname|errortype|errortext|filename
> |function|guibutton|guiicon|guilabel|guimenu|guimenuitem
> |guisubmenu|keycap
> |keycode|keycombo|keysym|literal|code|constant|markup
> |menuchoice|mousebutton|option|optional|parameter
> |prompt|property|replaceable|returnvalue|sgmltag
> |symbol|systemitem|uri|type|userinput|varname">
> <!ENTITY % classname.module "IGNORE">
> <!ENTITY % methodname.module "IGNORE">
> <!ENTITY % interfacename.module "IGNORE">
> <!ENTITY % exceptionname.module "IGNORE">
> <!ENTITY % ooclass.module "IGNORE">
> <!ENTITY % oointerface.module "IGNORE">
> <!ENTITY % ooexception.module "IGNORE">
> <!ENTITY % hardware.module "IGNORE">
> <!ENTITY % interface.module "IGNORE">
> <!ENTITY % medialabel.module "IGNORE">
> <!ENTITY % structfield.module "IGNORE">
> <!ENTITY % structname.module "IGNORE">
> <!ENTITY % token.module "IGNORE">
>
> <!--====================================================== overrides finish here -->
> <!--<!ENTITY % orig-docbook SYSTEM "../docbook-dtd-4.3/docbookx.dtd">-->
> <!ENTITY % orig-docbook PUBLIC "-//OASIS//DTD DocBook V4.3//EN">
> %orig-docbook;
>
> <!--====================================================== new stuff starts here -->
>
> <!--==================================================== new stuff finishes here -->
> ==================================================================
>
>
>
> My catalog file is D:/Documents/Documentation/single-source/itr-catalog.xml:
> =====================================================
> <?xml version='1.0'?>
>
> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
> <group prefer="public" xml:base="../docbook-dtd-4.3/">
> <public publicId="-//OASIS//DTD DocBook XML V4.3//EN" uri="docbookx.dtd"/>
> <system systemId="http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
> uri="docbookx.dtd"/>
> </group>
> <group prefer="public" xml:base="/">
> <public publicId="-//UTAS-ITR/DTD DocBook V4.3-Based Subset V1.0//EN"
> uri="utas-itr-docbook.dtd"/>
> <system
> systemId="file:///d:/documents/documentation/single-source/utas-itr-docbook.dtd"
> uri="utas-itr-docbook.dtd"/>
> </group>
> </catalog>
> ========================================================
>
>
>
> Working on WinXP I have this directory structure for my projects:
> =======================================================
> D:.
> +---Documents
> | +---Documentation
> | | +---CommonServices
> | | | \---ImageSource
> | | +---CourseUnit
> | | | +---html-output
> | | | +---htmlhelp-output
> | | | +---ImageSource
> | | | +---javahelp-output
> | | | +---rtf_sample
> | | | \---schemas
> | | | +---Client_XML
> | | | \---DB_XML
> | | +---docbook-dtd-4.3
> | | | \---ent
> | | +---docbook-xsl-1.68.1
> | | | +---common
> | | | +---doc
> | | | | +---common
> | | | | +---fo
> | | | | +---html
> | | | | +---lib
> | | | | +---pi
> | | | | \---template
> | | | +---docsrc
> | | | | +---common
> | | | | +---fo
> | | | | +---html
> | | | | +---pi
> | | | | \---template
> | | | +---eclipse
> | | | +---extensions
> | | | | +---saxon643
> | | | | | \---com
> | | | | | \---nwalsh
> | | | | | \---saxon
> | | | | \---xalan2
> | | | | \---com
> | | | | \---nwalsh
> | | | | \---xalan
> | | | +---fo
> | | | +---html
> | | | +---htmlhelp
> | | | +---images
> | | | | \---callouts
> | | | +---javahelp
> | | | +---lib
> | | | +---manpages
> | | | +---params
> | | | +---profiling
> | | | +---template
> | | | \---xhtml
> | | +---Fees
> | | | \---ImageSource
> | | +---Glossary
> | | | +---html-output
> | | | \---htmlhelp-output
> | | +---HESA
> | | | \---ImageSource
> | | +---single-source
> | | | +---images
> | | | | +---admon
> | | | | \---callouts
> | | | \---ImageSource
> | | +---Standards
> | | | +---html-output
> | | | +---htmlhelp-output
> | | | \---ImageSource
> | | +---testing
> | | \---zzRemoved
> ================================================
>
>
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
> _______________________________________________
> oXygen-user mailing list
>
> http://www.oxygenxml.com/mailman/listinfo/oxygen-user
More information about the oXygen-user
mailing list