Das AAA-Katalogtool ist ein Rose-Skript zur Ableitung der Objektartenkataloge aus dem AAA-Anwendungsschema.
Die Datei AAA-Katalogtool.ebs ist ein Rose Script, getestet unter Rational Rose 2000e. Das Skript exportiert ausgewählte Teile des UML Anwendungsschemas in eine XML-Datei.
aaa-html.xsl ist ein XSLT-Skript zur Wandlung der XML-Datei in eine HTML-Datei, die von Web Browsern verarbeitet werden kann. aaa-rtf.xsl ist das entsprechende XSLT-Skript zur Wandlung der XML-Datei in eine RTF-Datei, die von Microsoft Word verarbeitet werden kann (getestet mit Word 2000). aaa-xml.xsl ist ein weiteres XSLT-Skript zur Wandlung der XML-Datei in eine XML-Datei nach dem XML Schema AAA-Katalog.xsd gemäß der AC-Klassen des AAA-Basisschemas.
aaa-nart.xsl ist ein XSLT-Skript zur Wandlung der XML-Datei in ein Nutzungsartenverzeichnis als PDF-Datei. Diese Option ist nur in Verbindung mit der Modellart DLKM und dem AFIS-ALKIS-ATKIS-Fachschema als Anwendungsschema sinnvoll. Das XSLT-Skript greift auf eine Datei logo.bmp zu, die im selben Verzeichnis wie das zu erzeugende Nutzungsartenverzeichnis liegen muss. Ein Beispiel für eine solche Datei (Logo der AdV) ist beigefügt.
aaa-html-uebersicht.xsl ist ein XSLT-Skript zur Wandlung der XML-Datei in eine HTML-Übersichtsdatei, die die definirten Elemente im Katalog tabellarisch auflistet. aaa-html-modellartenvergleich.xsl erzeugt eine HTML-Datei, die einen tabellarischen Vergleich der Bestandteile verschiedener Modellarten im Katalog darstellt. aaa-html-profilvergleich.xsl bzw. aaa-csv-profilvergleich.xsl erzeugt eine HTML- bzw. CSV-Datei, die einen tabellarischen Vergleich der Bestandteile verschiedener Profile im Katalog darstellt.
aaa-csv-Verz0.xsl, aaa-csv-Verz1.xsl, aaa-csv-Verz2.xsl, aaa-csv-Verz3.xsl und aaa-csv-Verz4.xsl erzeugen verschiedene Ausgaben ausgewälter Informationen als CSV-Dateien (i.d.R. in Anlehnung an bestehende Indexe).
AAA-Katalogtool.html und dialog.jpg sind diese Dateien.
Neben diesen Dateien sind weitere Programme erforderlich, um die Objektartenkataloge zu erstellen:
Rational Rose muss mit dem AAA-Anwendungsschema und/oder einem Fachinformationssystem-Anwendungsschema geöffnet sein.
Bei der Aufbereitung des Modells greift das Skript auf die folgenden Tagged Values in dem Paket des Anwendunsgschemas zu:
Im Menü unter Tools den Eintrag Open Script... auswählen und AAA-Katalogtool.ebs öffnen. Das Skript z.B. mit "F5" starten. Es erscheint der folgende Dialog:
In der oberen Auswahlliste werden die UML-Packages alphabetisch sortiert angeboten, die mit dem Stereotype <<Application Schema>> markiert sind. Hier ist das zu exportierende Anwendungsschema auszuwählen. Beim Export werden auch die darin enthaltenen Packages exportiert.
In den ISO 19100-Normen werden verschiedene Namensräume durch zweibuchstabige Präfixe gekennzeichnet. Diese Vorgehensweise wurde von der AdV übernommen. Es werden beim Export nur UML-Klassen berücksichtigt, deren Präfix im zweiten Eingabefeld enthalten ist (zwei Buchstaben plus Unterstrich). Ein "*" in der Zeile sorgt dafür, dass alle Klassen berücksichtigt werden.
Im dritten Eingabefeld werden die unterstützten Ausgabeformate und Katalogvarianten (siehe oben) angeboten. Standard ist HTML.
Über eine Auswahlbox kann festgelegt werden, ob Eigenschaften aus Oberklassen auch in abgeleiteten Klassen explizit aufgeführt werden sollen. Dabei werden nur Oberklassen berücksichtigt, deren Präfix in der obigen Liste enthalten ist. Diese Option ist standardmäßig eingeschaltet.
Über eine weitere Auswahlbox kann festgelegt werden, ob UML-Klassen ohne Stereotype vom Export ausgeschlossen werden sollen. Dies betrifft vor allem abstrakte Oberklassen, die fachlich nicht als eigenständige Objektarten wahrgenommen werden, sodass nur explizit mit Stereotypen wie <<Feature>> und <<DataType>> ausgezeichnete Klassen exportiert werden. Diese Option ist standardmäßig eingeschaltet.
Ein dritte Auswahlbox legt fest, ob auch UML Klassendiagramme exportiert werden sollen. Dabei werden für eine Objektart ein Diagramm exportiert, wenn innerhalb desselben Packages ein Klassendiagramm mit identischem Namen vorhanden ist. Analoges gilt für Objektartengruppen.
Die vierte Auswahlbox kann beim Katalogexport aus UML-Modellen der ISO 19100er Serie verwendet werden, um die Kataloginhalte auf die für ALKIS relevanten Inhalte einzuschränken (zurzeit nur ausgewählte Metadaten).
Rational Rose kann Diagramme nur im Windows-Meta-File-Format (WMF) exportieren, diese können aber standardmäßig nicht von Web Browsern dargestellt werden. Sofern ausgewählt wurde, dass Diagramme exportiert werden sollen und ist das Ausgabeformat "HTML", dann müssen die WMF-Dateien in JPEG-Dateien konvertiert werden. Hierzu sind verschiedenste Programme verfügbar. In dem Textfeld muss die Programmbefehlszeile für die Konvertierung einer Datei angegeben werden - ohne die beiden Dateinamen für Ein- und Ausgabedatei. Diese werden vom Skript automatisch ergänzt.
Die zu berücksichtigenden Elemente des Modells können auf eine oder mehrere AFIS-ALKIS-ATKIS-Modellarten sowie eine benutzerspezifische Modellart (z.B. eines Fachinformationssystems) eingeschränkt werden. Mindestens eine Modellart muss bei der Katalogerzeugung angegeben werden. Durch die Markierung der entsprechenden Auswahlbox kann die Katalogerzeugung darüber hinaus auf den Grunddatenbestand der jeweiligen Modellarten eingeschränkt werden.
Zusätzlich zur Beschränkung der Modellarten kann die Katalogerzeugung auch auf ein oder mehrere Profile (erzeugt mit dem AAA-Profiltool) eingeschränkt werden.
Mit der Schaltfläche "OK" beginnt der zweistufige Export (1. Stufe: Export nach XML, 2. Stufe: Wandlung in Ausgabeformat über XSLT). Dabei ist über den üblichen Dialog die XML-Ausgabedatei festzulegen, der Dateiname der fertigen Ausgabedatei wird daraus abgeleitet (z.B. "ausgabe.xml" wird zu "ausgabe.xml.html"). Je nach Umfang des Anwendungsschemas und Ausstattung des PCs kann die Ausführungszeit zwischen wenigen Sekunden und einigen Minuten dauern. Sofern die Ausgabedatei nicht ordnungsgemäß erzeugt wird, so tritt der Fehler wahrscheinlich während der Anwendung des XSLT-Skripts auf; in diesem Fall ist der XSLT-Prozessor von der Befehlszeile zu starten, um genauere Informationen über den Fehler zu erhalten.
Mit der Schaltfläche "Cancel" wird die Ausführung des Skripts abgebrochen.
Der XSLT-Prozessor wird zur Vereinfachung des Ablaufs aus dem Skript gerufen, läuft aber völlig unabhängig von diesem. Das bedeutet leider auch, dass Fehler, die in der Ausführung des XSLT-Prozessors auftreten, nicht an den Anwender gemeldet werden. Ein häufiger Grund dafür sind z.B. nicht erlaubte Zeichen in dem XML-Dokument, das aus Rose heraus erzeugt wurde. Zur Analyse der Fehlersituation muss der XSLT-Prozessor manuell angestossen und der dabei gemeldete Fehler nachvollzogen werden, z.B. in der "DOS-Box". Bei XT geschieht dies z.B. durch
C:\alkis_fc>xt alkis.xml aaa-html.xsl alkis.htmlGegebenfalls müssen die Dateiangaben durch das Verzeichnis qualifiziert werden, sofern sich nicht alle Dateien im aktuellen Verzeichnis befinden.
Die Ansteuerung des XSLT-Prozessors erfolgt über die Befehlszeile gemäß der Skriptkonstanten XSLTCmdMuster. Für die Ansteuerung durch XT und Xalan sind im Skript vorgefertigte Muster enthalten.
Analoges gilt für die XSL-FO-Verarbeitung. Die Ansteuerung des XSL-FO-Prozessors erfolgt über die Befehlszeile gemäß der Skriptkonstanten XSLCmdMuster. Für die Ansteuerung durch FOP ist im Skript ein vorgefertigtes Muster enthalten.
Unterschiede im Layout zwischen den verschiedenen Repräsentierungen ergeben sich aus den leicht verschiedenen Inhalten, vor allem aber auch aus den unterschiedlichen Möglichkeiten der Darstellung. So ist die HTML-Ausgabe nicht seitenorientiert und verwendet Hyperlinks.
Das zugrundegelegte XML Schema der "XML-Zwischendatei" ist an den Vorgaben der ISO-19110-Entwürfe und den zusätzlichen Katalogeigenschaften der GeoInfoDok angelehnt.