Hi,
Any general entities like ∑ that you use in your document must be declared, 
either in the document or the schema.  Since RelaxNG does not have a way to 
declare entities, your document must reference the declarations of such 
entities.  See:

http://www.sagehill.net/docbookxsl/Db5Entities.html

In addition to the DocBook entities, the MathML DTD also has many entities.  If 
you decide to use those, you will also have to include the declaration of those 
entities.

Bob Stayton
Sagehill Enterprises
[EMAIL PROTECTED]


  ----- Original Message ----- 
  From: Anagha Tongaonkar 
  To: Bob Stayton 
  Cc: DocBook Apps 
  Sent: Monday, March 17, 2008 10:51 AM
  Subject: Re: [docbook-apps] How to include Mathematical equations in DocBook 
5 ?


  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>&sum;</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.  

    Bob Stayton
    Sagehill Enterprises
    [EMAIL PROTECTED]


      ----- Original Message ----- 
      From: Anagha Tongaonkar 
      To: Bob Stayton ; DocBook Apps 
      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>&sum;</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 
        [EMAIL PROTECTED] 


        ----- Original Message ----- From: "Anagha Tongaonkar" <[EMAIL 
PROTECTED]> 
        To: "Bob Stayton" <[EMAIL PROTECTED]>; "DocBook Apps" 
<[email protected]> 
        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 



Reply via email to