Fachbücher

 
  Programm
Appetithappen
Bestellung

 

doculine Archiv

  Übersicht
Index
Autoren
Streifzüge

 
 

Service

 
  transline tecNews
Suche
Impressum
 

Aktuelle Artikel und Nachrichten rund um die technische Dokumentation finden Sie im Nachfolgemagazin der doculine news, den transline tecNews

XML-Fallbeispiel:
Anwendung von XSLT für AECMA Spec 1000D

 

Artikel erschienen in
Ausgabe Mai 2001

Von Robert Schnurer und Johannes Gruber

Inhaltsübersicht:


Die AECMA Spec 1000D, ein SGML-basierender Dokumentationsstandard, bildet schon seit Jahren die Dokumentationsbasis in nahezu allen größeren militärischen Projekten.

Seit sich XML als neuer Standard im Web-Umfeld etabliert, fordern auch die Anwender von interaktiver elektronischer technischer Dokumentation (IETD) gemäß AECMA Spec 1000D verstärkt die Nutzung von Standard-Internetbrowsern bzw. XML-Browsern als Viewing-Software. In der AECMA Spec 1000D werden hierzu bereits die bestehenden IETD-Konzepte auf XML-orientierte Web-Konzepte abgebildet.

Da zur Zeit noch keine "Commercial off the Shelf"-Browser XML gemäß W3C-Standards in vollem Umfang unterstützen, wird in diesem Beitrag beispielhaft ein Weg aufgezeigt, wie SGML-basierte Dokumentation unter Nutzung von XSLT mit Standard-Internetbrowsern (z.B. Internet Explorer 5.x) auf der Basis von HTML zur Anzeige gebracht werden kann. Diese Methodik ist zudem offen hinsichtlich den Entwicklungen der Standard-Browser in Richtung voller XML-Fähigkeit.


XML in Kurzform

Die Auszeichnungssprache XML (Extensible Markup Language), die im November 1996 als neuer Standard im Web-Umfeld vorgestellt wurde, bietet praktisch keinerlei technologische oder konzeptionelle Neuheiten, sondern ist lediglich ein Abkömmling der SGML-Sprache und zielgerichtet für den Gebrauch in verteilten Umgebungen vereinfacht worden. Die XML-Sprache sollte weder die Einschränkungen von HTML noch die Komplexität von SGML haben. Beim World Wide Web Consortium (W3C), einer Standardisierungsorganisation für das Web, wurde daher eine Arbeitsgruppe eingerichtet, die sich als Aufgabe vornahm, eine vereinfachte Variante von SGML zu schaffen. Die Lösung war eine echte Untermenge von SGML, welche die selten genutzten Konstrukte von SGML nicht beinhaltet, aber gleichzeitig flexibel genug ist, um den unterschiedlichsten Anforderungen des Webs (wie z.B. Heterogenität und Erweiterbarkeit) gerecht zu werden.

Da XML wie auch SGML auf dem Konzept der Trennung des Informationsgehalts eines Dokuments von seiner Präsentation basieren, wobei mit Hilfe von frei wählbaren Markierungen (Markups) Struktur und Daten von Dokumenten beschrieben werden können, müssen zur Darstellung von XML-Dokumenten so genannte Stylesheets herangezogen werden. Die hierfür verwendete Extensible Style Language (XSL) ist inzwischen in zwei Bestandteile aufgespalten: einen zum Transformieren von XML-Dokumenten (XSLT) und den eigentlich formatierenden Teil von XSL, dessen Eigenschaften vergleichbar mit den Cascading Stylesheets (CSS) sind, jedoch weit darüber hinausgehen. Zum Einrichten von Links, die gegenüber HTML und SGML erweiterte Möglichkeiten bieten, entsteht der Xlink- und Xpointer-Standard. Somit versteht man unter XML nicht eine einzelne Technologie, sondern ein Bündel verschiedener verwandter Technologien.

