Oh! I was under the (wrong) impression that including the namespace
declaration in the customdocbook.rng schema was sufficient. I now have
the namsespace declaration in the xml document & now it does not
complain about the prefix "mml"; however, now upon validation, I get
the following error:
"The entity "sum" was referenced, but not declared."
at line: <mml:mo>∑</mml:mo>
Am I missing something ?
Bob Stayton wrote:
Hi,
Well, any namespace you use in a
document must be declared in the document. If you are using DocBook5,
you know how to declare the docbook namespace in the root element's
start tag. Do the same for the mml namespace in the same place and it
will apply to the entire document. That should eliminate that error.
-----
Original Message -----
Sent:
Friday, March 14, 2008 3:15 PM
Subject:
Re: [docbook-apps] How to include Mathematical equations in DocBook 5 ?
Thank you for your reply.
Following the instructions on http://docbook.org/docs/howto/#faq-customization-mathml,
I downloaded the MathML RELAX NG schema from http://yupotan.sppd.ne.jp/relax-ng/mml2.html
& unpacked it in "mathml" directory. Added the following lines to
my customdocbook.rng
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<include href="/path/to/docbook.rng">
<define name="db._any.mml">
<externalRef href="mathml/mathml2.rng"/>
</define>
<define name="db._any">
<element>
<anyName>
<except>
<nsName ns="http://docbook.org/ns/docbook"/>
<nsName ns="http://www.w3.org/1999/xhtml"/>
<nsName ns="http://www.w3.org/1998/Math/MathML"/>
</except>
</anyName>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="db._any"/>
</choice>
</zeroOrMore>
</element>
</define>
</include>
</grammar>
Then, I added the following equation:
<sect1><title>Equations <title>
<equation>
<title>My MathML example</title>
<mml:math>
<mml:mrow>
<mml:mo>∑</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</equation>
</sect1>
in the article. When I tried to validate it, (I'm using oXygen XML
Editor) I got error messages:
conflicting ID-types for attribute "linkend" of element "msginfo" from
namespace "http://docbook.org/ns/docbook"
The prefix "mml" for element "mml:math"
is not bound.
I read the information on: http://www.sagehill.net/docbookxsl/ProcesingDb5.html#Db5Validation
However, did not find it helpful, may be because I'm using the XML
editor.
Any idea, why does it not like/recognize the prefix "mml"?
Thanks!
Bob Stayton wrote:
Hi,
In DocBook 5's RelaxNG schema, the imagedata, equation, and
informalequation elements can contain elements in the MathML
namespace. So the equation example in the book is still accurate, you
can just skip the DOCTYPE declarations.
Once you mix namespaces, though, validation becomes more complicated.
See this doc for more information:
http://www.sagehill.net/docbookxsl/ProcesingDb5.html#Db5Validation
Bob Stayton
Sagehill Enterprises
bobs@sagehill.net
----- Original Message ----- From: "Anagha Tongaonkar" <anagha@3dgeo.com>
To: "Bob Stayton" <bobs@sagehill.net>;
"DocBook Apps" <docbook-apps@lists.oasis-open.org>
Sent: Tuesday, March 11, 2008 12:07 PM
Subject: [docbook-apps] How to include Mathematical equations in
DocBook 5 ?
Hi All,
I would like to know how to include Mathematical equations in DocBook 5
?
I know of an example listed on: http://www.sagehill.net/docbookxsl/MathML.html
However, it's using DB 4.5. I am using DB 5.0.
Any examples will be helpful.
TIA,
Anagha
|