190 likes | 326 Views
Behrad Kalantari Harald Schäffler Joaquin Diaz. Ein neues Dach für den Datenaustausch im Bauwesen. BauXML. NUTZER DBD Heinze. BVB S. Standardisierung- Gremien. A. B. C. D. GAEB. DATANORM. IAI. Softwarehäuser. Man spricht XML !. 1. Aufgabenstellung. 2. Bisherige Lösung.
E N D
Behrad Kalantari Harald Schäffler Joaquin Diaz Ein neues Dach für denDatenaustausch im Bauwesen BauXML • NUTZER • DBD • Heinze • .... BVB S Standardisierung- Gremien ..... A B C D GAEB DATANORM ....... IAI Softwarehäuser
Man spricht XML ! 1. Aufgabenstellung 2. Bisherige Lösung Dokumentenaustauschin Bau-Prozessen Austausch von proprietären Formaten GAEB-Standards GAEB DA 90 GAEB DA 2000 GAEB DA 2000XML Vernetzt-kooperativer Informationsaustausch via XML 3. Lösungmit XML 4. Ausblick
Sprache: x Sprache: y Gleiche Sprache sprechen Sprache X nach Y konvertieren(übersetzen) Auf eine XY-Sprache sich einigen Schnittstelle Austausch proprietärer Formate
Betriebsystem A Programm AB Betriebsystem A Programm AC Betriebsystem B Programm BA Extention.hallo Extention.tschuss Extention.binda Planung Ausführung Produkte Was sind proprietäre Formate? Verschiedene Datenformate führen zu Interpretationsproblemen auf unterschiedlichen Systemen. Die Informationen werden teilweise unvollständig übertragen.
Format Y LV Format Y AVA-SYSTEM Y Austausch proprietärer Formate Format X AVA-system x LV Format X
Angebotsaufforderung D83 D93Preisanfrage Bewerber Auftraggeber(Bauherr) Hersteller Handel D94Preisangebot Bieter Nebenangebot D85 D82Kosten-ansatz Auftragserteilung D86 Auftragnehmer D81Leistungs-beschrei- bung D96Bestellung Architekt Fachingenieur Nachtrag D88 D97Bestätigung Rechnung D89 Angebotsabgabe D84 D51Kosten-ermittlung D61Raum-Bauteile D71Ablauf-planung D80LV-Katalog D40AllgemeineKatalog Planung Ausführung Produkte Informationsfluss in GAEB DA 2000
GAEB Optionale- und Mehrfach-Objekte ZusText PrjInfo GAEBInfo Vergabe Muss-Objekte Beschreibungssprache GAEB DA 2000 für die Phasen D81 bis D88
GAEB GAEBInfo PrjInfo Vergabe DP Vergabeinfo LVBereich AG Position AN Hinweise LNInfo LV ZusText Graphische Darstellung der Objektevon Vergabedaten
Was ist XML? • Die Wurzeln von XML • XML gehört zur Familie der Markup-Sprachen • XML ist gleichzeitig auch eine Meta-Sprache • (Sprache zur Definition anderer Sprachen) • Warum XML? • Einfach! • Internationalisierbar (Unicode) • trennt Inhalt und Präsentation(Grundlage für dieDatenaustausch) • Im WWW verwendbar(Kompatibilität mit Internetplattform) • Formatunabhängig (Austausch proprietärer Formate!!) • und....
Dokument Typ Definition(DTD) • DTD ist die Grammatik für die XML-Sprache • Die DTD regelt die Struktur eines Dokuments • Sprachelemente: A? das Element A kommt optional vor A+ das Element A kommt 1 oder mehrmals vor A* das Element A kommt 0 oder mehrmals vor A|B das Element A oder das Element B A,B das Element A gefolgt von Element B (A,B)? ebenso optional #PCDATA? eine beliebige Zeichenkette im btr.character-encoding --------------------------------------------------------------------------------------- Klasse Objektinstanz DTD XML-Dokument
XSL und physische Auszeichnung Eine formatierungsbeschreibende Auszeichnungssprache für XML-Dokumente Prototyp einer XSL-Datei: <xsl> <rules> <Pattern> <Action> </rules> </xsl>
LV Position Position Position Prolog <?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> <Leistungsverzeichnis> <position> <nummer>1</nummer> <leistungsbeschreibung>stahlbetonarbeiten</leistungsbeschreibung> <menge>2m</menge> <hoch>3</hoch> <einzelpreis>...................</einzelpreis> <gesamtpreis>...................</gesamtpreis> </position> <position> <nummer>2</nummer> <leistungsbeschreibung>stahlbetonarbeiten</leistungsbeschreibung> <menge>22m</menge> <hoch>3</hoch> <einzelpreis>...................</einzelpreis> <gesamtpreis>...................</gesamtpreis> </position> <position> <nummer>3</nummer> <leistungsbeschreibung>stahlbetonarbeiten</leistungsbeschreibung> <menge>222m</menge> <hoch>3</hoch> <einzelpreis>...................</einzelpreis> <gesamtpreis>...................</gesamtpreis> </position> </Leistungsverzeichnis> Aufbau einer XML-Datei ROOT-Element Node-Element
<?xml version="1.0" ?> - <xsl:stylesheet xmlns:xsl="uri:xsl"> - <xsl:template match="/"> - <TABLE border="2" cellspacing="1" cellpadding="2"> - <TR> - <TD> <STRONG>Pos.Nr.</STRONG> </TD> - <TD> <STRONG>Leistungsbeschreibung</STRONG> </TD> - <TD> <STRONG>Maenge</STRONG> </TD> - <TD> <STRONG>Einzelpreis</STRONG> </TD> - <TD> <STRONG>Gesamtpreis</STRONG> </TD> </TR> - <xsl:for-each select="Leistungsverzeichnis"> <xsl:apply-templates /> Bild einer XSL-Datei <xsl:template match="position"> <TR> <TD> <center> <b> <xsl:value-of select="nummer" /> </b> </center> </TD> <TD> <center> <b> <xsl:value-of select="leistungsbeschreibung" /> </b> </center> </TD> <TD> <center> <xsl:value-of select="menge" /> <sup> <xsl:value-of select="hoch" /> </sup>
Parserschicht Applikation XML Applikation-Struktur Parser (Validierende / Wohlgeformt) Schnittstellen: SAX: Simple API for XML Ereignisbasieretes parsen DOM: Document Object Model Baumstrukturierte Schnittstelle D83 HTML(Browser) GAEB DA 2000XML(D84) Pdf (Drucker) RTF ?????
D8x.DTD DTD DTD DTD-Instanz D8x.xml <!Element> <!Element> <LV> <!Attlist> <position> .... .... .... .... XML </position> 1 </LV> Daten XSL Parser Applikation 2 XSL-Generator XSL-Generator Visualisierung 3 D8x.HTML AVA-System D8x.XML ImDetail
XSL Transformation Beispiel mit JAVASCRIPT: XSLT Prozessor
<html> <head> <script language="javascript" for="window" event="onload"> var xmldata = new ActiveXObject("Microsoft.xmldom"); if (xmldata.parseError.reason != "") alert("Error während dem Parsen des XML-Dokuments\n" + "Code=" + xmldata.parseError.errorCode + "\nReason=" + xmldata.parseError.reason); xmldata.load("lv.xml"); var xsldata = new ActiveXObject("Microsoft.xmldom"); xsldata.async = false; xsldata.load("lv.xsl"); lv.innerHTML = xmldata.transformNode(xsldata.documentElement); </script> </head> <body bgcolor=#ffffff><center><h1>LEISTUNGSVERZEICHNIS</H1> <div id="lv"></div> </center> </body> </html> Javascript und ActiveXObjekt! ActivXObjekte!! Methode „Load“ Methode „transform“
Ausblick:Vernetzt-kooperativer Austauschvon Informationen Bauleiter SERVER Architekt Webserver LV.XML LV.XSL TCP/IP Servlet.class LV.XML HTML, XML, PDF JAVA Applikation DB LV.XML Projektsteuerer
<ENDE> <DANKE/> <?FRAGE?/> </ENDE>