Zur Zeit unterstützen noch keine "Commercial off the Shelf"-Browser (wie z.B. Microsoft Internet Explorer oder Netscape Navigator) in vollem Umfang die XML-Sprachfamilie gemäß W3C-Standard. Dies liegt aber auch darin begründet, dass sie sich zum Teil noch im W3C Working Draft befinden bzw. noch Änderungen unterliegen.


Die AECMA Spec 1000D

Im Laufe der Zeit haben sich international standardisierte Dokumentstrukturen gebildet, u.a. um durch die gegebene Offenheit von SGML einem Wildwuchs an unterschiedlichen SGML-Anwendungen entgegenzuwirken. Die AECMA Spec 1000D wurde von der AECMA (European Association of Aerospace Industries), einer Vereinigung der europäischen Luft- und Raumfahrtunternehmen, als SGML-basierender Dokumentationsstandard entwickelt, um für alle Programme im militärischen Luftfahrtbereich zur Anwendung kommen zu können. Auf der Basis der AECMA Spec 1000D werden in der Bundesrepublik Deutschland und im europäischen Raum für militärische Luftfahrzeuge in zunehmendem Maße Verträge geschlossen, um die Erstellung, Verwaltung und Nutzung von elektronischer technischer Dokumentation zu standardisieren. Große europäische Rüstungsprojekte (z.B. Eurofighter, NH90, Tiger) arbeiten bereits auf den Grundstandards der AECMA Spec 1000D. Diese Spezifikation wird ständig weiterentwickelt, um dem rasanten Fortschritt der IT-Branche Rechnung zu tragen und um weitere Anwendungsgebiete abzudecken.

Die AECMA Spec 1000D ist einer der elementaren Standards der europäischen CALS-Strategie und ist derzeit für rund 120 Projekte vertraglich vereinbart. Sie definiert den aufgabenbezogenen und am Geräteaufbruch orientierten modularen Aufbau der technischen Dokumentation, originär von Flugzeugen. Zunehmend kommt sie jedoch auch bei anderem Wehrmaterial zwingend zum Einsatz.

Die Spezifikation beschreibt unter Nutzung von internationalen Standards wie SGML und CGM die elektronische technische Dokumentation auf der Basis von Datenmodulen (DM). Diese Datenmodule sind die kleinsten Bausteine der technischen Dokumentation und werden durch den Datenmodulcode (DMC) identifiziert, welcher unter anderem den Geräteaufbruch und die Art des Informationsinhalts beinhaltet.

Sie setzen sich zusammen aus:

  • einem Identifikationsteil (DMC, Version etc.)
  • einem Statusteil (verantwortlicher Auftragnehmer, Anwendbarkeit etc.) und
  • dem Inhaltsteil

Der Inhaltsteil enthält SGML-Text und SGML-Referenzen auf assoziierte, nicht strukturierte Inhalte (ASCII-Text, Raster- und Vektorgrafiken etc.). Die mit SGML strukturierten Textdaten und die unstrukturierten Daten werden als logische Einheit, als ein Datenmodul betrachtet. Die AECMA Spec 1000D beschreibt darüber hinaus die Speicherung und Verwaltung von Datenmodulen in einer Common Source Data Base (CSDB). Über die CSDB werden dann die Publikationen direkt an den Anwender für die Nutzung in elektronischen logistischen Infromationssystemen weitergeleitet und für das jeweilige Ausgabemedium (Papier, Browser) aufbereitet.


Der IETD-Prozess SGML -> XML -> HTML

Im Folgenden wird beispielhaft ein Weg aufgezeigt, um SGML-basierte interaktive elektronische technische Dokumentation (IETD) nach AECMA Spec 1000D unter Nutzung von XSLT mit Standard-Internetbrowsern (z.B. Internet Explorer 5.x) auf der Basis von HTML zur Anzeige zu bringen. Dieser Ansatz ist zudem offen hinsichtlich den Entwicklungen der Standard-Browser in Richtung voller XML-Fähigkeit.

