PDM AB

Beschreibung der gemeinsamen Eigenschaften aller _PDM_AB plug ins für PDM.

Die Daten für Methoden und Procduren werden aus Kommentaren in den entsprechenden Methoden oder Prozeduren gewonnen.
Alternativ dazu kann eine Quelldatei angegeben werden. Beschreibungen für Eigenschaften,Objkete, Klassen und Dateien werden auch aus der Quelldatei gewonnen. Siehe Beschreibung.

Verwendbare Stile

Dieser plug in gestattet die Benutzung des "tag" Stieles für die Dokumentation von Methoden und Proceduren. Der ursprüngliche "Prefix" Stiel bleibt erhalten. Beide Stiele können gemischt werden. Es gibt jedoch die Möglichkeit, den Prefix Stiel komplett zu sperren.

Verwendbare Zeichen

Diese plug in übersetzt nicht HTML konforme Zeichen in ihre Entsprechung. Es können eigene Übersetzungen angelegt werden.
Dazu wird eine externe Datei bereitgestellt. Diese Datei ist eine CSV Datei mit folgendem Format:

"Zeichen","HTML"

Beispiel:

"©","©"
"ü","ü"

Bitte beachten, daß die Zeichen & und " nicht aufgenommen werden, diese werden gesondert behandelt.

Dateien

In den plug werden verschiedene Quelldateien genutzt (Einstellungen, Seite "Dateien"). Die Pfade zu diesen Dateien können absolut oder relativ sein. Relative Pfade werden in folgender Reihenfolge aufgelöst:

  1. Relativ zum Defaultpfad des PDM - Projektes, wenn existent.
  2. Relativ zum Speicherort der PDM - Projektdatei
  3. Relativ zum Speicherort des Plug ins
  4. Spezielle Speicherorte für Vorgabe - Werte

Einschränkungen

Kommentare im "tag" Stiel

HTML Kommentare <!-- --> oder <!comment> <!/comment> die Abschnitte umschließen, sperren diese Abschnitte.
HTML Kommentare <!comment> <!/comment> innerhalb Abschnitte werden je nach XHTML Einstellung dargestellt oder wirken als Kommentar.
Der HTML Kommentar <!-- --> wird innerhalb der Abschnitte in darstellbare Zeichen gewandelt.

Kommentare im "prefix" Stiel

Es ist nicht empfehlenswert, Kommentare im "Prefix" Stiel zu verwenden, dies kann zu unvorhersebaren Efekten führen.

Es wird nicht empfohlen, Zeilen mit Prefix innerhalb von tags oder umgekehrt zu nutzen. Dies kann zu unerwarteten Ergebnissen führen.

Verwendete tags:

Die folgenden Elemente werden für die Benutzung definiert. Sie können im Einstellungsformulardes plug ins geändert werden. Der "tag" ist derselbe Text wie der Prefix. Der "tag" unterscheidet nicht zwischen Groß- und Kleinschreibung.
Element Standard Bemerkung
Dokumentation <pdm>
</pdm>
Dies ist nicht Teil des plug ins. Dies wir in Methoden und Prozeduren genutzt, um Abschnitte für die Nutzung in PDM plug-ins zu markieren. Daten in der Quelldatei benötigen dies nicht!
Diese ist die "Hülle" für alle anderen Abschnitte.
In der Prefixversion beginnt mit der Abschnitt mit "<pdm>" und endet mit "</pdm>".
Es existiert keine tag Version.
Beschreibung descr Kurze Beschreibung, nutzt die CSS Klasse "*_AB_PDM_Descr"
Bemerkungen remarks Erweiterte Bemerkungen.
Der Text wird in der "*PDM_AB_Body" CSS Klasse innerhalb der "*PDM_AB_Remarks" CSS Klasse angezeigt.
Änderungen change Änderungsverfolgung.
tag Syntax: <change [date="date"]>Text</change>
Attribute des tag (alle optional):
Attribute Beschreibung
date Ein Datums oder Zeitwert in der Form einer (strikten) VFP Datums - Zeit - Konstanten.
Der Wert wird in der "Change_Time" CSS Klasse angezeigt.
Benötigt VFP 6.0 oder höher
Die Änderungen werden in folgender Reihenfolge dargestellt:
  • Bemerkungen ohne date Attribut in der Reihenfolge ihres Auftreten
  • Bemerkungen mit date Attribut in der Reihenfolge des Datumswerte
