Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.
-
Upload
hilko-pfeiffer -
Category
Documents
-
view
215 -
download
0
Transcript of Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.
![Page 1: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/1.jpg)
Einführung in XML - Teil 1
Kai BesserDipl. Ing. InformatikAccount Manager Software AG
![Page 2: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/2.jpg)
Voraussetzungen
Allgemeine Kenntnisse über:World Wide Web (WWW)Auszeichnungssprachen (z.B. HTML)Programmiersprachen (z.B. C, C++, Java)
![Page 3: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/3.jpg)
Ziele von Teil 1
Verstehen von:XML und seinen Einsatzbereichen
Anwenden von:XML und DTDXML NamespacesXML Stylesheets (CSS, XSL)
![Page 4: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/4.jpg)
Inhaltsverzeichnis
XML - Extensible Markup Language XML Namespaces DTD - Document Type Definitions XML Stylesheets - XSL Workshops wichtige Links Abkürzungsverzeichnis
![Page 5: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/5.jpg)
XML - Extensible Markup Language
EinleitungMarkup Languages (Auszeichnungssprachen)Einstieg
GrundlagenStruktur und SyntaxRegeln der DTD
![Page 6: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/6.jpg)
Begriffsklärung - Markup
Präsentations-Markup (physische Auszeichnung) WYSIWYG (Textverarbeitung, DTP, HTML) vom Menschen lesbar
Prozedurales Markup (logische Auszeichnung) Formatvorlagen, DTP, HTML (CSS), XML (PI) kann die Präsentation steuern
Deskriptives Markup (semantische Auszeichnung) XML und SGML kann díe Verarbeitung und Präsentation steuern von Menschen und Maschinen lesbar
![Page 7: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/7.jpg)
Geschichte
GML Generalized Markup Language 1969: Entwicklung (IBM) Goldfarb, Mosher und Lorie 1974: validierender Parser
SGML Standard Generalized Markup Language 1978: Entwicklung 1986: Standard ISO 8879
![Page 8: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/8.jpg)
Geschichte
HTML Hypertext Markup Language 1990: Tim Berners-Lee am CERN in Genf World Wide Web (URL, HTTP und HTML) fester Satz von Elementtypen inoffizielle Erweiterungen über Jahre nicht sehr streng definiert DTD für HTML erst Jahre später
![Page 9: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/9.jpg)
Auszeichnungssprachen
HTML (*.html, *.htm) Rich Text Format (*.rtf) Microsoft Word (*.doc, *.dot) Adobe PostScript (*.ps, *.eps) Adobe Portable Document Format (*.pdf) LaTeX (*.tex), usw.
![Page 10: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/10.jpg)
Was ist XML?
Empfehlung des World Wide Web Consortium (W3C) entwickelt zwischen Juli 1996 und Februar 1998 von Jon
Bosak, James Clark, Tim Bray, Jean Paoli und sieben weiteren Co-Editoren
besonders auffällig:XML wurde aus einem akuten Bedarf heraus entwickeltsehr grosses Interesse der Industrie, z.B. Microsoft, IBM,
Sun, Apache, SAP, Oracle, Adobe, Corel, Macromedia, Software AG, DataChannel, webMethods, eXcelon, ...
![Page 11: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/11.jpg)
Was ist XML?
XML bildet eine Teilmenge (Subset) von SGML:XML = SGML - fortgeschrittene Merkmale + Weberweiterungen +
neuer Name und Vermarktung XML ist eine (schlanke) Metasprache:
Mit XML können Auszeichnungssprachen für beliebige Einsatzzwecke entwickelt werden.
XML ist für das Web konzipiert
XML bietet 80 Prozent der Merkmale und Funktionen von SGML, aber nur 20 Prozent von dessen Komplexität.
![Page 12: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/12.jpg)
XML vs. HTML
XML Beschreibung und
Strukturierung von Informationen
strenge Syntax- und Strukturregeln
Trennung des Inhalts und der Struktur von der Präsentation
Teilmenge von SGML
HTML Anzeige von Informationen über Jahre nicht streng
spezifiziert keine strikte Trennung von
Inhalt und Präsentation eine Anwendung von SGML
![Page 13: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/13.jpg)
XML vs. HTML
<?xml version="1.0"?><email> <an>Dich</an> <von>mir</von> <cc>Chef</cc> <betreff>XML</betreff> <text>Hier geht es um XML</text></email>
<html> <head> <title>HTML</title> </head> <body> <br> <b>AN: </b>Dich<br> <b>VON: </b>mir<br> <b>CC: </b>Chef<br> <b>Betreff: </b>HTML<br><br> Hier geht es um: <b>HTML</b>. </body></html>
![Page 14: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/14.jpg)
XML im Einsatz
als offenes Format für Datenaustausch als strukturierte, semantisch reiche Webdaten
mehr Verarbeitung beim Clientsemantische Findmaschinen und Informationsagenten
für neue Webanwendungen (z.B. Small-Screen-Clients) zur Speisung unterschiedlichster Anwendungen mit
denselben Daten zur Datenspeicherung (Aufbewahrungspflicht)
![Page 15: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/15.jpg)
XML im Einsatz
XML/EDIElektronischer Datenaustauschoffener, herstellerunabhängiger Standard leicht zu implementieren flächendeckend möglichZeit und Kosten werden gespartsteigert die Effizienz traditionelles EDI besitzt feste Transaktionssätze
![Page 16: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/16.jpg)
XML im Einsatz
WebXHTML-Webseiten (XForms)Daten anzeigen im Web (mit Stylesheets)Personalisierte WebseitenWebportaleSuchmaschinen („Findmaschinen“) Informationsagenten Internet-Auktionen
![Page 17: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/17.jpg)
Eigenschaften von XML
gliedert Dokumente in hierarchische Komponenten benennt diese Komponenten durch Regeln kann festgelegt werden, wie die Komponenten
zusammengehören stellt Regeln bereit für die Fehlerbehandlung ist leicht im Internet nutzbar ist für eine Vielzahl von Anwendungen einsetzbar XML-Dokumente sind SGML-Dokumente:
ähnliche Ausdrucksmöglichkeiten vorhandene SGML-Werkzeuge lesen und schreiben XML
![Page 18: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/18.jpg)
Eigenschaften von XML
die Namen und Inhalte sind Unicode-Text (Internationalisierung) XML ist von Menschen und Maschinen lesbar keine optionalen Features in XML (im Gegensatz zu SGML) XML-Prozessoren sind klein, schnell, einfach zu schreiben (und zahlreich) XML-Dokumente sind einfach zu erstellen Die XML-Spezifikation ist formal und knapp gehalten
![Page 19: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/19.jpg)
Struktur und Syntax von XML
Markup wird vom XML-Prozessor verarbeitet Start- und Ende-Tags, Leeres-Element-Tags, Entity- und
Zeichen-Referenzen, Kommentare, CDATA-Abschnittsbegrenzer, Dokumenttypdeklarationen und Verarbeitungsanweisungen
beginnt mit „<“ oder mit „&“ Zeichendaten
werden von menschlichen Lesern verstanden
![Page 20: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/20.jpg)
Struktur und Syntax von XML
Gross-/Kleinschreibung wird berücksichtigt (Internationalisierung)
Namen: beginnen mit einem Buchstaben oder einem oder mehreren
Interpunktionszeichen und setzen sich fort mit Buchstaben, Ziffern, Gedankenstrichen, Unterstrichen, Doppelpunkten oder Punkten - den sog. Namenszeichen
Nmtoken (Namenstoken): ist eine beliebige Kombination aus Namenszeichen
Die Zeichenkette „xml“ ist reserviert (in allen Schreibweisen)
![Page 21: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/21.jpg)
Struktur und Syntax von XML
Literal-Zeichenketten Daten (Text, der kein Markup darstellt) eingeschlossen in "" oder '‘
Leerraum: White Spaces alle unsichtbaren Zeichen Leerzeichen (ASCII 32) Tabulator (ASCII 9) Zeilenumbruch (Carriage Return ASCII 13) Zeilenvorschub (Line Feed ASCII 10)
![Page 22: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/22.jpg)
Physische Struktur
geparste Entities:enthalten Text, der aus Zeichen zusammengesetzt istUnterscheidung in Auszeichnungen und Zeichendaten
ungeparste Entities:haben eine Notationverweisen auf binäre Daten (z.B. Bilddateien)
![Page 23: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/23.jpg)
Logische Struktur
XML Deklaration (notwendig)<?xml version="1.0"?>
Dokumenttypdeklaration (optional)<!DOCTYPE name SYSTEM "name.dtd">
Dokument-Element (notwendig)<Buch></Buch>
Verschachtelungen/Unterelemente (optional)<Buch> <Titel> ... </Titel></Buch>
![Page 24: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/24.jpg)
XML Syntax
Öffnende Element-Tags: <Buch> Schliessende Element-Tags: </Buch>
zwingend erforderlich Leeres Element:
Bsp.: <Fortsetzung/>(entspricht <Fortsetzung></Fortsetzung>)
Attribute: <Lager zone="Halle3">
![Page 25: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/25.jpg)
Referenzierung
Entity-Referenzen:Entity-Deklaration in DTD:
<!ENTITY R1 "Regal Ebene 1">Entity-Referenzierung:
<Ort>Das Produkt steht auf dem &R1;</Ort>Sonderfall: Parameter-Entities
numerische Zeichenreferenzen:dezimal: &#...;hexadezimal: &#x...;
![Page 26: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/26.jpg)
Vordefinierte Entity-Referenzen
< öffnende spitze Klammer (<) > schliessende spitze Klammer (>) & Ampersand (&) ' Apostroph (') " Anführungszeichen (")
Wie fügt man folgenden Text in ein XML Dokument ein:... „(5 > 0)“ ...
... "(5 > 0)&qout; ...
![Page 27: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/27.jpg)
Kommentar und CDATA
Kommentar: Definition: <!-- KommentarText --> Beispiel: <!-- Dies ist ein Kommentar -->
CDATA-Abschnitt: explizit vom Parsing ausgeschlossen Definition: <!CDATA[ ... ]]> Beispiel: <!CDATA[ <html>Hier kommt Kurt!</html> ]]>
![Page 28: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/28.jpg)
Processing Instructions
liefern Anweisungen für die Anwendung, die das Dokument verarbeitet
Definition: <?piName piAnweisung?>
Beispiel: <?xml version="1.0"?> <?avi codec="video1" colors="256"?>
![Page 29: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/29.jpg)
Gültiges und Wohlgeformtes XML
wohlgeformt:stimmt mit den Regeln der XML-Spezifikation übereineindeutiges Wurzelelementalle Tags werden wieder geschlossen oder sind leerkeine Überlappung von Tags (strenge Hierarchie)alle Entity-Referenzen ausser den Vordefinierten sind
deklariertLiterale stehen in einfachen oder doppelten
Anführungszeichen
![Page 30: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/30.jpg)
Gültiges und Wohlgeformtes XML
gültig: ist wohlgeformtdie im Prolog spezifizierte interne oder externe DTD
bestimmt die Regeln für das Dokumentalle diese Regeln sind zwingend zu beachten
![Page 31: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/31.jpg)
Zusammenfassung
Welche unterschiedlichen Arten von Markup gibt es? Abgrenzung HTML vs. XML? Eigenschaften von XML? Wer kontrolliert den XML Standard? Einsatzgebiete für XML? Struktur und Syntax von XML? Logischer Aufbau eines XML Dokuments?
![Page 32: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/32.jpg)
Zusammenfassung
Was sind Processing Instructions (PI‘s)? Wozu verwendet man CDATA Abschnitte? Unterschied zwischen ‚wohlgeformt‘ und
‚gültigem‘ XML?
![Page 33: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/33.jpg)
Beispiele
DTD XML Instanz XSL Document XML Schema Parser XML Editor Anwendung Datenbank
![Page 34: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/34.jpg)
Namensräume
notwendig, um eindeutige Namen zu erhalten wird durch einen URI (Uniform Resource Identifier)
identifiziert ein qualifizierter Name im Dokument besteht aus dem
Namen des Namespace und dem lokalen Namen, getrennt durch einen Doppelpunkt
<test:preisliste xmlns:test="http://namespaces.test.com/preisliste" ...>
<test:preis waehrung="DM">100</test:preis>...
</test:preisliste>
![Page 35: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/35.jpg)
Namensraum-Bereiche
Deklaration bei einem Element als Attribute aus dem Namensraum xmlns
Verwendung bei einem Element oder Attribut<el:produkt typ="software“ class:art="enduser" xmlns:el="http://ns.test.com/el/ns" xmlns:class="http://ns.test.com/el/ns"> <pname>TestIt</pname> <ppreis>100</ppreis></el:produkt>
![Page 36: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/36.jpg)
Namensraum Default
Standard-Namensraum deklarieren ohne Präfix:<?xml version="1.0"?><!-- elements are in the HTML namespace, in this case by default --><html xmlns='http://www.w3.org/TR/REC-html40'>
<head><title>Frobnostication</title>
</head><body>
<p>Moved to <a href='http://frob.com'>here</a>.</p></body>
</html>
![Page 37: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/37.jpg)
DTD
Document type definition - Dokumenttypdefinition Definition für eine Klasse von Dokumenten intern:
<!DOCTYPE email [ ... ]>
extern: <!DOCTYPE email SYSTEM "email.dtd">
![Page 38: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/38.jpg)
Einfache DTD
<?xml version="1.0"?><!DOCTYPE email [
<!ELEMENT email (an, von, cc, betreff, text)><!ELEMENT an (#PCDATA)><!ELEMENT von (#PCDATA)><!ELEMENT cc (#PCDATA)><!ELEMENT betreff (#PCDATA)><!ELEMENT text (#PCDATA)>
]>...
![Page 39: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/39.jpg)
Elemente
Any: Dieser Elementtyp darf jeden beliebigen Inhalt in jeder beliebigen
Reihenfolge enthalten <!ELEMENT test ANY>
Empty: Dieser Elementtyp darf keinen Inhalt enthalten Kann Attribute enthalten <!ELEMENT test EMPTY>
Gemischter Inhalt (Mixed Content): <!ELEMENT test (((#PCDATA)|x|y|z)*)
![Page 40: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/40.jpg)
Strukturen
Klammern (Inhalt1, Inhalt2) Gruppierung Komma (Inhalt1,Inhalt2) Sequenz Senkrechter Strich (Inhalt1|Inhalt2) Alternative ohne Inhalt1 muss 1 mal Fragezeichen Inhalt1? 0 oder 1 Stern Inhalt1* 0 bis n Plus Inhalt1+ 1 bis n
Was bed. diese Definition: <!ELEMENT email (an+, von, cc*, betreff?, text?)>
![Page 41: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/41.jpg)
Attribute
Deklaration: <!ATTLIST ElementName AttributName Typ Vorgabe>
Beispiel: <!ATTLIST email sprache (Western|Greek|Latin) "Latin">
![Page 42: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/42.jpg)
Attributtypen
CDATA es können nur Zeichendaten verwendet werden ENTITY externe, binäre Entity, die in der DTD deklariert ist ENTITIES wie ENTITY aber mehrere, durch Leerzeichen getrennt ID eindeutiger Identifier IDREF Verweis auf eine anderswo im Dokument deklarierte ID IDREFS wie IDREF aber mehrere, durch Leerzeichen getrennt NMTOKEN beliebige Zusammenstellung von Namenszeichen NMTOKENS wie NMTOKEN aber mehrere, durch Leerzeichen getrennt NOTATION muss auf eine NOTATION verweisen, die anderswo in der DTD
deklariert ist Aufzählung der Attributwert muss mit einem der genannten Werte
übereinstimmen (Inhalt1|Inhalt2)
![Page 43: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/43.jpg)
Attributtypen
#REQUIRED muss spezifiziert werden #IMPLIED optional #FIXED "Wert" das Attribut muss den angegebenen Wert haben Vorgabewert Vorbelegung des Attributwerts
![Page 44: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/44.jpg)
Notations
teilt dem Prozessor mit, welcher Objekttyp referenziert wird Deklaration:
<!NOTATION NotationsName SYSTEM "..."> Beispiel:
<!NOTATION GIF SYSTEM "Iexplore.exe">
![Page 45: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/45.jpg)
Entities
interne Entities externe Entities geparste Entities:
Textentities werden wie XML-Text behandelt ungeparste Entities:
Binärentitys werden als nicht geparste Einheiten betrachtet Parameter-Entities
![Page 46: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/46.jpg)
Interne Entities
Definition: <!ENTITY EntityName EntityDefinition>
Referenzierung: &EntityName;
Beispiel: <!ENTITY sign “Prof. Dr. Gerhard Entities">
&sign; zu beachten:
werden in der DTD definiert enthalten den Inhalt, der im Dokument verwendet wird
![Page 47: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/47.jpg)
Externe Entities
Definition: <!ENTITY EntityName SYSTEM|PUBLIC "URI" NOTATION>
SYSTEM: Wenn lokal (auf einem Rechner in einer Organisation) verwendet
Beispiel: <!ENTITY Bild SYSTEM "http://www..../bild1.gif" NDATA GIF> <!ENTITY Bild SYSTEM "bild1.gif" NDATA GIF>
![Page 48: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/48.jpg)
Externe Entities
PUBLIC: öffentlich bekannt oder Standardbibliothek
Beispiel: <!ENTITY Bild PUBLIC
"-//XMLCo//Text Standard images//EN""http://www.XMLCo.com/Images/Xmlquot.gif" NDATA GIF>
Hinweis: Externe Entitys können auch andere XML-Dateien referenzieren,
z.B. wenn ein Buch aus mehreren Kapiteln aufgebaut wird:<!ENTITY Kapitel1 SYSTEM "Kapitel1.xml">
![Page 49: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/49.jpg)
Parameter Entities
Definition: <!ENTITY % EntityName "Wert">
Referenzierung: %EntityName;
zu beachten: sind auf DTD beschränkt
![Page 50: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/50.jpg)
IGNORE und INCLUDE
dienen zum Aktivieren und Deaktivieren von Abschnitten der DTD
Definition: <![IGNORE [DTD-Abschnitt]]> <![INCLUDE [DTD-Abschnitt]]>
![Page 51: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/51.jpg)
IGNORE und INCLUDE
<!ENTITY % SICHER "IGNORE"><!ENTITY % UNSICHER "INCLUDE">
<![%SICHER; [hier Deklarationen]]><![%UNSICHER; [hier Deklarationen]]>
![Page 52: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/52.jpg)
Externe DTD
DTDs können ziemlich gross werden kann in beliebig vielen Dokumenten verwendet werden Syntax:
<!DOCTYPE EMAIL SYSTEM "email.dtd"> Beispiel:
externe DTD XML-Dokument
![Page 53: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/53.jpg)
Klassen DTD
Als Basisklasse verwendet Beispiel
<DOCTYPE EMAIL SYSTEM "..." [<!ENTITY Unterschrift "Franz">]>
Bei Konflikten wird die zuerst gefundene Deklaration verwendet (die Innere)
![Page 54: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/54.jpg)
CSS
Cascading Style Sheets Stylesheets im HTML-Umfeld CSS Level 1 nur für HTML CSS Level 2 kann auch zur Präsentation von XML im
Web-Browser verwendet werden
![Page 55: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/55.jpg)
XSL
Extensible Stylesheet Language XSL ist die Formatierungssprache für XML-Dokumente XSL ist eine Anwendung von XML XSL-T: Namespace xsl für: Transformation XSL-FO: Namespace fo für: Formatierung XPath wird zur Adressierung von Teilen (Elementen,
Teilbäumen, etc.) der XML-Dokumente verwendet um XSL anwenden zu können, benötigt man einen
XSL-Prozessor
![Page 56: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/56.jpg)
Prozess
Parser
XMLInstanz
Web CD/DVDScript
Ein validierender Parser validierender Parserführt die Prüfung einesXML-Dokuments bzgl.seiner DTD durch
ExterneElemente
XMLDokument
XSLStylesheet Formatierungsprozess
DTD Definition
XQLAnfrage
![Page 57: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/57.jpg)
XSL
Mit XSL-T kann man ein Quelldokument in eine beliebige Ausgabestruktur transformieren
XSL-FO stellt eine Vielzahl von Objekten zur Spezifikation von Formatierungen bereit
Hierzu werden Stylesheets verwendet Ein Stylesheet besteht aus einer oder mehreren
Vorlagen (Templates) Diese Vorlagen werden über Muster (Patterns)
adressiert
![Page 58: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/58.jpg)
XSL Muster
XSL verwendet Muster zur Spezifikation von XML Elementen, d.h. XSL ist deklarativ
Muster beschreiben den betreffenden Zweig innerhalb des gesamten Baumes
z.B.: email/vonadressiert das Element von, das innerhalb des Wurzelelements email liegt
![Page 59: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/59.jpg)
XSL Muster
XML-Dokument:<email>
<von>[email protected]</von><an>[email protected]</an><cc>[email protected]</cc><betreff>Tamino am Beispiel</betreff><text>Servus, die Vorstellung von Tamino am Beispiel war ein voller Erfolg. Gruss Christian</text>
</email>
XSL-Stylesheet:<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="uri:xsl"> <xsl:template match="/"> <HTML> <BODY>
<TABLE BORDER="1"> <TR>
<TD>Von</TD><TD>An</TD>
</TR><xsl:for-each select="EMAIL">
<TR><xsl:apply-templates/>
</TR> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template> <xsl:template match="./"> <TD><xsl:value-of select="VON"/></TD> <TD><xsl:value-of select="AN"/></TD> </xsl:template></xsl:stylesheet>
![Page 60: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/60.jpg)
XSL Elemente
xsl:apply-templates
xsl:attribute
xsl:cdata xsl:choose
xsl:comment
Weist den XSL-Prozessor an, auf Grundlage eines angegebenen Musters die korrekte Vorlage zu finden, die angewendet werden soll
Erzeugt einen Attributknoten und wendet ihn auf das Ausgabeelement an
Gibt einen Abschnitt CDATA aus Gestattet die Prüfung von Bedingungen. Dieses
Element wird in Verbindung mit den Elementen xsl:otherwise und xsl:when benutzt
Erzeugt in der Ausgabestruktur einen Kommentar
![Page 61: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/61.jpg)
XSL Elemente
xsl:copy
xsl:define-template-set
xsl:element
xsl:entity-ref
xsl:eval
Macht eine Kopie des Zielknotens von der Quelle, die in die Ausgabe eingefügt werden soll
Definiert einen Satz von Vorlagen auf einer bestimmten Bereichsebene
Erzeugt in der Ausgabe ein Element mit dem angegebenen Namen
Erzeugt in der Ausgabe eine Entityreferenzierung mit dem angegebenen Namen
Verwertet einen Textstring, gewöhnlich Skriptcode
![Page 62: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/62.jpg)
XSL Elemente
xsl:for-each
xsl:if
xsl:node-name
xsl:otherwise
xsl:pi
Wendet dieselbe Vorlage auf mehrere Dokumentknoten an
Gestattet in einer Vorlage die Prüfung einer Bedingung
Fügt den Namen des aktuellen Knotens als Textstring in die Ausgabe ein
Ermöglicht die Prüfung einer Bedingung. Dieses Element wird in Verbindung mit den Elementen xsl:choose und xsl:when benutzt
Erzeugt in der Ausgabe eine Verarbeitungsanweisung
![Page 63: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/63.jpg)
XSL Elemente
xsl:script
xsl:stylesheet
xsl:template
xsl:value-of
xsl:when
Definiert Deklarationen für globale Variablen und Funktionen Definiert den Satz von Vorlagen, die auf den
Quelldokumentenbaum angewendet werden müssen, um das Ausgabedokument zu erstellen
Definiert eine Vorlage für die Ausgabe auf der Grundlage eines bestimmten Musters
Wertet ein XSL-Muster aus, das im Attribut select angegeben ist, und liefert den Wert des identifizierten Knotens als Text zurück, der dann in die Vorlage eingesetzt wird
Bietet konditionale Prüfungen. Dieses Element wird in Verbindung mit den Elementen xsl:choose und xsl:otherwise benutzt
![Page 64: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/64.jpg)
XSL
in XSL muss jedes Element eine Vorlage haben, damit das Dokument einwandfrei verarbeitet werden kann
integrierte Vorlagen:<xsl:template> <xsl:apply-templates/></xsl:template>
Konflikte werden vermieden, indem bei doppelten Spezifikationen das genauer spezifizierte Muster verwendet wird
![Page 65: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/65.jpg)
Workshop I
EMAIL.XML EMAIL-externe-dtd.xml
+ Tag „attachment“ EMAIL-externe-dtd-erweitert.xml Beispiel für EMAIL zeigen und erklären
![Page 66: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/66.jpg)
Workshop II
XML für Buch erstellen DTD für Buch erstellen XSL für Buch erstellen HTML-Seite zum Aufruf erstellen
![Page 67: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/67.jpg)
Wichtige Links
www.w3.orgWorld Wide Web Consortium www.oasis-open.org/cover/ OASIS XML Cover Pages www.xml.org OASIS XML.ORG www.xml.com O'Reilly Network XML.com www.go-xml.com Software AG GO XML xml.apache.org Apache XML Project www.ibm.com/developer/xml/ IBM developerWorks msdn.microsoft.com/xml/default.asp msdn online XML wdvl.internet.com/Authoring/Languages/XML/ Web
Developer's Virtual Library
![Page 68: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/68.jpg)
Abkürzungen
XML Extensible Markup Language SGML Standard Generalized Markup Language DTD Document Type Definition XSL Extensible Stylesheet Language XQL XML Query Language HTML Hypertext Markup Language CSS1/2 Cascading Style Sheets, Level 1/2 WWW World Wide Web HTTP Hypertext Transport Protocol URI Uniform Resource Identifier URL Uniform Resource Locator URN Uniform Resource Name
![Page 69: Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.](https://reader035.fdocument.pub/reader035/viewer/2022062502/570491c91a28ab14218dc906/html5/thumbnails/69.jpg)
The XML Company