Abbildung 1
Der IETD-Prozess SGML -> XML -> HTML

Nachdem die SGML-Informationseinheiten (Datenmodule) durch technische Redakteure erstellt worden sind, werden sie vor der Nutzung im Anwendungssystem (Internetbrowser) in einem Batchbetrieb (z.B. unter Verwendung des Parsers SX von James Clark) in XML konvertiert. Die erzeugten XML-Datenmodule bilden dann in Form einer IETD-Datenbank die Datenbasis für das Retrieval in der Nutzungsphase.

Dieser Vorgang ist bei mit AECMA Spec 1000D konformen Dokumenten nicht sehr aufwendig, da die SGML-Instanzen nahezu XML-konform sind. Aus diesem Grunde soll im Weiteren auf diese Transformation nicht näher eingegangen werden.

Die Konvertierung der XML-Datenmodule in HTML unter Nutzung der Transformationssprache XSLT erfolgt in dem Augenblick, in welchem innerhalb des Browsers ein bestimmtes XML-Datenmodul über die eindeutige Datenmodulidentifikation (Datenmodulcode) angefordert wird. Auch hierzu kann man „Commercial of the Shelf"-Software verwenden, wie z.B. Saxon, einen XSL-Prozessor, der XSL V 1.0 gemäß W3C-Standard implementiert hat. Zur Anzeige kommt dann das HTML-Dokument. Durch die layoutorientierte Transformation der XML-Datenmodule in HTML und dadurch erzwungene Reduzierung der Struktur auf die HTML-Elemente entfällt natürlich die syntaktische und semantische Strukturierungsmöglichkeit der XML-Originaldokumente. Damit verliert man (ohne Rückgriff auf die XML-Datenmodule) die in XML gegebenen kontextuellen Suchmöglichkeiten. Die Transformation selbst soll im folgenden Kapitel anhand von drei Beispielen verdeutlicht werden.

Bei Verfügbarkeit von Standard-Browsern, die XML, XSL, XPointer und XLink gemäß W3C-Standard voll unterstützen, würde sich der Gesamtprozess, wie in folgender Abbildung schematisch dargestellt, vereinfachen. In diesem Fall könnte die Transformation in HTML über XSLT durch eine direkte Verarbeitung der XML-Sprachfamilie ersetzt werden.

Abbildung 2
Vereinfachter IETD-Prozess SGML -> XML


Beispiele für die Umsetzung XML -> HTML

Im Folgenden werden drei Anwendungsbeispiele aus dem Bereich der AECMA Spec 1000D aufgeführt. Die Beispiele beleuchten den XSLT-Anteil und sind innerhalb einer kompletten IETD-Anwendung natürlich nur durch zusätzliche Javascript- und/oder Servlet-Programmierung lauffähig.


Beispiel 1: Anzeige des Datenmodulcodes <dmc>

Das folgende Beispiel erläutert die Anzeige der eindeutigen Identifizierung eines Datenmoduls, des so genannten Datenmodulcodes.

XML-Beispieldaten (relevanter Ausschnitt)

<dmodule>
<idstatus>
<dmaddres>
<dmc>
<avee>
<modelic>1B</modelic>
<sdc>B</sdc>
<chapnum>15</chapnum>
<section>3</section>
<subsect>2</subsect>
<subject>08</subject>
<discode>00</discode>
<discodev>B</discodev>
<incode>125</incode>
<incodev>A</incodev>
<itemloc>A</itemloc>
</avee>
</dmc>
</dmaddres>
</idstatus>
</dmodule>


Gewünschte Darstellung im Browser

Beispiel 1


Zugehöriger HTML-Code

<TABLE>
<TR>
<TD><B>DM-Code:</B></TD>
<TD>1B-B-15-32-08-00B-125A-A</TD>
</TR>
</TABLE>


XSLT-Code zur Transformation