Der Text wird in der "*PDM_AB_Body" CSS Klasse innerhalb der "*PDM_AB_Changes" CSS Klasse angezeigt.

Die Verwendung wird über eine Option des plug in gesteuert. Die Anzeige der Änderung kann als Besonderheit Änderungen aus dem Quellcode anzeigen, auch wenn die anderen Informationen aus der Quelltabelle gewonnen werden.
Beispiel example Formatierbares Beispiel für die Prozedur / Methode.
Der Text wird in der "*PDM_AB_Body" CSS Klasse innerhalb der "*PDM_AB_Example" CSS Klasse angezeigt.
Siehe auch seealso Formatierbare Liste von Verweisen für auf Prozeduren / Methoden / Klassen oder Dateien.
Syntax: <seealso><see ...>Text</see><see ...>Text</see>...</seealso>
Der Text wird in der "*PDM_AB_Body" CSS Klasse innerhalb der "*PDM_AB_SeeAlso" CSS Klasse angezeigt.
Es wird ein Link je Siehe tag angezeigt. Jeder Siehe auch tag erzeugt einen neuen Block.
Aller anderer Inhalt im Siehe auch tag wird ignoriert.
Warenzeichen copyright Formatierbares Warenzeichen.
Der Text wird in der "*PDM_AB_Body" CSS Klasse innerhalb der "*PDM_AB_CopyRight" CSS Klasse angezeigt.
Fußbereich footer Ein am Ende des Abschnittes einzufügender Abschnitt.
Der Text wird in der "*PDM_AB_Body" CSS Klasse innerhalb der "*PDM_AB_Footer" CSS Klasse angezeigt.
Nutzung der Links appliesto Erzeugt automatisch eine Liste der seealso oder see tags welche auf diese Methode zeigen. In der "prefix" Version nicht verfügbar:
tag Syntax:
<appliestotoref="n" toalso="n" />
Attribute des tag:
Attribute Beschreibung
toref Wert = 1 Links werden automatisch zur Rückrefernez zugefügt.
Wert = 2 Links werden nicht zur Rückrefernez zugefügt.
Dies wird auch durch das Tag Siehe und die Einstellung "Nach Rückrefernz" beeinflußt
Noch nicht implementiert
toalso Wert = 1 Links werden automatisch zu Siehe auch zugefügt.
Wert = 2 Links werden nicht zu Siehe auch zugefügt.
Dies wird auch durch das Tag Siehe und die Einstellung "Nach Siehe auch" beeinflußt
Wird dieser tag oder eines seiner Attribute nicht angegeben, werden die Werte der Voreinstellung genutzt.
Es wird das erste tag ausgewertet.
Link pdmlink Zeigt an, das ein anderer Record in der Quelltabelle genutzt wird. Dies ist bei sich wiederholenden Methoden sinnvoll.
In der "prefix" Version nicht verfügbar:
tag Syntax:
<pdmlink [loca="Word"] [class="Word"] [pem="Word"] [incl="n"] [excl="off"]/>
Attribute des tag (alle optional):
Attribut Beschreibung
loca Wert der Spalte ClassLoc in der Quelltabelle
class Wert der Spalte Class in der Quelltabelle
pem Wert der Spalte Member in der Quelltabelle
incl Der aktuelle Quelltext soll einbezogen werden.
Standard
Der aktuelle Quelltext wird nicht eingefügt.
Wert=1
Der aktuelle Quelltext wird nach dem Link eingefügt>
Wert=2
Der aktuelle Quelltext wird vor dem Link eingefügt
excl
Wert=off
Alle "tieferen" verketteten Links, die nicht das endgültige Ziel sind, werden nicht eingefügt.
Bitte beachten, daß Links verkettet werden können. Es gibt im Moment keine Zyklusüberprüfung.
Um Links zu nutzen, muß eine Quelldatei angegeben sein.
Nicht angegebene Attribute werden mit den Werten des aktuell bearbeiteten "Objektes" belegt. Angegebene aber leere Attribute werden nicht ersetzt. Es muß jedoch mindestens ein Parameter angegeben werden.
Beispiel:
Link für die Methode Init der Klasse myForm in der Bibliothek sample.vcx: <pdmlinkclass="OtherForm" />
Es wird also in der Bibliothek sample.vcx die Methode Init der Klasse OtherForm genutzt.

