Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG."—  Präsentation transkript:

1 Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG

2 Voraussetzungen Allgemeine Kenntnisse über: World Wide Web (WWW) Auszeichnungssprachen (z.B. HTML) Programmiersprachen (z.B. C, C++, Java)

3 Ziele von Teil 1 Verstehen von: XML und seinen Einsatzbereichen Anwenden von: XML und DTD XML Namespaces XML Stylesheets (CSS, XSL)

4 Inhaltsverzeichnis XML - Extensible Markup Language XML Namespaces DTD - Document Type Definitions XML Stylesheets - XSL Workshops wichtige Links Abkürzungsverzeichnis

5 XML - Extensible Markup Language Einleitung Markup Languages (Auszeichnungssprachen) Einstieg Grundlagen Struktur und Syntax Regeln der DTD

6 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

7 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

8 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

9 Auszeichnungssprachen HTML (*.html, *.htm) Rich Text Format (*.rtf) Microsoft Word (*.doc, *.dot) Adobe PostScript (*.ps, *.eps) Adobe Portable Document Format (*.pdf) LaTeX (*.tex), usw.

10 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 entwickelt sehr grosses Interesse der Industrie, z.B. Microsoft, IBM, Sun, Apache, SAP, Oracle, Adobe, Corel, Macromedia, Software AG, DataChannel, webMethods, eXcelon,...

11 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.

12 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

13 XML vs. HTML Dich mir Chef XML Hier geht es um XML HTML AN: Dich VON: mir CC: Chef Betreff: HTML Hier geht es um: HTML.

14 XML im Einsatz als offenes Format für Datenaustausch als strukturierte, semantisch reiche Webdaten mehr Verarbeitung beim Client semantische Findmaschinen und Informationsagenten für neue Webanwendungen (z.B. Small-Screen-Clients) zur Speisung unterschiedlichster Anwendungen mit denselben Daten zur Datenspeicherung (Aufbewahrungspflicht)

15 XML im Einsatz XML/EDI Elektronischer Datenaustausch offener, herstellerunabhängiger Standard leicht zu implementieren flächendeckend möglich Zeit und Kosten werden gespart steigert die Effizienz traditionelles EDI besitzt feste Transaktionssätze

16 XML im Einsatz Web XHTML-Webseiten (XForms) Daten anzeigen im Web (mit Stylesheets) Personalisierte Webseiten Webportale Suchmaschinen („Findmaschinen“) Informationsagenten Internet-Auktionen

17 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

18 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

19 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

20 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)

21 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)

22 Physische Struktur geparste Entities: enthalten Text, der aus Zeichen zusammengesetzt ist Unterscheidung in Auszeichnungen und Zeichendaten ungeparste Entities: haben eine Notation verweisen auf binäre Daten (z.B. Bilddateien)

23 Logische Struktur XML Deklaration (notwendig) Dokumenttypdeklaration (optional) Dokument-Element (notwendig) Verschachtelungen/Unterelemente (optional)...

24 XML Syntax Öffnende Element-Tags: Schliessende Element-Tags: zwingend erforderlich Leeres Element: Bsp.: (entspricht ) Attribute:

25 Referenzierung Entity-Referenzen: Entity-Deklaration in DTD: Entity-Referenzierung: Das Produkt steht auf dem &R1; Sonderfall: Parameter-Entities numerische Zeichenreferenzen: dezimal:&#...; hexadezimal:&#x...;

26 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;...

27 Kommentar und CDATA Kommentar: Definition: Beispiel: CDATA-Abschnitt: explizit vom Parsing ausgeschlossen Definition: Beispiel: Hier kommt Kurt! ]]>

28 Processing Instructions liefern Anweisungen für die Anwendung, die das Dokument verarbeitet Definition: Beispiel:

29 Gültiges und Wohlgeformtes XML wohlgeformt: stimmt mit den Regeln der XML-Spezifikation überein eindeutiges Wurzelelement alle Tags werden wieder geschlossen oder sind leer keine Überlappung von Tags (strenge Hierarchie) alle Entity-Referenzen ausser den Vordefinierten sind deklariert Literale stehen in einfachen oder doppelten Anführungszeichen

30 Gültiges und Wohlgeformtes XML gültig: ist wohlgeformt die im Prolog spezifizierte interne oder externe DTD bestimmt die Regeln für das Dokument alle diese Regeln sind zwingend zu beachten

31 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?

32 Zusammenfassung Was sind Processing Instructions (PI‘s)? Wozu verwendet man CDATA Abschnitte? Unterschied zwischen ‚wohlgeformt‘ und ‚gültigem‘ XML?

33 Beispiele DTD XML Instanz XSL Document XML Schema Parser XML Editor Anwendung Datenbank

34 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

35 Namensraum-Bereiche Deklaration bei einem Element als Attribute aus dem Namensraum xmlns Verwendung bei einem Element oder Attribut TestIt 100

36 Namensraum Default Standard-Namensraum deklarieren ohne Präfix: Frobnostication Moved to here.

37 DTD Document type definition - Dokumenttypdefinition Definition für eine Klasse von Dokumenten intern: extern:

38 Einfache DTD ...

39 Elemente Any: Dieser Elementtyp darf jeden beliebigen Inhalt in jeder beliebigen Reihenfolge enthalten Empty: Dieser Elementtyp darf keinen Inhalt enthalten Kann Attribute enthalten Gemischter Inhalt (Mixed Content):

