Erstellen eines Layoutregelwerks

XML-Editor

Durch die Benutzung von Standard XML (UTF-8) lässt sich das Layoutregelwerk mit jedem Texteditor bearbeiten.

Mithilfe der mitgelieferten XML Schemata (RELAX NG und XML Schema (XSD)) wird die Eingabe des Layoutregelwerks deutlich erleichtert. So ein Schema kann man sich als computerlesbare Anleitung vorstellen, welche Befehle an welcher Stelle im Layout erscheinen dürfen. Die Anleitung enthält auch Informationen über die jeweils erlaubten Parameter. Zusätzlich gibt das Schema auch Hilfe, in dem jeder Befehl und Parameter kurz erläutert wird. Kurzum: wenn der Editor dieses Schema einbinden kann und auch »versteht«, ist das eine nicht zu unterschätzende Eingabehilfe. Man verringert die Fehlerzahl und die Eingabezeit deutlich, das Bearbeiten des Layoutregelwerks fängt dann an, richtig Spaß zu machen (glauben Sie mir).

Um dieses Schema einzubinden, muss ein passender XML-Editor benutzt werden, der RELAX NG oder XML-Schemata verarbeiten kann, z. B.:

Die ersten beiden Editoren bieten hervorragende Cross-Plattform Unterstützung für die Schema.

Die Schemadateien für das Layoutregelwerk liegen in der ZIP-Datei im Verzeichnis share/schema/ unter den Dateinamen

layoutschema-de.rng
layoutschema-en.rng

für RELAX NG und

layoutschema-de.xsd
layoutschema-en.xsd

für XSD, je nach gewünschter Sprache der Dokumentation. Weitere Informationen zum Schema gibt es im Kapitel Schemavalidierung und im Anhang Installationsanleitungen für verschiedene Editoren (z.B. oXygen, Visual Studio Code).

Namensraum des Layoutregelwerks

Der XML-Namensraum des Layoutregelwerks ist urn:speedata.de:2009/publisher/en. Die zusätzlichen XPath-Funktionen liegen im Namensraum urn:speedata:2009/publisher/functions/en. Daher sollte ein Layoutregelwerk immer diesen Rahmen haben:

<Layout xmlns="urn:speedata.de:2009/publisher/en"
        xmlns:sd="urn:speedata:2009/publisher/functions/en">
 ...
</Layout>

Dann lassen sich die speedata-eigenen Funktionen mit dem Präfix sd: aufrufen, zum Beispiel: sd:current-page() um die aktuelle Seitenzahl zu ermitteln.