Die Elemente unterhalb dieser Zeile können in den Elementen oberhalb dieser Zeile genutzt werden.
 
Code code Dieser tag enthält einen Textblock der als VFP Quellcode angezeigt wird.
Achtung, dieser Text kommt in <pre> tags. Alle führenden Leerzeichen und Tabs werden angezeigt!
Ausdruck expr Dieser tag enthält Text der ohne Umbruch als VFP Quellcode angezeigt wird.
Unformatiert plain Dieser tag enthält einen Textblock 1:1 dargestellt wird.
Alle Nicht-HTML-Zeichen werden übersetzt, Zeilenumbrüche beibehalten.
xhtml xhtml Dieser tag enthält einen Textblock der frei HTML formatiert werden kann.
Dieser tag wird ignoriert, wenn die "Nur-XHTML" Option des plug ins aktiviert ist.
Siehe see Dieser tag enthält einen eingebetteten Verweis auf eine anderes Quellcodeelement.
<see [loca="Word"] [class="Word"] [pem="Word"] [toref="n" [toalso="n"]>[Text]</see>
Attribute des tag (alle optional):
Attribut Beschreibung
loca Ziel Datei eines Links.
Ist dieses Attribut leer, so wird die aktuelle Datei angenommen
class Ziel Klasse/Objekt des Links in der Form cKlasse[.Objekt]n.
Ist dieses Attribut leer, und ist das PEM nicht leer, so wird das aktuelle Objekt / Klasse angenommen.
Ist dieses Attribut leer, und ist das PEM leer, so zeigt der Verweis auf die Datei. Spezielle Syntax für den Wert:
.*
Ein Objekt des aktuellen Containers.
@
Der Parent Container. (@.@ ist der Parent des Parents)
@.*
Ein Objekt des Parents
@@
Das Formular (oder der oberste Container der Klasse)
@@.*
Ein Objekt des Formulars (oder der oberste Container der Klasse
pem Ziel PEM des Links.
Ist dieses Attribut leer, und ist die Klasse nicht leer, so zeigt der Verweis auf das Objekt / Klasse.
Ist dieses Attribut leer, und ist das Klasse leer, so zeigt der Verweis auf die Datei
toref Wert = 1 der Link wird automatisch zur Rückrefernez zugefügt.
Wert = 2 der Link wird nicht zur Rückrefernez zugefügt.
Dies wird auch durch das Tag Nutzung der Línks und die Einstellung "Nach Rückrefernez" beeinflußt
Ist dieses Attribut nicht angegeben, so werden die gegebenen Standards beachtet.
Noch nicht implementiert.
toalso Wert = 1 der Link wird automatisch zu Siehe auch zugefügt.
Wert = 2 der Link wird nicht zu Siehe auch zugefügt.
Dies wird auch durch das Tag Nutzung der Línks und die Einstellung "Nach Siehe auch" beeinflußt
Ist dieses Attribut nicht angegeben, so werden die gegebenen Standards beachtet.
Dieses Attribut wird ignoriert, steht der tag innerhalb Siehe auch
Ist kein Text angegeben, wird er in folgender Reihenfolge aus den Attributen generiert:
  1. Der Text des tag existier;
    Rückgabe ist in der Form <a href="target">Text<a>.
  2. Attribute loca, class und pem existieren;
    Rückgabe ist in der Form <a href="target">Datei: Klasse.PEM<a>.
  3. Attribute class und pem existieren;
    Rückgabe ist in der Form <a href="target">Klasse.PEM<a>.
  4. Attribut pem existiert;
    Rückgabe ist in der Form <a href="target">PEM<a>.
  5. Attribute loca und class existieren;
    Rückgabe ist in der Form <a href="target">Datei: Klasse<a>.
  6. Attribut class existiert;
    Rückgabe ist in der Form <a href="target">Klasse<a>.
  7. Attribut loca existiert;
    Rückgabe ist in der Form <a href="target">Datei<a>.
  8. Es wird ein Fehler generiert.
Es existiert auch eine alte Syntax <see>[Datei]:[Klasse[.Objekt]n]:[Methode|Eigenschaft] Text</see>
Diese Syntax wird nicht unterstützt, wenndie XHTML Option des plug ins aktiviert ist.
Notiz note Erzeugt einen Block "Notiz". Dieser Block kann ein einleitendes Bild und spezielle Formatierung erhalten. Die Blöcke können frei über eine CSV Datei definiert werden.
tag Syntax:
<note [id="cc"] [title="text"]>Text</note>
Attribute des tag (alle optional):
Attribut Beschreibung
id ID eines Notiz - Blockes. Ist keine Wert angegeben wird eine Standarnotiz angezeigt, ist der Wert nicht definiert, ein Fehler.
Vordefinierte Werte sind:
E Achtung
I Information
Q Frage
S Stop
title Der "Tooltiptext" des Bildes. Wird das Attribut nicht angegeben, dann wird der Text aus der Definitionsdatei genutzt.
Die Blöcke werden über eine externe Datei definiert.
Dazu wird eine externe Datei bereitgestellt. Diese Datei ist ein CSV Datei mit folgendem Format:

"ID","CSS Class","Picture","Title of picture"

Beispiel:

"E","_PDM_AB_nExclamation","_diamp\res\excla.gif",""
"I","_PDM_AB_nInformation","_diamp\res\info.gif","Dies ist eine Information"

Die Bilder sind relativ zum Speicherort des Plug ins
Automatisches Datum autodate Dieser tag wird durch das Datum des Zeitstempels tTimeStamp der Quelldatei oder wenn kein Datensatz existiert, das Feld nicht existiert oder das Feld leer, ist mit dem aktuellen Datum ersetzt. <autodate [actual="1"] />
Attribute des tag:
Attribut Beschreibung
actual Ist der Wert = 1, wird das Systemdatum verwendet.
Selbstreferenz self Dieser tag fügt eine Beschreibung des momentan beschriebenen Items ein. <self [list="n"] />
Attribute des tag:
Attribut Beschreibung
list
20
Schließe, wenn nicht leer, PEM ein
21
Schließe, wenn nicht leer, den Klassen- / Objektnamen ein.
22
Schließe, wenn nicht leer, den Dateinamen ein.
Die Werte sind additiv
Ist kein Wert angegeben, wird nur die höchstmögliche Information angezeigt
PEM > Klasse > Datei
Form: Datei:: Klasse[.Objekt]n.PEM

Aller anderer Text welcher nicht Teile einer Zeile mit Prefix ist oder sich nicht innerhalb eines Tages befindet, wird am Ende der Prozedur mit der CSS Klasse "PDM_AB_Other" dargestellt.


Beispiel

Beispiel "Prefix" Stiel:

*!* <pdm>
*!* DESCR This function emulates VFP <expr>STREXTRACT</expr> for versions below VFP 7.0
*!* DESCR The function will be disabled in Version 7 and beyond using #IF
*!* Example <code>
*!* Example TEXT lcText NOSHOW
*!* Example <short>Specify the type of controls <i>placed<i> on the search.</short>
*!* Example ENDTEXT
*!* Example lcExmaple = STREXTRACT(lcText,"<i>","</i>") &&returns placed
*!* Example </code>
*!* PARAMS tcSearchExpression ByVal IN Character Specifies the string to search.
*!* </pdm>

Beispiel "tag" Stiel:

*!* <pdm>
*!* <descr>
*!* This function emulates VFP <expr>STREXTRACT</expr> for versions below VFP 7.0
*!* The function will be disabled in Version 7 and beyond using #IF
*!* </descr>
*!* <example><code>
*!* TEXT lcText NOSHOW
*!* <short>Specify the type of controls <i>placed<i> on the search.</short>
*!* ENDTEXT
*!* lcExmaple = STREXTRACT(lcText,"<i>","</i>") &&returns placed
*!* </code>
*!* </example>
*!* <params name="tcSearchExpression" direction="IN" type="Character">
*!* <short>Specifies the string to search.</short>
*!* </params>
*!* </pdm>

Beispiel gemischter Stiel:

*!* <pdm>
*!* <descr>
*!* This function emulates VFP <expr>STREXTRACT</expr> for versions below VFP 7.0</descr>
*!* DESCR The function will be disabled in Version 7 and beyond using #IF
*!* <example><code>
*!* TEXT lcText NOSHOW
*!* <short>Specify the type of controls <i>placed<i> on the search.</short>
*!* ENDTEXT
*!* lcExmaple = STREXTRACT(lcText,"<i>","</i>") &&returns placed
*!* </code></example>
*!* PARAMS tcSearchExpression ByVal IN Character Specifies the string to search.
*!* </pdm>

©2004 Agnes die Beste