40 Strukturen Klammern(Inhalt1, Inhalt2)Gruppierung Komma(Inhalt1,Inhalt2)Sequenz Senkrechter Strich(Inhalt1|Inhalt2)Alternative ohneInhalt1muss 1 mal FragezeichenInhalt1?0 oder 1 SternInhalt1*0 bis n PlusInhalt1+1 bis n Was bed. diese Definition:

41 Attribute Deklaration: Beispiel:

42 Attributtypen CDATAes können nur Zeichendaten verwendet werden ENTITYexterne, binäre Entity, die in der DTD deklariert ist ENTITIESwie ENTITY aber mehrere, durch Leerzeichen getrennt IDeindeutiger Identifier IDREFVerweis auf eine anderswo im Dokument deklarierte ID IDREFSwie IDREF aber mehrere, durch Leerzeichen getrennt NMTOKENbeliebige Zusammenstellung von Namenszeichen NMTOKENSwie NMTOKEN aber mehrere, durch Leerzeichen getrennt NOTATIONmuss auf eine NOTATION verweisen, die anderswo in der DTD deklariert ist Aufzählungder Attributwert muss mit einem der genannten Werte übereinstimmen (Inhalt1|Inhalt2)

43 Attributtypen #REQUIREDmuss spezifiziert werden #IMPLIEDoptional #FIXED "Wert"das Attribut muss den angegebenen Wert haben VorgabewertVorbelegung des Attributwerts

44 Notations teilt dem Prozessor mit, welcher Objekttyp referenziert wird Deklaration: Beispiel:

45 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

46 Interne Entities Definition: Referenzierung: &EntityName; Beispiel: &sign; zu beachten: werden in der DTD definiert enthalten den Inhalt, der im Dokument verwendet wird

47 Externe Entities Definition: SYSTEM: Wenn lokal (auf einem Rechner in einer Organisation) verwendet Beispiel:

48 Externe Entities PUBLIC: öffentlich bekannt oder Standardbibliothek Beispiel: Hinweis: Externe Entitys können auch andere XML-Dateien referenzieren, z.B. wenn ein Buch aus mehreren Kapiteln aufgebaut wird:

49 Parameter Entities Definition: Referenzierung: %EntityName; zu beachten: sind auf DTD beschränkt

50 IGNORE und INCLUDE dienen zum Aktivieren und Deaktivieren von Abschnitten der DTD Definition:

51 IGNORE und INCLUDE

52 Externe DTD DTDs können ziemlich gross werden kann in beliebig vielen Dokumenten verwendet werden Syntax: Beispiel: externe DTD XML-Dokument

53 Klassen DTD Als Basisklasse verwendet Beispiel ]> Bei Konflikten wird die zuerst gefundene Deklaration verwendet (die Innere)

54 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

55 XSL Extensible Stylesheet Language XSL ist die Formatierungssprache für XML-Dokumente XSL ist eine Anwendung von XML XSL-T:Namespace xslfür:Transformation XSL-FO:Namespace fofü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

56 Prozess Parser XML Instanz Web CD/DVD Script validierender Parser Ein validierender Parser führt die Prüfung eines XML-Dokuments bzgl. seiner DTD durch Externe Elemente XML Dokument XSL Stylesheet Formatierungsprozess DTD Definition XQL Anfrage

57 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

58 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.: /von adressiert das Element von, das innerhalb des Wurzelelements liegt

59 XSL Muster XML-Dokument: Tamino am Beispiel Servus, die Vorstellung von Tamino am Beispiel war ein voller Erfolg. Gruss Christian XSL-Stylesheet: Von An

60 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

61 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

62 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

63 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

64 XSL in XSL muss jedes Element eine Vorlage haben, damit das Dokument einwandfrei verarbeitet werden kann integrierte Vorlagen: Konflikte werden vermieden, indem bei doppelten Spezifikationen das genauer spezifizierte Muster verwendet wird

65 Workshop I .XML -externe-dtd.xml + Tag „attachment“ -externe-dtd-erweitert.xml Beispiel für zeigen und erklären

66 Workshop II XML für Buch erstellen DTD für Buch erstellen XSL für Buch erstellen HTML-Seite zum Aufruf erstellen

67 Wichtige Links Wide Web Consortium Wide Web Consortium XML Cover Pages XML.ORG XML.ORG Network XML.com Network XML.com AG GO XML xml.apache.orgApache XML Project xml.apache.orgApache XML Project developerWorks developerWorks msdn.microsoft.com/xml/default.aspmsdn online XML msdn.microsoft.com/xml/default.aspmsdn online XML wdvl.internet.com/Authoring/Languages/XML/ Web Developer's Virtual Library wdvl.internet.com/Authoring/Languages/XML/ Web Developer's Virtual Library

68 Abkürzungen XMLExtensible Markup Language SGMLStandard Generalized Markup Language DTDDocument Type Definition XSLExtensible Stylesheet Language XQLXML Query Language HTMLHypertext Markup Language CSS1/2Cascading Style Sheets, Level 1/2 WWWWorld Wide Web HTTPHypertext Transport Protocol URIUniform Resource Identifier URLUniform Resource Locator URNUniform Resource Name

69 The XML Company


Herunterladen ppt "Einführung in XML - Teil 1 Kai Besser Dipl. Ing. Informatik Account Manager Software AG."

Ähnliche Präsentationen


Google-Anzeigen