Einbinden der Dita4Publishers-DTDs in XMLMind

Anleitung: So binden Sie die DTD für article in den XML-Editor XMLMind ein, so dass Sie diese lokal validieren und benutzen können.

Anmerkung: Ich war bisher ein großer Fan des Programms, da es den conref-Mechanismuses für den Nutzer sehr einfach werden läßt. Jedoch für Spezialisierungen, wie es die Dita4Publishers-DTDs sind, ist das Programm nicht geeignet. Mir ist es nur gelungen, die article.dtd einzubinden. Die Einbindung der pubmap.dtd ist mir nach einer Stunde nicht gelungen, so dass ich beschlossen habe, dass Programm für das Dita4Publisher-Plugin nicht mehr zu nutzen. Vielleicht ist es ja in Zukunft möglich, die Datei dita-catalog.xml einzubinden. Bisher ist das nicht der Fall. Im Folgenden mein Weg, wenigstens die article.dtd in XMLMind aufrufen zu können.
  1. Erstellen Sie einen Ordner \plugins innerhalb des XMLMind-Verzeichnisses \addon\config\dita\schema\v1.2\
  2. Kopieren Sie die die doctypes-Verzeichnisse aus dem plugins-Verzeichnis Ihres DITA-OTs in das soeben erstellte plugins-Verzeichnis des XMLMind-Programms, so dass zwei neue Verzeichnisse entstehen:
    • ..\addon\config\dita\schema\v1.2\plugins\net.sourceforge.dita4publishers.doctypes
    • ..\addon\config\dita\schema\v1.2\plugins\net.sourceforge.dita4publishers.xmldomain.doctypes
  3. Öffnen Sie die Datei ..\XMLmind_XML_Editor\addon\config\dita\catalog.xml und fügen Sie für die Topic Domain article folgende Zeilen ein:
    <group xml:base="schema/v1.2/plugins/net.sourceforge.dita4publishers.doctypes/doctypes/article/dtd/">
    </group>
    
  4. Öffnen Sie die Datei catalog.xml im Verzeichnis ..\plugins\net.sourceforge.dita4publishers.doctypes\doctypes\article\dtd und kopieren Sie die 4 Einträge zwischen dem Catalog-Tag und fügen Sie diese zwischen den im Schritt 3 erstellten Tag group ein.
    <group xml:base="schema/v1.2/plugins/net.sourceforge.dita4publishers.doctypes/doctypes/article/dtd/">
    <public publicId="urn:pubid:dita4publishers.sourceforge.net:doctypes:dita:article" uri="article.dtd"/>
    <system systemId="urn:pubid:dita4publishers.sourceforge.net:doctypes:dita:article.dtd" uri="article.dtd"/>
    <public publicId="urn:pubid:dita4publishers.sourceforge.net:modules:article" uri="article.mod"/>
    <system systemId="urn:pubid::modules:article.mod" uri="article.mod"/>
    </group>
    
  5. Wiederholen Sie die Schritte 3 und 4 für alle Domains, die Sie nutzen möchten. Mindestens jedoch noch die für common.
  6. Öffnen Sie die Datei topic.xxe im XMLMind-Ordner addon\config\dita und fügen Sie einen Eintrag rootElementLocalName für article hinzu. Wiederholen Sie dies für weitere Domains.

    topic.xxe bearbeiten
    Abbildung 1. topic.xxe editieren
  7. Öffnen Sie die Datei topic.css im XMLMind-Verzeichnis \addon\config\dita\css und nehmen Sie ähnliche Änderungen vor wie hier angegeben.
    1. Um einen Zeilenumbruch bei Subsection und Sidebar zu erhalten, kompletterieren Sie den Eintrag display: block:
      example, section, subsection, sidebar
      {
          display: block;
          margin: 1.33ex 0;
      }
    2. Fügen Sie folgenden Eintrag ein, um die Titel bei Subsection und Sidebar zu vergrößern.
      subsection > title,
      sidebar > title
      { 
          font-size: 1.3em;
          margin: 1ex 0;
      }
    3. Komplettieren Sie folgenen Eintrag um die article-Notation, um die Schriftgröße des article-Titels einzustellen.
      /* glossentry has no title */
      glossgroup > title,
      concept > title,
      task > title,
      reference > title,
      article > title,
      topic > title { 
          font-size: 1.5em;
          margin: 0.83ex 0;
          border-width: 1px;
          border-style: solid;
          border-top-color: transparent;
          border-left-color: transparent;
          border-right-color: transparent;
      }
    4. Komplettieren Sie folgenden Eintrag um die article-Notation, um die Schriftfarbe des article-Titels einzustellen.
      body example > title,
      body section > title,
      article > title,
      topic > title
      {
          color: #6090B0;
      }