Hi Dean,
My advice is to try to move to DocBook 5 when you get some time.
One way to make the DTD change is to get your local copy of the DocBook
DTD, eventually rename it and refer it from your documents. Then edit
the dbpoolx.mod to change
<!--doc:Pointer to external image data.
This element points to an external entity containing graphical image
data.-->
<!ELEMENT imagedata %ho; EMPTY>
in:
<!--doc:Pointer to external image data.
This element points to an external entity containing graphical image
data.-->
<!ELEMENT imagedata %ho; (xi:include)>
Note that you need also to have the xinclude.mod specified either in the
internal subset or from your custom DocBook DTD, otherwise the
xi:include element will be undefined.
Alternatively you can use
<!--doc:Pointer to external image data.
This element points to an external entity containing graphical image
data.-->
<!ELEMENT imagedata %ho; ANY>
and add also a check in the stylesheet to issue a stop message if you
encounter anything different than MathML inside imagedata.
Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina - http://aboutxml.blogspot.com/
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Nelson, Dean wrote:
Thanks George!
How do I modify the DTD to allow xi:xinclude inside an imagedata?
I have it for book, section, chapter, etc. but could not find a good way
to add imagedata
Regards,
Dean Nelson
Enterprise Electronics Corp
-----Original Message-----
From: George Cristian Bina [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 06, 2007 8:33 AM
To: Nelson, Dean
Cc: [email protected]
Subject: Re: [docbook-apps] Imagedata and XInclude
Hi Dean,
I see that Jirka already responded to your question but I want to
address the validation issue.
Please note that Saxon and FOP are not validating your DocBook file
against a DTD or against a schema. Saxon will only care to have an XML
(that is well formed) document and it will get you from that to an
intermediary XSL-FO file that FOP will use as input and get your PDF
file. Invalid DocBook documents may very well pass through this
processings performed by Saxon and FOP.
This processing will stop only if you have the Saxon executing an
xsl:message with terminate="yes" or if you end up with an XSL-FO file
that FOP is not able to handle.
oXygen validates the document against the DocBook DTD or schema and if
the document passes that validation then you know it is conforming with
that DocBook DTD or schema.
The correct solution is to move to DocBook 5. However, if the document
passes fine though your processings and the only thing you want is to
see it valid then you can customize/change the DTD to accept for
instance xi:include inside imagedata. Then you can also add an XSLT
customization layer that matches on imagedata containing something else
than MathML and issue a termination message specifying that only MathML
is accepted inside imagedata.
Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina - http://aboutxml.blogspot.com/
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Nelson, Dean wrote:
George
Is there a better way to include MathML in Docbook equations that will
validate in oXygen? It works well under SAXON 6.5.5 & FOP 0.94 from
the command line but it won't vaildate with Oxygen 9 (or 8.2).
BTW: the new oXygen version is a resounding success here at work.
Dean
________________________________
From: George Cristian Bina [mailto:[EMAIL PROTECTED]
Sent: Tue 11/6/2007 7:23 AM
To: Nelson, Dean
Cc: [EMAIL PROTECTED]; [email protected]
Subject: Re: [docbook-apps] Imagedata and XInclude
Dear Dean,
Place the caret on imagedata
Contextual menu (right click on Windows, CTRL+click on Mac) Select the
last entry: Show Definition
should get you to
<!--doc:Pointer to external image data.
This element points to an external entity containing graphical image
data.--> <!ELEMENT imagedata %ho; EMPTY>
The ho parameter entity is defined as
<!ENTITY % ho "">
So, the content of imagedata is empty as in nothing.
Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina - http://aboutxml.blogspot.com/ <oXygen/> XML
Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com <http://www.oxygenxml.com/>
Nelson, Dean wrote:
OK - does "empty" mean that there should be another wrapper that
wraps the MathML code?
I am assuming that "empty" does not mean "nothing", as that would be
senseless?
________________________________
From: Dave Pawson [mailto:[EMAIL PROTECTED]
Sent: Tue 11/6/2007 1:53 AM
To: Nelson, Dean
Cc: [email protected]
Subject: Re: [docbook-apps] Imagedata and XInclude
Nelson, Dean wrote:
Greetings!
I am puzzled by the benign error that I get in validating XIncluded
content with Oxygen. Here is the section of code:
<equation ><title>Here is a nice equation</title> <mediaobject>
<imageobject>
<imagedata align="center">
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="EEC-Math-template.xml"/>
</imagedata>
</imageobject>
</mediaobject>
</equation>
and I get the following error in validation:
SystemID: C:\doc\userman\xml\EEC-Section-Template.xml
Location: 300:12
Description: The content of element type "imagedata" must match
"EMPTY".
Take a look at the schema.
The imagedata element *must* be empty.
regards
--
Dave Pawson
XSLT, XSL-FO and Docbook FAQ
http://www.dpawson.co.uk <http://www.dpawson.co.uk/>
<http://www.dpawson.co.uk/>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]