<!-- finde alle <avee> Elemente im Identifikationsteil -->
<xsl:template match="dmodule/idstatus/dmadress/dmc/avee">

<!-- schreibe HTML code für Beginn einer Tabelle -->
<!-- schreibe HTML code für Beginn einer Zeile -->
<!-- schreibe HTML code für Beginn der 1. Spalte -->
<TABLE>
<TR>
<TD>

<!—schreibe den Text „DM-Code:„ in fett in die HTML Ausgabe -->
<B><xsl:text>DM-Code:</xsl:text></B>

<!-- schreibe HTML code für Ende der 1. Spalte -->
</TD>

<!-- schreibe HTML code für Beginn der 2. Spalte -->
<TD>

<!-- schreibe den Inhalt des <modelic> Elements in den HTML code -->
<xsl:value-of select="modelic"/>

<!-- schreibe den Text „-„ in den HTML code -->
<xsl:text>-</xsl:text>

<xsl:value-of select="sdc"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="chapnum"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="section"/>
<xsl:value-of select="subsect"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="subject"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="discode"/>
<xsl:value-of select="discodev"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="incode"/>
<xsl:value-of select="incodev"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="itemloc"/>

</TD>
</TR>
</TABLE>

</xsl:template>


Beispiel 2: Aufruf einer Illustration

