Erweitern von DocBook mit MathML und SVG

(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)

Falls Sie MathML und SVG zusammen verwenden möchten, kombinieren Sie die Schritte in den vorherigen Abschnitten und erstellen Sie eine Anpassungsdatei (beispielsweise dbsvg-mathml.svg), die beide enthält. Das folgende Beispiel zeigt Ihnen das Ergebnis.

Beispiel: Anpassungsdatei für DocBook mit SVG und MathML

<?xml version="1.0"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<include href="docbook.rng">
  <define name="db._any.svg">
    <externalRef href="svg11.rng"/>
  </define>
  <define name="db._any.mml">
    <externalRef href="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/2000/svg"/>
          <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>
default namespace db = "http://docbook.org/ns/docbook"
namespace svg = "http://www.w3.org/2000/svg"
namespace mml = "http://www.w3.org/1998/Math/MathML"
namespace html = "http://www.w3.org/1999/xhtml"

include "docbook.rnc" {
  db._any.svg = external "svg11.rnc"
  db._any.mml = external "mathml2.rnc"
  db._any =
    element * - (db:* | html:* | svg:* | mml:*) {
      (attribute * { text }
       | text
       | db._any)*
   }
}
Tipp der data2type-Redaktion:
Zum Thema DocBook bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 Millin Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Millin Verlag, Siebengebirgsring 36, 53797 Lohmar, info(at)millin.de