Synopsen für Klassen (classsynopsis)

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

Wenn Programmierer Klassen beschreiben, gehören dazu unter anderem Konstruktoren, Destruktoren und Methoden. Im folgenden Beispiel wird eine Klassensynopsis aus der QT-Bibliothek dargestellt. QT ist eine plattformübergreifende Bibliothek von der QT software GmbH (ehemals TrollTech). (Anmerkung: C++-Programmierer werden erkennen, dass die Klassendeklaration nicht zu 100% korrekt ist: Einige const-Ausdrücke hinter der Klammer unserer DocBook-Auszeichnung fehlen.)

Beispiel: Aufbau einer Klassenreferenz (objektorientierte Programmierung, classsynopsis.xml)

<classsynopsis language="cpp">
  <ooclass>
    <modifier>class</modifier>
    <classname>QDomElement</classname>
  </ooclass>
  <constructorsynopsis>
    <modifier>public:</modifier>
    <methodname>QDomElement</methodname>
    <void/>
  </constructorsynopsis>
  <destructorsynopsis>
    <methodname>QDomElement</methodname>
    <void/>
  </destructorsynopsis>
  <methodsynopsis> 
    <type>QString</type>
    <methodname>attribut</methodname>
    <methodparam>
       <modifier>const</modifier>
       <type>QString&</type> 
       <parameter>name</parameter>
    </methodparam>
    <methodparam choice="opt">
       <modifier>const</modifier>
       <type>QString&</type>
       <parameter>defValue</parameter>
       <initializer>QString::null</initializer>
    </methodparam>
  </methodsynopsis>
</classsynopsis>

Zeile 1: Das Element classsynopsis wird zur Beschreibung einer Klasse, eines Interface oder einer Exception benötigt. In unserem Fall wird es eine Klasse, daher ooclass. Im Attribut language des ersten Elements wird die Programmiersprache festgelegt (in diesem Fall C++).
Zeile 3: Das Element modifier gibt bestimmte Schlüsselwörter der Sprache C++ an. Im obigem Fall handelt es sich um eine Klasse (class).
Zeile 4: kennzeichnet den Klassennamen.
Zeile 6: Konstruktor der Klasse QDomElement; er ist öffentlich (deshalb der Inhalt public des Elements modifier).
Zeile 11: Destruktor der Klasse QDomElement.
Zeile 15: Methode mit zwei Parametern; der zweite Parameter ist optional, daher besitzt er das Attribut choice mit dem Wert opt.
Zeile 27: Ein Vorgabewert wird mit dem Element initializer ausgezeichnet. Er wird dem Parameter übergeben, wenn er beim Aufruf weggelassen wird.

Die DocBook-Stylesheets erzeugen daraus die folgende Ausgabe:

class QDomElement {

   public: QDomElement ();

   QDomElement ();

   QString attribut (const QString& name, const QString& defValue= QString::null);

}

DocBook möchte allgemein gültig bleiben, so dass möglichst jede Klasse (egal in welcher Programmiersprache) durch classsynopsis ausgezeichnet werden kann. Allerdings kann DocBook nicht jede Programmiersprache kennen, so dass hier möglicherweise Anpassungen im Stylesheet vorgenommen werden müssen.

  

<< zurück vor >>
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