Das zweite Beispiel erläutert die Umsetzung des Elements <figure> mit genau einer Illustration. Dabei soll für jedes <figure>-Element ein Hyperlink generiert werden, der zur Anzeige der Illustration (Element <graphic> mit dem Attribut „boardno" zur Aufnahme der Grafik-Entity) führt.

Illustrationen werden innerhalb der AECMA Spec 1000D durch eine so genannte Illustration Control Number (ICN) eindeutig identifiziert; die zugehörige Illustrationsdatei soll in diesem Beispiel im CGM-Format sein und den Dateinamen ICN-x.cgm haben.

Die Anzeige der Illustration soll über einen gewöhnlichen HTML-Hyperlink erfolgen. Um eine CGM-Datei innerhalb des Browsers anzeigen zu können, ist ein zusätzliches Plugin nötig. Hier kann zum Beispiel das ActiveX Control ISOVIEW der Firma ITEDO Software verwendet werden.

XML-Beispieldaten (relevanter Ausschnitt)

<figure>
<title>Air Conditioning System - Schematic Diagram</title>
<graphic boardno="ICN-1B-B-210000-C-0117B-00441-A-01-2"></graphic>
</figure>


Gewünschte Darstellung im Browser

Beispiel 2


Zugehöriger HTML-Code

<P>
<A HREF="ICN-1B-B-210000-C-0117B-00441-A-01-2.cgm">
Fig.: Air Conditioning System - Schematic Diagram.
(ICN-1B-B-210000-C-0117B-00441-A-01-2)
</A>
</P>


XSLT-Code zur Transformation

<xsl:template match="figure">
<P>

<!-- defniniere eine XSLT variable mit dem Namen icn -->
<xsl:variable name="icn">

<!-- befülle diese XSLT variable mit dem Inhalt des Attributes boardno des untergeordneten <graphic> Elements -->
<xsl:value-of select="graphic/@boardno"/>
</xsl:variable>

<!-- schreibe den HTML code für einen Hyperlink auf die Illustration $icn.tif -->
<A HREF="$icn.cgm">

<xsl:text>Fig.: </xsl:text>
<xsl:value-of select="title"/>
<xsl:text>
(</xsl:text>

<!-- schreibe den Inhalt der icn Variablen in den HTML code -->
<xsl:value-of select="$icn"/>

<xsl:text>)</xsl:text>
</A>
</P>

</xsl:template>


Beispiel 3: Umsetzung einer <deflist>

Das dritte Beispiel zeigt die Umsetzung des Elements <deflist>. Dieses Element beschreibt eine so genannte Definition List. Sie besteht immer aus einem Kürzel (<term>) und einer zugehörigen Definition (<def>). Die beiden Elemente <term> und <def> können als Tupel beliebig oft hintereinander vorkommen. In der folgenden Umsetzung sollen diese beiden Elemente in einer zweispaltigen Tabelle dargestellt werden.

XML-Beispieldaten (relevanter Ausschnitt)

<deflist>
<title>ABBREVIATIONS OF THE AIR CONDITIONING SYSTEM</title>
<term>ACS</term><def>Air Conditioning System</def>
<term>AC SOV</term><def>Air Conditioning Shut-off Valve</def>
</deflist>


Gewünschte Darstellung im Browser

Beispiel 3


Zugehöriger HTML-Code

<P>
<H4>ABBREVIATIONS OF THE AIR CONDITIONING SYSTEM</H4>
<TABLE>
<TR>
<TD>ACS</TD>
<TD>Air Conditioning System</TD>
</TR>
<TR>
<TD>AC SOV</TD>
<TD>Air Conditioning Shut-off Valve</TD>
</TR>
</TABLE>
</P>


XSLT-Code zur Transformation

<xsl:template match="deflist">
<P>

<!-- teste, ob <title> Element vorhanden -->
<xsl:if test="title">
<H4>
<xsl:value-of select="title"/>
</H4>
</xsl:if>
<TABLE>

<!-- Schleife über alle Elemente <term> -->
<xsl:for-each select="term">
<TR>
<TD>

<xsl:value-of select="."/>
</TD>
<TD>


<!-- schreibe Inhalt des folgenden <def> Elements in den HTML code -->
<xsl:value-of select="following::def[1]"/>
</TD>
</TR>

</xsl:for-each>
</TABLE>
</P>

</xsl:template>


Fazit

Die klassische papierorientierte Form der technischen Dokumentation wird auch im Bereich der AECMA Spec 1000D mehr und mehr durch interaktive elektronische technische Dokumentation abgelöst. Die von den Anwendern geforderte IETD-Ausrichtung steht dabei im Zeichen des neuen Web-Standards XML und der Nutzung von "Commercial off the Shelf"-Software.

Der dargestellte Ansatz ist an zukünftigen Standard-Internetbrowsern mit voller XML-Fähigkeit ausgerichtet, erlaubt aber bereits in der jetzigen Übergangsphase, in der noch HTML-basierende Browser den Markt bestimmen, die Nutzung der XML-Sprachfamilie zur webbasierten Anzeige der technischen Dokumentation auf der Basis HTML. Zur Zeit wird im Rahmen des Eurofighter-Programmes ein IETD-Nutzungssystem auf dieser Basis erstellt, jedoch ist der beschriebene Ansatz zur webbasierten Anzeige technischer Dokumentation nicht nur auf mit AECMA Spec 1000D konforme Dokumentation beschränkt, sondern kann in gleicher Weise auch auf SGML-basierende Dokumentation aus anderen Bereichen angewendet werden.


Literaturhinweis

Mayers, Tom: Java XML Programmierung professionell. Bonn: MITP Verlag 2000.

Leserbrief schreiben

  Doculine durchsuchen:   

  

Empfehlenswerte Seiten zur technischen Übersetzung
von transline - Übersetzungsdienst für technische Übersetzung
technische Übersetzungen | Übersetzung Software | Software Lokalisierung
Spez. Seiten zu Sprachen
Chinesisch Übersetzung | Englisch Übersetzung | Französisch Übersetzung | Niederländisch Übersetzung | Russisch Übersetzung | Spanisch Übersetzung | Portugiesisch Übersetzung | Italienisch Übersetzung | Japanisch Übersetzung
Infos zum Übersetzungsservice transline

Übersetzungen Ihrer Patente - Dr. Sturz Patentübersetzungen

Letzte Änderung: 31.10.2005 | Presse-Service | Disclaimer
© doculine Verlags-GmbH, ein Unternehmen der transline Gruppe