Hi there.
I am having what I believe to be a problem with my DTD which is
causing my documents to fail validation with xmllint.
I am using a DTD that is customised to allow the inclusion of
xi:includes and mathml at certain places within the document. This is
what the customisation (UG.dtd) looks like:
----------------------------------------------------------------------------------------------
<!-- xinclude entities -->
<!ELEMENT xi:include (xi:fallback?) >
<!ATTLIST xi:include
xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
href CDATA #IMPLIED
parse (xml|text) "xml"
xpointer CDATA #IMPLIED
encoding CDATA #IMPLIED
accept CDATA #IMPLIED
accept-language CDATA #IMPLIED >
<!ELEMENT xi:fallback ANY>
<!ATTLIST xi:fallback
xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude" >
<!-- can replace a chapter by an xinclude pointing to a chapter -->
<!ENTITY % local.chapter.class "| xi:include">
<!-- can replace a section by an xinclude pointing to a section -->
<!ENTITY % local.section.class "| xi:include">
<!-- can replace a refentry by an xinclude pointing to a refentry -->
<!ENTITY % local.refentry.class "| xi:include">
<!-- inside chapter or section elements -->
<!--<!ENTITY % local.divcomponent.mix "| xi:include">-->
<!-- inside para, programlisting, literallayout, etc. -->
<!ENTITY % local.para.char.mix "| xi:include">
<!-- inside bookinfo, chapterinfo, etc. -->
<!ENTITY % local.info.class "| xi:include">
<!-- inside equations
<!ENTITY % equation.math "| xi:include">
<!ENTITY % inlineequation.math "| xi:include">
<!ENTITY % informalequation.math "| xi:include">
-->
<!-- MathML entities -->
<!ENTITY % MATHML.prefixed "INCLUDE">
<!ENTITY % MATHML.prefix "mml">
<!ENTITY % equation.content "(alt?,
(graphic+|mediaobject+|xi:include+|mathphrase+|mml:math))">
<!ENTITY % inlineequation.content "(alt?,
(graphic+|inlinemediaobject+|xi:include+|mathphrase+|mml:math))">
<!ENTITY % informalequation.content "(alt?,
(graphic+|informalequation+|xi:include+|mathphrase+|mml:math))">
<!ENTITY % mathml PUBLIC "-//W3C//DTD MathML 2.0//EN"
"http://www.w3.org/TR/MathML2/dtd/mathml2.dtd">
%mathml;
----------------------------------------------------------------------------------------------
However, when I try to validate a simple document:
----------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % UG SYSTEM "../UG.dtd">
%UG;
]>
<section >
<title>Title</title>
<para>
This is a para.
</para>
</section>
----------------------------------------------------------------------------------------------
using
xmllint --noout --valid --postvalid test.xml
I get the error
----------------------------------------------------------------------------------------------
test.xml:0: validity error : Content model of section is not de
terminist: (sectioninfo? , (title , subtitle? , titleabbrev?) , (toc | lot | ind
ex | glossary | bibliography)* , (((calloutlist | glosslist | bibliolist | itemi
zedlist | orderedlist | segmentedlist | simplelist | variablelist | caution | im
portant | note | tip | warning | literallayout | programlisting | programlisting
co | screen | screenco | screenshot | synopsis | cmdsynopsis | funcsynopsis | cl
asssynopsis | fieldsynopsis | constructorsynopsis | destructorsynopsis | methods
ynopsis | formalpara | para | simpara | address | blockquote | graphic | graphic
co | mediaobject | mediaobjectco | informalequation | informalexample | informal
figure | informaltable | equation | example | figure | table | msgset | procedur
e | sidebar | qandaset | task | anchor | bridgehead | remark | highlights | abst
ract | authorblurb | epigraph | indexterm | beginpage)+ , ((refentry | xi:includ
e)* | (section | xi:include)* | simplesect*)) | (refentry | xi:include)+ | (sect
ion | xi:include)+ | simplesect+) , (toc | lot | index | glossary | bibliography
)*)
----------------------------------------------------------------------------------------------
Does anyone know what's going wrong here? I suspect that I have
incorrectly defined my xi:include within the DTD or something like
that, but I am not sure.
Thank you.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]