1 / 104

XML

XML. Einführungskurs Referentin: Dipl.-Dok. Rusalka Offer FH Köln – Fakultät für Informations- und Kommunikationswissenschaft. Folie 6-8. Allgemeines zu XML. Folie 9. Ziele von XML. Folie 31 -33. Folie 103 - 104. Folie 10-12. Eigenschaften von XML. Folie 13 -15. XML und HTML.

Download Presentation

XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML Einführungskurs Referentin: Dipl.-Dok. Rusalka Offer FH Köln – Fakultät für Informations- und Kommunikationswissenschaft

  2. Folie 6-8 • Allgemeines zu XML • Folie 9 • Ziele von XML • Folie 31 -33 • Folie 103 - 104 Folie 10-12 Eigenschaften von XML Folie 13 -15 XML und HTML Folie 16-19 Parser, Auszeichnungsarten, Beispiel Folie 20 -27 Prolog Folie 28 -30 Allgemeines zu DTDs Deklarationsarten und Namensregeln Element-Typ-Deklarationen; Inhaltsmodelle Folie 34 -56 Folie 57 – 77 Attribut-Typ-Deklartationen Folie 78 - 93 Entity-Deklarationen Folie 95 -102 Notation-Deklarationen, Marked Sections etc Editoren

  3. XML – Why learn XML ? Beiträge aus der XML4lib –Liste:““Maintain a single list of subscription databases (complete with administrative info) without using a database to do it. I can format this one list anyway I want (by subject, name, staff-only views, etc.) using XSLT.“Ran a pilot-project for storing digital publications and searching associated metadata using only XML and XSLT.OCLC Connexion offers a built-in crosswalk to convert MARC to XML(RDF-Dublin Core). We plan to use this in upcoming digitization projects to provide metadata to non-MARC systems. Librarians increasingly need to understandthe relationships of standards like RDF, METS, DC, TEI, etc. and what to do with them.

  4. XML – Why learn XML ? Beiträge aus der XML4lib –Liste:“Serials Solutions offers the option to receive reports in a single XML file. We could eventually use this file as a single source for viewing and searching the report.“ “Some OpenURL resolver systems require some XSLT know-how to format results lists. “ “Most importantly, XSLT is fun! “ In the wider University front, XML is increasingly being used as apublishing mechanism for Course Specifications, the University Handbook and so on. We feel there are increasing possibilities for integrating existing University data into our Library services using XML as the platform.

  5. XML – Why learn XML ? Beiträge aus der XML4lib –Liste:“We recently used our XML skills to cosmetically alter the presentation of web pages within a vendor product, Fretwell-Downing's VDX product which is being used for the LIDDAS project in Australia (for inter-lending and document supply). The web pages for this product are all XSL files. We've modified the look and feel to compliment other end-user interfaces that we offer in our existing suite of products and couldn't have done that without our XML skills.“ “...frankly I look at XML/XSLT as a hammer -- once you have it, and know how to use it, you find all kinds of uses for it that would not necessarily have occurred to you without that tool in your hand. “

  6. XML - Extensible Markup Language XML und sein Umfeld (1)· XML wurde von der XML Working Group entwickelt (früher SGML Editorial Review Board).· Aktuelle Spezifikationen rund um XML sind: - XML 1.0 (Feb.98) - Namespaces (Feb. 99) [Namensräume] -Xlink (Juni 2001) [XML - Linking - Language] -Xpointer (Endphase März 2002) [Adressierung von Verweizielen] -XML Base (Juni 2001) [Übertragung der Funktionalität des HTML- Base-Tags in XML] -XQUERY: (Dez. 2001) [Query Language for XML]

  7. XML - Extensible Markup Language XML und sein Umfeld (2) - XML Schema - Part 1 Structures (Mai 2001) - XML Schema - Part 2 Datatypes (Mai 2001) [Alternative zu DTDs] - DOM Level 3 (gerade in der letzten Phase) [Document Object Model, Objekt-Modell, dass den Zugriff auf XML und/oder HTML -Dokumente beschreibt -XSL : XSLT2.0 und Xpath 2.0 (Feb. 2001) [Transformation und Ausgabe von XML- Dokumenten] -XML Protocol (Entwurf Dez. 2001) [XMLP, Protokoll für XML-Anwendungen]

  8. XML - Extensible Markup Language Allgemeines:· System- und Anwendungsunabhängiges Datenformat· Sinnvoll z. B für den Datenaustausch innerhalb größerer Einrichtungen über das Web (Anwendung im Bereich Datenbanken, Autorensysteme, Dokumentarchive, Informationssysteme...) · Für Web-Designer, die nur an der Darstellung auf dem Bildschirm arbeiten nur mittelmäßig interessant

  9. XML - Extensible Markup Language Ziele:· XML soll eine universelle Sprache für: -Datenaustausch, -Retrieval -Datenverwaltung · XML soll nutzbar für / über das Internet sein· XML soll viele Applikationen unterstützen· XML soll kompatibel mit SGML sein. · XML-Dokumente sollten einfach zu erstellen sein· Ursprünglich HTML - Alternative

  10. XML - Extensible Markup LanguageEigenschaften von XML· Der Anwender kann eigene Tags und Attribute definieren · Diese Tags haben nichts mit der Darstellung am Bildschirm zu tun, sondern sind semantische Tags· Trennung von Layout und Inhalt· Wiedergabe von definierten StrukturenBeispiel<autor>Joachim Ringelnatz</autor>

  11. XML - Extensible Markup LanguageEigenschaften von XML · XML ist eine Metasprache, mit der Dokumenttypen definiert werden können· Tags und Attribute werden vorher in einer Document Type Definition (DTD) oder einem Schema festgelegt · Auch ohne eine DTD / ein Schema kann ein XML- Dokument gelesen werden, wenn es spezielle Kriterien erfüllt

  12. XML - Extensible Markup LanguageEigenschaften von XML · XML ist eine echte Untermenge von SGML - gültige XML-Dokumente sind gültige SGML Dokumente· XML ist einfacher anzuwenden und zu implementieren als SGML (Vergleich SGML-Spezifikation 500 S. XML- Spezifikation 26 S.)

  13. XML - Extensible Markup LanguageXML und HTML (1)· XML hat im Gegensatz zu HTML keine fest definierte Menge von Tags und Attributen·HTML-Dokumente können auch gültige XML- Dokumente sein, wenn sie nachfolgende 5 Kriterien erfüllen (Wohlgeformheitskriterien):· XML-Elemente haben immer ein Start-Tag und ein Ende-Tag: Start-Tag und Ende-Tag schließen ein Element ein

  14. XML - Extensible Markup LanguageXML und HTML (2)·Alle Attributwerte stehen in Anführungszeichen·Es gibt keine leeren Tags, auch leere Elemente brauchen ein Ende-Tag: entweder <br></br> oder <br /> ·Die Elemente müssen sauber verschachtelt werden:richtig: <b><i>Richtige Verschachtelung</i></b>falsch: <b><i>Falsche Verschachtelung</b></i>·Es gibt eine strikte hierarchische Struktur, mit genau einem Wurzelelement

  15. XML - Extensible Markup LanguageXML und HTML (3)· XML-Dokumente müssen wohlgeformt sein (well-formed)· XML unterscheidet zwischen Groß- und Kleinschreibung (case sensitive) <h1> ist nicht dasselbe wie <H1>· Leerzeichen (white spaces) sind relevant· Künftiges HTML wird XML-Module als Grundlage haben

  16. XML - Extensible Markup LanguageParser· XML-Parser sind Programme, die XML-Dokumente Stück für Stück lesen und überprüfen· Ein Parser kann feststellen, ob ein Dokument den Kriterien der Gültigkeit und / oder der Wohlgeformtheit entspricht· Ein Parser kann ein auf verschiedene Dateien verteiltes Dokument zusammensetzen

  17. XML - Extensible Markup LanguageParser· Ein Parser erstellt einen Baum, in dem die Abhängigkeiten der Elemente erkennbar werden und unterstützt so Anwendungsprogramme· Die XML-Spezifikation enthält Regeln, die das Verhalten eines Parsers beschreibt· Im Allgemeinen überprüft der Parser ein Dokument sowie die zugehörige DTD und stellt Fehler fest

  18. XML - Extensible Markup LanguageAuszeichnungsarten in XMLXML-Dokumente bestehen immer aus Inhalt (content) und Auszeichnung (markup). Es gibt sechs verschiedene Arten von Auszeichnung:· elements· entity references· comments· processing instructions· marked sections· DTDs (document type definitions)

  19. XML - Extensible Markup LanguageEin einfaches XML-DOKUMENT<?xml version="1.0" encoding="UTF-8” standalone="yes"?><Adressbuch> <Person> <Name> <Nachname>Clinton</Nachname> <Vorname>Bill</Vorname></Name> <EMail>Clinton@whitehouse.org</EMail> </Person></Adressbuch>

  20. XML - Extensible Markup LanguagePrologEin XML-Dokument sollte mit dem sogenannten Prolog beginnen, der die XML-Spezifikation und die Kodierungsinformation enthält, aber auch die Angabe, ob eine DTD vorhanden ist oder nicht.Beispiel:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

  21. XML - Extensible Markup LanguageProlog - Erläuterung<?xml Tags, die mit einem Fragezeichen eingeleitet und abgeschlossen werden stellen eine sogenannte Processing Instruction (PI) dar. Sie aktivieren den Parser zur Verarbeitung der Instruktionen im XML- Dokument

  22. XML - Extensible Markup LanguageProlog - Erläuterungversion="1.0" Angabe der XML-Version auf der das Dokument basiert. Diese Versionsdeklaration wird zum Interpretieren des XML Source-Code benötigt, da zukünftige XML -Versionen nicht ausgeschlossen sind. Die Versionsdeklaration ist obligatorisch und steht immer hinter xml

  23. XML - Extensible Markup LanguageProlog - Erläuterungencoding="UTF-8" Die XML - Prozessoren müssen die Unicode-Codierungen UTF-8 und UTF-16 verarbeiten können.(UTF = UCS Transformation Format)(UCS = Universal Multi-Octet Coded Character Set)Die ersten 256 Unicode Zeichen entsprechen den Codes von ISO 646 (ASCII) und ISO-8859-1 (west- europäischen Zeichensatz, auch "Latin 1" genannt).

  24. XML - Extensible Markup LanguageProlog - Erläuterungstandalone="yes" In dieser Deklaration gibt der Wert "yes" an, dass dieses XML-Dokument nicht auf einer DTD basiert. In diesem Fall kann das XML-Dokument nicht vom Parser auf Gültigkeit überprüft werden. Es kann aber bei Einhaltung der XML Syntax-Regeln als “wohlgeformt" gelten und von einem XML-fähigen Browser darstellbar sein.Der Wert “no“ gibt an, dass eine DTD vorhanden ist.

  25. XML - Extensible Markup LanguageProlog - ErläuterungBeispiel:<?xml version= " 1.0" encoding="UTF-8" standalone= " no" ?><!DOCTYPE Adressbuch SYSTEM "adress.dtd">Ein Prolog mit einer Dokumenttyp-Deklaration und einem Verweis auf eine externe DTD namens adress.dtd

  26. XML - Extensible Markup LanguageProlog - Erläuterung<!DOCTYPE Adressbuch SYSTEM "adress.dtd">Bevor ein Parser beginnen kann ein XML - Dokument gegen eine DTD abzugleichen, um auf diese Art die Gültigkeit des Dokumentes festzustellen, muss ihm der Standort der DTD angegeben werden. Dieses geschieht durch die DOCTYPE-Deklaration. Zu jedem gültigen XML - Dokument gehört eine DOCTYPE-Deklaration

  27. XML - Extensible Markup LanguageProlog - Erläuterung<!DOCTYPE Adressbuch SYSTEM "adress.dtd">Die DOCTYPE-Deklaration enthält auch den Namen des hierachisch höchsten Elementes (Wurzelelement oder Dokumentelement), hier ‘Adressbuch‘.Das Schlüsselwort SYSTEM gibt an, daß die anschließend genannte Datei extern im Dateisystem oder Netz zu suchen ist. Hier kann ein Dateiname mit relativem oder absolutem Pfad stehen oder eine Internetadresse

  28. XML - Extensible Markup LanguageAllgemeines zu DTDs (Document Type Definitons)Die DTDs erlauben es, zu einem XML-Dokument dem Parser Informationen über seinen Inhalt zukommen zu lassen. Sie enthalten die erlaubte Reihenfolge und die erlaubten Verschachtelungen von Tags, die Attribute, ihre Werte und den Default-Zustand, die Namen von externen Dateien, auf die verwiesen wird und die Entitäten, die vorkommen. Sie definieren somit das XML-Dokument.

  29. XML - Extensible Markup LanguageAllgemeines zu DTDs (Document Type Definitons)· Eine DTD ist die Grammatik für das XML-Dokument, sie bestimmt welche Tags und Attribute für das jeweilige Dokument gültig ist· DTDs können extern angegeben werden (URI, URL) oder innerhalb des XML-Dokumentes· Eine externe DTD kann aber auch durch eine interne DTD ergänzt werden, ein Parser kann interne und externe DTDs zusammen zu einer Gesamt-DTD zusammenfügen

  30. XML - Extensible Markup LanguageAllgemeines zu DTDs (Document Type Definitons)· Eine interne DTD-(Unter)-Menge wird immer zuerst eingelesen, bei mehrfach Deklarationen die sowohl in der internen als auch in der externen DTD vorkommen, gelten die der internen Untermenge· XML-Dokumente ohne DTD müssen den Kriterien der Wohlgeformtheit entsprechen · Eine DTD wird unter Verwendung einer formalen Grammatik notiert, der Extended Backus-Naur Form (EBNF)

  31. XML - Extensible Markup Languageeinige Vorüberlegungen zur Erstellung einer DTD: · Welches sind die abzubildenden Dokumente bzw. Dokumentarten / Dokumenttypen und welche typische Struktur haben sie?· Welche Ziele werden verfolgt? Datenaustausch, Recherche, Ausgabe etc· Welche Software (Datenbank, Dokumenten- managementsystem etc) wird verwendet

  32. XML - Extensible Markup LanguageDTD: DeklarationsartenInnerhalb einer DTD kann es folgende Arten von Deklarationen geben:· Element Type Declarations· Attribute List Declarations· Entity Declarations· Notation Declarations

  33. XML - Extensible Markup LanguageDTD: Deklarationen: NamensregelnFür Namen in einer DTD gelten folgende Regeln:· Die Zeichenfolge XML ist reserviert und darf nicht als Namensanfang verwendet werden· Namen müssen mit einem Buchstaben oder einem Unterstrich beginnen (Namensräume beginnen mit einem Doppelpunkt)· Die nachfolgenden Zeichen können Buchstaben, Ziffern, Punkt, Minuszeichen, Doppelpunkt und verschiedene andere Zeichen sein. Möglichst auf Sonderzeichen verzichten· Groß- und Kleinschreibung ist relevant

  34. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations· Element-Typ-Deklarationen bestimmen die Namen der Elemente und die Inhaltsarten· Sie sind wichtigster Bestandteil in XML, da sie die strukturellen Einheiten angeben. · Elemente können folgendes enthalten -andere Elemente -Daten (Text, Graphik etc) -nichts (Definiton als leeres Element)· Der mögliche Inhalt von Elementen wird durch ein Inhaltsmodell festgelegt

  35. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations:InhaltsmodelleFolgende Inhaltmodelle existieren für Elemente:· Gruppen: Der Elementinhalt besteht aus Kindelementen / Subelementen. Das Auftreten der Kindelemente kann durch Operatoren bestimmt werden

  36. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations:Inhaltsmodelle· Daten: Der Elementinhalt besteht aus Zeichen/Daten besteht und wird mit dem reservierten Wort #PCDATA angegeben· Gemischter Inhalt: Der Elementinhalt besteht aus Kindelementen und Daten

  37. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations:Inhaltsmodelle· leerer Inhalt : Der Elementinhalt wird mit dem Schlüsselwort EMPTY angegeben Beispiel: <!Element br EMPTY>· beliebiger Inhalt: Der Elementinhalt wird mit Schlüsselwort ANY angegeben. Gemeint ist ein beliebiger Inhalt aus PCDATA und aller in der DTD definierten Elemente Beispiel: <!Element div ANY>

  38. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations:Inhaltsmodelle: OperatorenDie Reihenfolge und das Auftreten von Kind- elementen und PCDATA wird durch Operatoren / Konnektoren bestimmtMengenoperatoren: Beispiele<!ELEMENT Adressbuch (Person?)> Das Element Person taucht nicht auf oder genau einmal (also höchstens einmal)

  39. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations:Inhaltsmodelle: OperatorenMengenoperatoren: Beispiele<!ELEMENT Adressbuch (Person+)> Einmaliges oder mehrmaliges Auftreten des Elementes Person<!ELEMENT Adressbuch (Person*)> Element Person kann kein oder mehrmals (also beliebig oft) auftreten

  40. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations:Inhaltsmodelle: OperatorenStrukturoperatoren: Beispiele<!ELEMENT Adressbuch (Person | Mensch)> Element Person oder Element Mensch kann auftreten (Bildung von Alternativen)

  41. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations:Inhaltsmodelle: OperatorenStrukturoperatoren: Beispiele<!ELEMENT Adressbuch (Nachname, Vorname)> Element Nachname gefolgt von Element Vorname (Bildung von Sequenzen)<!ELEMENT Adressbuch (Nachname, Vorname)+> Zusammengesetztes Element (hier: Sequenz) tritt mindestens einmal auf

  42. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: BeispieleEine typische Deklaration sieht so aus:<!ELEMENT Adressbuch (Person+)> <!ELEMENT Person (Name, Email*)><!ELEMENT Name (Nachname, Vorname)><!ELEMENT Nachname (#PCDATA)><!ELEMENT Vorname (#PCDATA)><!ELEMENT Email (#PCDATA)>

  43. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: Beispiele: ErläuterungEine Element-Typ-Deklaration beginnt immer mit <!ELEMENT , danach wird der Name des Elementtyps angegeben anschließt folgt das Inhaltsmodell (''content model'').

  44. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: Beispiele: Erläuterung<!ELEMENT Adressbuch (Person+)> Die erste Deklaration bestimmt, dass es ein Element Adressbuch gibt. Danach folgt das ''content model'', das angibt, welche Elemente ''Adressbuch'' enthalten kann. In diesem Falle enthält das Element Adressbuch das Element Person. Das Pluszeichen hinter Person gibt an, dass das Element mindestens einmal aber auch mehrmals auftauchen kann.

  45. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: Beispiele: Erläuterung<!ELEMENT Person (Name, Email*)>Die zweite Deklaration bestimmt das Element Person genauer: Das Element Person enthält die Elemente Name und Email, wobei diese genau in dieser Reihenfolge auftreten müssen. Das Element Email ist dabei optional, was durch das Sternchen am Ende kenntlich gemacht wird. Name muss genau einmal vorhanden sein.

  46. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: Beispiele: Erläuterung<!ELEMENT Name (Nachname, Vorname)>Die dritte Deklaration bestimmt das Element Name. Das Element Name besteht aus Nachname und Vorname, die jeweils genau einmal vorkommen dürfen.

  47. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: Beispiele: Erläuterung<!ELEMENT Nachname (#PCDATA)><!ELEMENT Vorname (#PCDATA)><!ELEMENT Email (#PCDATA)>Die Deklarationen in Zeilen 4-6 bestimmen die Elemente Nachname, Vorname und Email. Diese Elemente enthalten keine weiteren Elemente, sondern Daten bzw. Zeichen. Dies wird durch #PCDATA festgelegt.

  48. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: Beispiele:<!ELEMENT Person (Nachname, Vorname, Adresse, Telefon, Email, Firma)>Hier wird eine feste Abfolge der Unter-Elemente vorgegeben. Bei der Benutzung des Kommas müssen die Unter-Elemente genau in der vorgegebenen Reihenfolge auftauchen und zwar genau einmal.

  49. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: Beispiele:<!ELEMENT Person (Nachname | Vorname | Adresse | Telefon | Email | Firma)>Bei dieser Deklaration wird eine ausschließliche Oder-Vernüpfung gebildet: nur eines der Elemente darf als Unter-Element auftauchen.

  50. XML - Extensible Markup LanguageDTD: Deklarationsarten:Element Type Declarations: Beispiele:<!ELEMENT Person (Nachname, Vorname, Adresse, Telefon, Email, Firma)*>Der Stern hinter der Aufzählung bewirkt, dass die Elemente in beliebiger Reihenfolge vorkommen können.

More Related