80 likes | 222 Views
eXtended Markup Language (XML). XML - eine Familie von Standards: XML ein rechnerübergreifend austauschbares Datenformat häufig verwendet für Inhalte (=Nutzdaten) XSL (eXtended Stylesheet Language) Layoutdaten zur Strukturierung von Nutzdaten DTD (Document Type Definition)
E N D
eXtended Markup Language (XML) XML - eine Familie von Standards: XML ein rechnerübergreifend austauschbares Datenformat häufig verwendet für Inhalte (=Nutzdaten) XSL (eXtended Stylesheet Language) Layoutdaten zur Strukturierung von Nutzdaten DTD (Document Type Definition) Typdefinition eines XML-Dokumentes
Trennung von Nutzdaten und Layout Nutzdaten (Filiale2.xml) Layout (Techniker2.xsl) Nutzdaten (Filiale1.xml) Layout (Kunde1.xsl) HTML-Datei Kombiniert gewünschte Daten mit gewünschtem Layout
Trennung von Nutzdaten und Layout (2) • Konsequenzen: • Nutzdaten sind änderbar, ohne Layout zu ändern (neue Preise) • Layout ist änderbar ohne Nutzdaten zu ändern ( anderes Logo, neuer Verkäufer, anderer Kunde, anderer Mitarbeiter, neue Sicht der Daten ) • 1 Layout für verschiedene Nutzdaten (Rahmen mit Firmenlogo, ...) • 1 (Nutz-)Datenquelle für verschiedene Layouts (Techniker, Verkäufer, Kunde, Reseller, ...)
Einheitlicher Standard für Nutzdaten DTD: legt Datenformat für alle Nutzdaten eines Typs fest => gleiche Datenformate für alle Beteiligten firmenübergreifende Datenaustauschformate Neue Datenaustausch-Sprachen auf XML-Basis Beispiel: CML (Chemical Markup Language) http://xml-cml.org für chemische Elemente, Moleküle, ..., Produkte, ...Dokumente Konsequenz des Standards: (Markt-)Zwang den Standard zu benutzen
XML-Syntax XML - Prolog: <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <?xml-stylesheet type="text/xsl" href="xmlbsp1.xsl"?> XML - Hauptteil: <auftrag> <kunde> meier </kunde> <pc> pc500 </pc> </auftrag> <liefert wer=“vobis“ teil=“pc500“ / > Version ! Zeichensatz geht ohne DTD ! benutztes Stylesheet Attribut Attributwert Tag-Ende (leeres Tag)
XML- und XSL-Beispiel XML <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <?xml-stylesheet type="text/xsl" href="xmlbsp1.xsl"?> <row> <Kunde>Meier</Kunde> <PC>pc500</PC> </row> XML+XSL <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <html> <body> Kunde : <xsl:value-of select="row/Kunde"/> , PC : <xsl:value-of select="row/PC"/> </body> </html> </xsl:template> </xsl:stylesheet> XSL
DTD <!-- DTD xmlbsp2d.dtd zum Beispiel xmlbsp2d.mxl --> <!ELEMENT table (row)* > <!ELEMENT row ( Kunde , PC ) > <!ELEMENT Kunde (#PCDATA) > <!ELEMENT PC (#PCDATA) > beliebig viele parsed char data Sequenz Muss kommen Wurzelelement <?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <!DOCTYPE table SYSTEM "xmlbsp2d.dtd"> <?xml-stylesheet type="text/xsl" href="xmlbsp2.xsl"?> <table> <row> <Kunde>Meier</Kunde> <PC>pc500</PC> </row> <row> ... </row> </table>
Nutzung von XML • Auf dem Client HTML erzeugen : • im XML-fähigen Browser (z.B. ie5 ) daten.xml + layout.xsl -> x.html • Auf dem Server HTML erzeugen : • transformiere: daten.xml + layout.xsl -> x.html • XML ist • transformierbar durch XSL • transformierbar durch Java • kompakt speicherbar (zip) • unternehmensübergreifend austauschbar • kombinierbar mit Applets, Servlets, JSP, ... • ...