- XML: Das Sprachkonzept Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente (mit DTD) Attribute, Style Sheets - XML und EDI: Vision u. Initiativen - XML/EDI: Eine Anwendung
HTML - eine Sprache zur Auszeichnung von Dokumenten Das HTML-Dilemma HTML - eine Sprache zur Auszeichnung von Dokumenten <H1>Überschrift 1</H1> <H2>Überschrift 2</H2> <p>Absatz<p> ...
HTML ist ... ...aber leider... Das HTML-Dilemma einfach Erweiterbarkeit: Semantische Auszeichnung unmöglich Struktur: Komplexere Strukturen nicht abbildbar Validierung: Strukturelle Schwächen
XML: Das Sprachkonzept Was ist XML ? Die eXtensible Markup Language XML ist eine textbasierte Meta-Auszeichnungssprache, die die Beschreibung, den Austausch, die Darstellung und die Manipulation von strukturierten Daten erlaubt, so daß diese von einer Vielzahl von Anwendungen genutzt werden können.
XML: Das Sprachkonzept Tags können individuell definiert und benannt werden. Dokumentenstrukturen können in beliebiger Komplexität abgebildet werden. XML-Dokumente können - müssen aber nicht – eine formale Beschreibung ihrer Grammatik enthalten.
XML: Das Sprachkonzept XML besteht also aus Tags <TAG>Inhalt</TAG> ...die ineinander geschachtelt sind <TAG> <NochEinTag>Inhalt</NochEinTag> </TAG> ...und zusammen mit einer XML-Deklaration bereits ein vollständiges XML-Dokument ergeben. Dabei müssen nur wenige „Wohlgeformtheits-Regeln“ beachtet werden. <?xml version="1.0"?>
Wohlgeformte Dokumente Jeder geöffnete Tag muß explizit geschlossen werden Tags ohne Inhalt (<IMG> in HTML) werden in XML als <IMG/> geschrieben oder geschlossen Attribut-Werte in doppelte Anführungszeichen, z. B.: <?xml version=”1.0”?> Das Markup muß, wie bei SGML, streng hierarchisch gegliedert sein Keine Markup-Zeichen (< oder &) im Text, alle Attribute – die für alle Elemente verwendet werden können – müssen Default-Typ CDATA sein. Am Anfang des Dokumentes sollte der Hinweis auf die XML-Version erfolgen: <?xml version=”1.0”?>
Wohlgeformtes Dokument „Bestellung“ <?xml version="1.0" ?> <BESTELLUNG> <AUFTRAGSKOPF> <NAME>Mustermann</NAME> <DATUM>02.10.1998</DATUM> <E-MAIL>mustermann@anywhere.com</E-MAIL> </AUFTRAGSKOPF> <AUFTRAGSPOSITIONEN> <POSITION> <BEZEICHNUNG>Festplatte</BEZEICHNUNG> <ARTIKELNUMMER>123456</ARTIKELNUMMER> <ANZAHL>5</ANZAHL> </POSITION> <BEZEICHNUNG>Monitor</BEZEICHNUNG> <ARTIKELNUMMER>9876</ARTIKELNUMMER> <ANZAHL>1</ANZAHL> </AUFTRAGSPOSITIONEN> </BESTELLUNG>
XML Grundlagen XML stellt die Regeln bereit, um Auszeichnungssprachen zu definieren. Es gibt zwei Arten, diese Regeln (also die Grammatik der konkreten Auszeichnungssprache) zu spezifizieren: Sind die grundlegenden Anforderungen an die XML-Syntax erfüllt, spricht man von wohlgeformten (well-formed) Dokumenten Zu XML-Dokumenten kann eine explizite Definition der nötigen/ möglichen Tags und ihrer Struktur gehören. Hierfür verwendet XML eine formale Grammatik, die Document Type Definition (DTD).
Gültiges Dokument „Bestellung“ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE BESTELLUNG SYSTEM "BESTELLUNG.DTD"> <BESTELLUNG> <AUFTRAGSKOPF> <NAME>Mustermann</NAME> <DATUM>02.10.1998</DATUM> <E-MAIL>mustermann@anywhere.com</E-MAIL> </AUFTRAGSKOPF> <AUFTRAGSPOSITIONEN> <POSITION> <BEZEICHNUNG>Festplatte</BEZEICHNUNG> <ARTIKELNUMMER>123456</ARTIKELNUMMER> <ANZAHL>5</ANZAHL> </POSITION> <BEZEICHNUNG>Monitor</BEZEICHNUNG> <ARTIKELNUMMER>9876</ARTIKELNUMMER> <ANZAHL>1</ANZAHL> </AUFTRAGSPOSITIONEN> </BESTELLUNG>
DTD zu gültigem Dokument „Bestellung“ <!ELEMENT BESTELLUNG (AUFTRAGSKOPF, AUFTRAGSPOSITIONEN)> <!ELEMENT AUFTRAGSKOPF (NAME, DATUM, E-MAIL)> <!ELEMENT NAME (#PCDATA)> <!ELEMENT DATUM (#PCDATA)> <!ELEMENT E-MAIL (#PCDATA)> <!ELEMENT AUFTRAGSPOSITIONEN (POSITION)+> <!ELEMENT POSITION (BEZEICHNUNG, ARTIKELNUMMER, ANZAHL)> <!ELEMENT BEZEICHNUNG (#PCDATA)> <!ELEMENT ARTIKELNUMMER (#PCDATA)> <!ELEMENT ANZAHL (#PCDATA)> BESTELLUNG.DTD
Deklaration von Elementen in der DTD Elemente können i. Allg. andere Elemente oder Zeichendaten enthalten <!ELEMENT AUFTRAGSKOPF (NAME, DATUM, E-MAIL)> <!ELEMENT NAME (#PCDATA)> Elemente können als sequentiell, optional etc. definiert werden <!ELEMENT a (b, c?, (d|e)+, f*) <!ELEMENT e-mail (adresse, cc*, message, signature?) Elemente können auch gemischten Inhalt haben <!ELEMENT a (#PCDATA | b | c)*>
Attribute Alle Elemente können Attribute haben: <AUFTRAGSKOPF edifact=„UNH D0062.1“ lala=„123“> Die Attribute müssen wie Elemente deklariert werden <!ATTLIST AUFTRAGSKOPF edifact CDATA #REQUIRED> Attribute können optional, obligatorisch oder „fixed“ sein <!ATTLIST BEZEICHNUNG ean CDATA #REQUIRED abbildung CDATA #FIXED „http://meine.bilder.de/hd.htm“ status (angebot | normal) „normal“>
Gültiges XML-Dokument <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE BESTELLUNG SYSTEM „bestellung2.dtd“> <BESTELLUNG> <AUFTRAGSKOPF edifact=„UNH D0062.1“> <NAME>Mustermann</NAME> <DATUM>02.10.1998</DATUM> <E-MAIL>mustermann@anywhere.com</E-MAIL> </AUFTRAGSKOPF> <AUFTRAGSPOSITIONEN> <POSITION> <BEZEICHNUNG ean=„3034152204082“ abbildung=„http://meine.bilder.de/hd.htm“ status=„angebot“>Festplatte</BEZEICHNUNG> <ARTIKELNUMMER>123456</ARTIKELNUMMER> <ANZAHL>5</ANZAHL> </POSITION> ....... </AUFTRAGSPOSITIONEN> </BESTELLUNG>
DTD <!ELEMENT BESTELLUNG (AUFTRAGSKOPF, AUFTRAGSPOSITIONEN)> <!ELEMENT AUFTRAGSKOPF (NAME, VORNAME*,DATUM, E-MAIL+)> <!ATTLIST AUFTRAGSKOPF edifact CDATA #REQUIRED> <!ELEMENT NAME (#PCDATA)> <!ELEMENT VORNAME (#PCDATA)> <!ELEMENT E-MAIL (#PCDATA)> <!ELEMENT DATUM (#PCDATA)> <!ELEMENT AUFTRAGSPOSITIONEN (POSITION)+> <!ELEMENT POSITION (BEZEICHNUNG, ARTIKELNUMMER, ANZAHL)> <!ELEMENT BEZEICHNUNG (#PCDATA)> <!ATTLIST BEZEICHNUNG ean CDATA #REQUIRED abbildung CDATA #FIXED „http://meine.bilder.de/hd.htm“ status (angebot | normal) „normal“> <!ELEMENT ARTIKELNUMMER (#PCDATA)> <!ELEMENT ANZAHL (#PCDATA)>
Gültige XML-Dokumente Ein XML-Dokument ist gültig (valid), wenn es wohlgeformt ist und darüber hinaus den Spezifikationen einer DTD entspricht. Ein wohlgeformtes XML-Dokument kann ein gültiges werden, sofern es die Regeln der DTD erfüllt. Funktional ist eine DTD dem Relationenschema einer Datenbank oder einer IDL analog Programme können mit einer DTD XML-Dokumente auf strukturelle Fehler überprüfen und neue „Instanzen“ dieses Dokument-Typs erstellen.
Präsentation von XML-Dokumenten Die Darstellung eines XML-Dokumentes erfolgt mit Hilfe einer Formatvorlage, eines Style Sheet. In diesem Style Sheet wird das Layout des Dokumentes festgelegt. Auf Style Sheets wird durch entsprechende processing instructions verwiesen, z. B. : <?xml-stylesheet href="style1.css"?> Das W3C entwickelt mit (XSL) eigene Style Sheet Sprache für XML Daneben ist die Darstellung mit von HTML bekannten CSS möglich
+ = XML mit CSS <?xml version="1.0" ?> <?xml-stylesheet type="text/css" href="style1.css"?> <BESTELLUNG> <AUFTRAGSKOPF> <NAME>Mustermann</NAME> .............. </BESTELLUNG> + = BESTELLUNG { Display: Block; background-color: blue; float: left; padding: 15pt} NAME, DATUM, E-MAIL {Display: Block; font-size: 28pt; font-family: Times, serif} E-MAIL {color:yellow} AUFTRAGSPOSITIONEN {Display: Block; background-color: green; float: left; padding: 12pt} BEZEICHNUNG {font-size: 28pt; font-family: Times, sans-serif}
Die “XML-Familie” Neben den eigentlichen Sprachspezifikationen von XML (seit 10.02.1998 eine Recommendation), gibt es weitere Initiativen des W3C aus dem XML-Umfeld. Die wichtigsten sind: XLink (Working Draft, 26.07.1999) XPointer (Working Draft, 09.07.1999) XML Namespaces (Recommendation, 14.01.1999) XSL (Working Draft 21.04.1999) XSLT, XPath (Recommendation, 16.11.1999) DOM (Recommendation, 01.10.1998) RDF (Recommendation, 24.02.1999) XML Schemas (Working Drafts, 06.05.1999) (XML-Data, DCD, SOX, DDML)
Vorteile von XML Die installed base von HTML, HTTP und Webbrowsern XML ist einfach und portabel XML kann Dokumente beliebiger Komplexität abbilden XML ist mehr als nur eine Auszeichnungssprache Internationalität Daten, die mit XML ausgezeichnet sind, können prinzipiell von allen Anwendungen weiterverarbeitet und auf verschiedensten Medien ausgegeben werden
XML und EDI klassische EDI-Beziehungen: Langfristig, nur für hochvolumige Transaktionen vor einem langen Zeithorizont lohnenswert XML/EDI: Investitionsbereitschaft in kompatible, offene IT-Infrastrukturen v.a. für KMU an jeder Stelle der Value Chain wesentlich größer („Investitionsruinen“) Datenstrom, den der XML-Parser den verschiedensten Anwendungen übergibt, ist einfach zu verarbeiten (Manipulation, Anzeige und Transformation!) Mit XML ausgezeichnete Daten sind leicht an die Bedürfnisse unterschiedlichster Applikationen und Medien anpaßbar XML-Basierung ermöglicht die Definition flexibler, offener Schnittstellen Vorteile der Verwendung von XML (Einfachheit, Flexibilität, Einbindung bestehender Produkte und Legacy-Systeme) ist auch die Grundlage des E-Business-Framework der XML/EDI-Group
Anwendungen: XML/EDI Die Grundidee: XML/EDI Dokumente nutzen eine im Industriestandard spezifizierte DTD Diese DTD wird in Repositories zur Verfügung gestellt Damit können Dokumente von jeder empfangenden Anwendung validiert und verarbeitet werden Andere Möglichkeit: Wohlgeformte XML-Dokumente/Schemas
XML Anwendungen: XML/EDI Vorteil Nachteil EDI-Standards definieren Syntax und Elemente von Geschäftsdokumenten. Es gibt Bemühungen, traditionelles EDI in XML-Syntax zu formulieren. XML Vorteil Nachteil Eigene Beschreibung und Strukturdefinition möglich
Anwendungen: XML/EDI ANSI ASC X12 (Namensvergabe, Hierarchien/Schachtelungen etc.) DIN/Nbü und dedig (Norm-Entwurf DIN 16557-4) UN/CEFACT (EC XML Initiative mit OASIS, simpl-EDI, oo-EDI) ebXML (seit Nov. 1999, UN/CEFACT, OASIS...) CEN/ISSS und EBES XML/EDI-Group (Migration mit 100% Rückwärtskompatibilität) OASIS, commerceNet, cXML, rosettaNet... ...
2 Beispiele für eine EDIFACT-Nachricht in XML-Syntax UNH+ELFE0000001+INVOIC:D:95A:UN:ETEB+1:C’ <elfe_segment name="message header" zweck="Beginn der Telekom-Rechnung" elfe="UNH"> <elfe_0062>ELFE0000001</elfe_0062> <elfe_S009> <elfe_0065>INVOIC</elfe_0065> <elfe_0052>D</elfe_0052> ........ </elfe_S009> ................. </elfe_segment> UNH + ELFE0000001 INVOIC:D... ... <UNH D0062=" ELFE0000001” S009D0065=" INVOIC” S009D0052=“D”............/>
XML/EDI Austausch von Geschäftsdokumenten via HTTP Grundlage ist Extranet Plattform von Lufthansa AirPlus 1) XML-Generator konvertiert Inhouse-Daten zu XML basiert auf XML Template (dictionary) 2) Kunde kontaktiert Webseite und wird authentisiert 3a) Der Kunde sieht/druckt XML-Datei im Browser oder... 3b) speichert XML-Datei aus dem Browser und verarbeitet die Daten mit eigenen Tools oder... 3c) ...nutzt ein signiertes Java-Applet zum automatischen Import der Rechnungsdaten in die eigene Datenbank.
Extranet Directory Service XML/EDI - Architektur Extranet Directory Service EDIFACT XDI XML WWW- Browser + Java-Applet XML XML EDIFACT2XML Converter database WWW- Server + Java-Servlets
EDIFACT-to-XML Konverter
EDIFACT Nachricht und Repräsentation in XML
Mapping Tool
XML/EDI Ausschließlich offene Standards Darstellung durch Style Sheets (XSL!) Einzige Voraussetzung: SmartCard Lesegerät, Internet-Zugang Unterstützung unterschiedlichster Standards Flexibel und sicher “custom-size EDI” anstelle von “full-size EDI” Einfache Integration: XML-Daten sind einfach zu verarbeiten Alle größeren Softwareanbieter haben XML-Schnittstellen angekündigt (Tamino!)
Das „Competence Center XML“ am Institut für Wirtschaftsinformatik der J. W. Goethe-Universität in Frankfurt http://xml.cnec.org