Plugin erstellen

Irgendwann wollen Sie Ihre individuellen Einstellungen in den Toolkit-XSL-Stylesheets vor einem Update des DITA-OT sichern oder diese an andere weitergeben. Dann ist die Auslagerung Ihrer Templates in ein Plugin angebracht.

Override-Stylesheet-Datei erstellen

Erstellen Sie eine neue XSL-Datei. In den Kopf und Fuß der neuen Datei, die die Templates des Toolkits außer Kraft setzten soll, müssen die Standardeinträge:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!— Hier kommt Ihr angepaßtes Stylesheet hinein.—>

</xsl:stylesheet>

Zu änderndes Stylesheet in Override-Datei kopieren

Kopieren Sie aus der Datei DITA-OT\xsl\xslhtml\dita2htmlImpl.xsl dasjenige Template in die soeben neu erstellte Override-Stylesheet-Datei, welches Sie ändern möchten. Suchen Sie nach dem Template immer nach seinem class-Attribut:

<xsl:template match="*[contains(@class, 'topic/beispielelement')]

Wenn Sie das Stylesheet kopiert und geändert haben, speichern Sie die Override-Stylesheet-Datei (beispiel.xsl) ab. Stellen Sie nun den Originalzustand der Datei dita2htmlImpl.xsl wieder her, falls Sie darin Ihre Anpassungen vorgenommen hatten.

Plugin-Verzeichnis erstellen

  1. Erstellen Sie einen neuen Ordner im Verzeichnis DITA-OT\demo\beispielname.
  2. Erstellen Sie im neu erstellten Ordner einen neuen Ordner \xsl.
  3. Kopieren Sie die neue Override-Stylesheet-Datei (beispiel.xsl) in den Ordner \xsl.
  4. Erstellen Sie eine neu XML-Datei namens plugin.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <plugin id="org.dita.beispielname">
    <feature extension="dita.xsl.xhtml" value="xsl/beispiel.xsl" type="file"/>
    </plugin>
    

    und kopieren diese in den Ordner \demo\beispielname.

Plugin integrieren

Doppelklicken Sie die startcmd.bat, um ein DITA-Kommandofenster zu öffnen und führen Sie folgenden Befehl aus:

ant -f integrator.xml

Im Ergebnis sollte in der Datei DITA-OT\xsl\dita2xhtml.xsl die beispiel.xsl über ein <xsl:import> referenziert werden.