`Register` 
Ausgabe von Datensätzen mit XML-Auszeichnung     acon 
[ab V24.4, April 2004]

Eine ausführlichere Dokumentation zu XML findet man in dem Text  `axml.htm`. 

xml 0/1/2/3 
Der aktuelle Datensatz wird in einer von vier XML-Varianten ausgegeben. 
Bedeutung der Ziffern: (Anstelle von ... kommt jeweils der Inhalt eines allegro-Datenfeldes heraus.)
(Jeweils "Test ..." klicken, um zu sehen, wie das dann aussieht) 

0 :   <label>...</label>
Hier ist label die Bezeichnung, die sich aus der CFG ergibt.  Wenn das Datenfeld eine Mehrfachkennung hat, wird zuerst die Abfrageliste von oben nach unten nach der Kategorienummer durchsucht. Wird dort nichts gefunden, oder steht ein Spatium hinter der Kategorienummer, wird die Deskriptorenliste durchsucht (die mit # beginnenden Zeilen).  `Test Modus 0` 

1 :   <feld nr="knum">...</feld>

      knum ist die Kategorienummer. `Test Modus 1` 

2 :   <feld lb="label">...</feld>

      Wie 1, aber statt der Kategorienummer wird im Attribut  lb  das Label angegeben. `Test Modus 2` 

3 :   <feld nr="knum" lb="label">...</feld>

      Kombination aus 1 und 2.  `Test Modus 3`

Hinweise:
Auf Wunsch kann man sogar die `gesamte Datenbank als XML-Datei` ausgeben. 

Die Daten kommen in der Reihenfolge heraus, wie die Kategorien in der CFG definiert sind. Die Labels ergeben sich aus den Abfragezeilen der CFG bzw. aus den Deskriptorzeilen, s.o. Durch Vorbereitung einer geeigneten CFG kann man also die Reihenfolge der Ausgabe und die Labels beeinflussen. Für die XML-Ausgabe kann man sich also eine eigene CFG machen, oder mehrere. 
Das Nichtsortierzeichen wird so behandelt: die zwischen ¬...¬ eingeschlossene Zeichenfolge wird mit <ns>...</ns> umgeben, wobei Leer- und Sonderzeichen, die dem zweiten ¬ folgen, mit einbezogen werden. 

Sonderfall: Hierarchische Sätze. Die Untersätze werden jeweils eingeschlossen in  <subrec level="i">...</subrec>, wobei i die Hierarchiestufe ist (1 für #01 , 2 für #02 usw.) 

Die Ausgabe erfolgt immer in die momentane Ausgabedatei mit den momentanen Parametern. Sinnvoll sind nur die Parameter  p-xml.apr, die man für jede Konfiguration verwenden kann. Sie gelten für alle vier Modalitäten. Das Wesentliche darin ist die Umwandlung nach Unicode.

Beispiel 1:
Man hat intern ASCII-Codes. Dann muß zuerst die Akzentvertauschung mit exp a durchgeführt werden! 

export p p-xml 
exp a 
exp wX 
xml 2 

Beispiel 2:
Man will sich das Ergebnis nur mal im Anzeigefeld anschauen. Dann reicht folgendes, manuell im Schreibfeld eingegeben: 

x open x nul\xml 3\ansi\sho IV\close x 

Mit "open x nul" und "close x" wird verhindert, daß eine Ausgabe in die aktuelle Exportdatei erfolgt. Solche FLEXe stecken hinter den Test-Flips, die man oben sieht.

?Register=h xa 
?axml.htm=x jan axml.htm 
?Test Modus 0=x open x nul`xml`ansi`sho IV`close x 
?Test Modus 1=x open x nul`xml 1`ansi`sho IV`close x 
?Test Modus 2=x open x nul`xml 2`ansi`sho IV`close x 
?Test Modus 3=x open x nul`xml 3`ansi`sho IV`close x 
?gesamte Datenbank als XML-Datei=x #uxGy`exec xmlexp