Aufbau von XML-Dokumenten - Freie Universität

Aufbau von XML-Dokumenten - Freie Universität

Aufbau von XML-Dokumenten Marko Harasic Freie Universitt Berlin Institut fr Informatik Netzbasierte Informationssysteme [email protected] Ziel der heutigen Vorlesung Sie wissen wie wohlgeformte XML-Dokumente aufgebaut sind. Wir besprechen dazu XML-Syntax Elemente Attribute Deklaration

Namensrume AG Netzbasierte Informationssysteme http://www.ag-nbi.de 2 Wiederholung: Was ist XML? XML ist eine Methode, um strukturierte Daten in einer Textdatei darzustellen. XML ist Text, aber nicht zum Lesen. XML ist eine Familie von Techniken. XML ist modular XML ist lizenzfrei und plattformunabhngig AG Netzbasierte Informationssysteme http://www.ag-nbi.de

3 XML-Syntax: XML-Dokumente Was ist ein XML-Dokument? Inhalt: Text oder Daten XML-Dokument kodiert als das Objekt, Syntaxregeln von XML entspricht (wohlgeformt ist)

gespeichert in XML-Datei AG Netzbasierte Informationssysteme http://www.ag-nbi.de 5 Grundbausteine von XML Elemente: strukturieren das XML-Dokument Attribute: Zusatzinformationen zu Elementen XML-Deklaration: Informationen fr Parser John Fitzgerald Johansen Doe

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 6 XML-Baumstruktur Beispiel von http://www.w3schools.com/xml/xml_tree.asp AG Netzbasierte Informationssysteme http://www.ag-nbi.de 7 Everyday Italian Giada De Laurentiis 2005

30.00 AG Netzbasierte Informationssysteme http://www.ag-nbi.de 8 XML-Syntax Grundbausteine: XML-Elemente Grundbausteine: XML-Elemente Beispiel: John besteht aus:

einem Anfangs-Tag (engl. start tag): hier einem dazugehrigen Ende-Tag (engl. end tag): hier einem Inhalt: hier John alles zusammen bildet ein Element haben einen Namen: hier first AG Netzbasierte Informationssysteme http://www.ag-nbi.de 10 Inhalt von Elementen 1. unstrukturierter Inhalt: einfacher Text ohne Kind-Elemente 2.

strukturierter Inhalt: Sequenz von > Kind-Elementen 3. gemischter Inhalt: enthlt Text mit mind. einem Kind-Element 4. leerer Inhalt AG Netzbasierte Informationssysteme http://www.ag-nbi.de 11 1.

Unstrukturierter Inhalt Beispiel: John ohne Kind-Elemente einfacher Text Kind-Element: Element, das im Inhalt eines Elementes vorkommt unstrukturierter Inhalt Parsed Character Data (PCDATA): character data: einfache Zeichenkette parsed: Zeichenkette wird vom Parser analysiert, um Ende-Tag zu identifizieren Normalisierung: u.a. Zeilenumbruch (CR+LF) xA;

Anmerkung: Auf den Folien schreibe ich der besseren Lesbarkeit wegen Kind-Element statt Kindelement ! AG Netzbasierte Informationssysteme http://www.ag-nbi.de 12 PCDATA Reservierte Symbole < und & in PCDATA nicht erlaubt. Symbole wie >, /, (, ), {, }, [, ], % allerdings erlaubt statt < und & Entity References & bzw. < benutzen Entity References in XML: &

& < < > > ' ' " " AG Netzbasierte Informationssysteme http://www.ag-nbi.de 13 CDATA Unstrukturierten Inhalt mit vielen reservierten

Symbolen Character Data (CDATA) CDATA Beispiel: Inhalt: String zwischen inneren Klammern [ ] hier: X < Y & Y < Z XML-Parser sucht in CDATA lediglich ]]>, analysiert den Inhalt aber ansonsten nicht. ]]> als Inhalt von CDATA nicht erlaubt AG Netzbasierte Informationssysteme http://www.ag-nbi.de

14 Nested CDATA? XML-Parser sucht in CDATA lediglich ]]>, analysiert den Inhalt aber ansonsten nicht. ]]> AG Netzbasierte Informationssysteme http://www.ag-nbi.de 15 2. Strukturierter Inhalt Beispiel:

John Doe Sequenz von > 0 Kind-Elementen: hier: John und Doe kein Text vor, nach oder zwischen den Kind-Elementen Kind-Elemente immer geordnet: Reihenfolge, so wie sie im XML-Dokument erscheinen Elemente knnen beliebig tief geschachtelt werden. AG Netzbasierte Informationssysteme http://www.ag-nbi.de 16 Baumstruktur von XML

John Fitzgerald Johansen Doe AG Netzbasierte Informationssysteme http://www.ag-nbi.de 17 3. Gemischter Inhalt (mixed content) enthlt Text mit mindestens einem Kind-Element Beispiel:

Text Text

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 18 Strukturierter und gemischter Inhalt Wie unterscheidet ein Parser strukturierten und gemischten Inhalt, wenn Text = leerer String? Antwort: Nur mit zugehriger DTD oder XML-Schema mglich! Dear Mr.John Doe. Your order 1234 will be shipped on 2010-07-14. Zugehriges

Schema Element Taken from: http://www.w3schools.com/schema/schema_complex_mixed.asp AG Netzbasierte Informationssysteme http://www.ag-nbi.de

19 Mixed Content mit DTD ]> PCDATA Content Child element 2. http://www.featureblend.com/dtd-elements-mixed-content.html AG Netzbasierte Informationssysteme http://www.ag-nbi.de

20 Baumstruktur von XML John Fitzgerald Johansen Text AG Netzbasierte Informationssysteme http://www.ag-nbi.de 21 4. Leerer Inhalt Beispiel:

John Doe weder Text noch Kind-Element auch leeres Element genannt Abkrzung: selbstschlieendes Tag (engl.: self-closing tag) : John Doe AG Netzbasierte Informationssysteme http://www.ag-nbi.de

22 Warum leere Elemente? John Doe vs. John Doe leeres Element evtl. von DTD oder XML-Schema

vorgeschrieben einfacher spter mit Inhalt zu fllen leeres Element kann Attribute haben: oder AG Netzbasierte Informationssysteme http://www.ag-nbi.de 23 XML-Syntax Grundbausteine: XML-Attribute Grundbausteine: XML-Attribute

John Doe Attribut: Name-Wert-Paar name="wert" oder name='wert' aber name= "wert Attribut-Wert: immer PCDATA: keine Kind-Elemente, kein < und & "we"rt" und 'we'rt' ebenfalls nicht erlaubt Normalisierung: u.a. Zeilenumbruch xA; Beachte: Reihenfolge der Attribute belanglos AG Netzbasierte Informationssysteme http://www.ag-nbi.de 25 Attribut statt Element

Jedes Attribut auch als Kind-Element darstellbar: John Fitzgerald Doe id als Attribut 12345 John Fitzgerald Doe id als Kind-Element

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 26 Element statt Attribut Jedes Kind-Element mit unstrukturiertem Inhalt auch als Attribut darstellbar: 12345 John Fitzgerald Doe id, first, middle und

last als KindElemente id, first, middle und last als Attribute AG Netzbasierte Informationssysteme http://www.ag-nbi.de Resultat: leeres Element 27 Attribut oder Element?

Attribut kann nur einfachen String (PCDATA) als Wert haben, Element kann beliebig strukturiert sein in Element-Inhalten erlaubt, nicht aber in Attribut-Werten Reihenfolge der Attribute belanglos, diejenige von Elementen nicht einheitliche Darstellung mit Elementen eleganter, Darstellung mit Attributen kompakter Fazit: Attribute fr einfache, unstrukturierte Zusatzinformationen (Metadaten) geeignet. AG Netzbasierte Informationssysteme http://www.ag-nbi.de

28 Beispiel John Fitzgerald Johansen Doe Erstellungsdatum creation-date ist Zusatzinformation falls noch andere Attribute vorhanden: Reihenfolge egal Reprsentation als Attribut AG Netzbasierte Informationssysteme http://www.ag-nbi.de 29

Beispiel Nachteil: Datum "21.05.2003" unstrukturiert 2002-09-24 AG Netzbasierte Informationssysteme http://www.ag-nbi.de 30 Reservierte Attribute xml:lang Sprache des Inhalts

Beispiel:

bung 1

xml:space Leerrume im Inhalt Beispiel:

bung 1

xml:id Elementbezeichner (dokumentweit eindeutig) Beispiel:

Ein Absatz

xml:base Basis-URL (fr relative Links) Beispiel:

  • XML-Technologien
    • AG Netzbasierte Informationssysteme http://www.ag-nbi.de 31 XML-Syntax Grundbausteine: XML-Deklaration Grundbausteine: XML-Deklaration John Fitzgerald Johansen Doe enthlt Informationen fr Parser: z.B. verwendete

      XML-Version und Kodierung wenn vorhanden, dann immer am Anfang der Datei in XML 1.0 optional, in XML 1.1 obligatorisch AG Netzbasierte Informationssysteme http://www.ag-nbi.de 33 XML-Deklaration Attribut: version verwendete XML-Version: "1.0" oder "1.1" obligatorisch

      Attribut: encoding Kodierung der XML-Datei Optional Attribut: standalone Gibt an, ob es eine zugehrige DTD oder ein XML-Schema gibt ("no") oder nicht ("yes"). Beachte: immer in dieser Reihenfolge! AG Netzbasierte Informationssysteme http://www.ag-nbi.de 34 XML-Deklaration: Kodierung XML-Dokument

      gespeichert in XML-Datei Unicode (UTF-8) windows1252 AG Netzbasierte Informationssysteme http://www.ag-nbi.de 35 XML-Deklaration: Kodierung XML-Parser

      mssen intern mit Unicode (UTF-8 oder UTF-16) arbeiten Unicode kann alle nationalen Zeichen darstellen: insgesamt ca. 65.000 Zeichen encoding-Attribut Zeichenkodierung der XML-Datei Fehlt das Attribut, dann wird Kodierung in Unicode angenommen. Beachte: XML-Parser mssen nur Unicode verarbeiten

      knnen! AG Netzbasierte Informationssysteme http://www.ag-nbi.de 36 XML-Syntax Andere Grundbausteine Weitere Grundbausteine von XML Kommentare -- in Kommentaren nicht erlaubt Prozessorinstruktionen Beispiel: werden ungeparst an die Anwendung weitergegeben

      selten benutzt AG Netzbasierte Informationssysteme http://www.ag-nbi.de 38 XML-Syntax Wohlgeformte XML-Dokumente Wohlgeformte XML-Dokumente 1. 2. 3. 4. 5. 6. 7.

      Jedes Anfangs-Tag muss ein zugehriges Ende-Tag haben. Elemente drfen sich nicht berlappen. XML-Dokumente haben genau ein Wurzel-Element. Element-Namen mssen bestimmten Namenskonventionen entsprechen. XML beachtet grundstzlich Gro- und Kleinschreibung. XML belsst White Space im Text. Ein Element darf niemals zwei Attribute mit dem selben Namen haben. AG Netzbasierte Informationssysteme http://www.ag-nbi.de 40 Regel 1: Anfangs- und Ende-Tags Jedes Anfangs-Tag muss zugehriges Ende-Tag haben.

      In HTML gilt diese Regel nicht:

      Text
      More text in the same paragraph.

      Some text in another paragraph.

      Wo endet das erste P-Element? HTML mehrdeutig AG Netzbasierte Informationssysteme http://www.ag-nbi.de 41 Regel 2: Elemente drfen sich nicht berlappen

      Elemente drfen sich nicht berlappen. In HTML gilt diese Regel nicht:

      Some formatted text , but no grammar no good!

      HTML unstrukturiert AG Netzbasierte Informationssysteme http://www.ag-nbi.de

      42 Regel 3: Wurzel-Element Jedes XML-Dokument hat genau ein Wurzel-Element. Also z.B. statt zweier Wurzel-Elemente John Jane zustzliches Eltern-Element einfhren: John Jane AG Netzbasierte Informationssysteme http://www.ag-nbi.de

      43 Regel 4: Namenskonventionen Element- und Attribut-Namen: beginnen entweder mit Buchstaben oder _ aber nie mit Zahlen: z.B. first, First oder _First nach erstem Zeichen zustzlich Zahlen sowie - und Punkt erlaubt: z.B. _1st-name oder _1st.name enthalten keine Leerzeichen enthalten keinen Doppelpunkt

      beginnen nicht mit xml, unabhngig davon, ob die einzelnen Buchstaben gro- oder kleingeschrieben sind AG Netzbasierte Informationssysteme http://www.ag-nbi.de 44 Namenskonvention: Beispiele

      <123> nicht korrekt: enthlt Leerzeichen nicht korrekt: beginnt mit xml nicht korrekt: beginnt mit Zahl nicht korrekt: enthlt = erlaubt wren: _, - und Punkt AG Netzbasierte Informationssysteme http://www.ag-nbi.de 45 Regel 5: Gro- und Kleinschreibung

      XML beachtet Gro- und Kleinschreibung. Im Gegensatz zu HTML unterscheidet XML also z.B. zwischen

      und

      . Dennoch mglichst nicht gleichzeitig und verwenden! Hinweis: eine Schreibweise im gesamten Dokument verwenden z.B. AG Netzbasierte Informationssysteme http://www.ag-nbi.de 46 Regel 6: White Space XML belsst White Space im Text.

      Beispiel:

      This is a paragraph. It has a whole bunch of space.

      Inhalt des P-Elementes: This is a paragraph. of space. AG Netzbasierte Informationssysteme http://www.ag-nbi.de It has a whole bunch 47 Regel 6: White Space

Beachte: Von Browsern wird White Space allerdings nicht angezeigt: Grund: XML-Dokumente werden zur Darstellung im Browser in HTML umgewandelt HTML reduziert White Space auf ein Leerzeichen AG Netzbasierte Informationssysteme http://www.ag-nbi.de 48 White what? Rckblick Folie 31:

xml:space Leerrume im Inhalt Beispiel:

bung 1

Rckblick Folie 47: XML belsst White Space im Text. Warum das Attribut? default This value allows the application to handle white space as necessary. Not including an xml:space attribute produces the same result as using the default value. preserve This value instructs the application to maintain white space as is, suggesting that it might have meaning.

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 49 Namensrume Namenskonflikte Semantic Web Prof. Dr.-Ing. Robert Tolksdorf 12/11/2004

... Namenskonflikt: gleicher Name, aber unterschiedliche Bedeutung z.B. Titel einer Veranstaltung vs. Titel einer Person in einem Dokument unterschiedliche Vokabularien AG Netzbasierte Informationssysteme http://www.ag-nbi.de 51 Auflsung durch Prfixe

Semantic Web Prof. Dr.-Ing. Robert Tolksdorf Prfixe geben Kontext an: Aus welchem Bereich stammt der Name 12/11/2004 z.B. pers:title vs. ... course:title

hnliches Vorgehen in Programmiersprachen: z.B. java.applet.Applet AG Netzbasierte Informationssysteme http://www.ag-nbi.de 52 Namensrume course:course course:title course:abstract course:lecturers course:date pers:name pers:title

pers:first Namensraum (namespace): alle Bezeichner mit identischem Anwendungskontext Namensrume mssen eindeutig identifizierbar sein. pers:last AG Netzbasierte Informationssysteme http://www.ag-nbi.de 53 Namensrume in XML

WWW: Namensrume mssen global eindeutig sein. In XML wird Namensraum mit URI identifiziert. Zuerst wird Prfix bestimmter Namensraum zugeordnet, z.B.: xmlns:pers="http://www.w3.org/2004/pers" Namensraum-Prfix Namensraum-Bezeichner (URI) Anschlieend kann das Namensraum-Prfix einem Namen vorangestellt werden: z.B. pers:title Beachte: Wahl des Prfixes egal! AG Netzbasierte Informationssysteme http://www.ag-nbi.de 54

Beispiel Semantic Web Prof. Dr.-Ing. Robert Tolksdorf 12/11/2004 ... AG Netzbasierte Informationssysteme http://www.ag-nbi.de

55 Standard-Namensraum xmlns="URI" statt xmlns:prefix="URI" Namensraum-Prfix kann weggelassen werden. Standard-Namensraum gilt fr das Element, wo er definiert ist. Kind-Elemente erben Standard-Namensraum von ihrem Eltern-Element. Ausnahme: Standard-Namensraum wird berschrieben Beachte: Standardnamensrume gelten nicht fr Attribute

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 56 Beispiel Semantic Web Prof. Dr.-Ing. Robert Tolksdorf 12/11/2004 ...

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 57 Beispiel Semantic Web Prof. Dr.-Ing. Robert Tolksdorf 12/11/2004 ...

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 58 Beispiel Semantic Web Prof. Dr.-Ing. Robert Tolksdorf 12/11/2004 ...

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 59 Standard-Namensrume: Gltigkeit Semantic Web Prof. Dr.-Ing. Robert Tolksdorf 12/11/2004 ...

AG Netzbasierte Informationssysteme http://www.ag-nbi.de 60 URIs als Namensraum-Bezeichner Beispiel: http://www.w3.org/1999/xhtml bezeichnet den Namensraum fr XHTML AG Netzbasierte Informationssysteme http://www.ag-nbi.de 61 HTTP URIs ber das angegebene

Protokoll ist eine Interaktion mit einer Reprsentation der identifizierten Informationsressource ber ein Netzwerk mglich. Resource Identifier Protokoll http://blog.ag-nbi.de/category/news/ AG Netzbasierte Informationssysteme http://www.ag-nbi.de 62 URIs als Namensraum-Bezeichner

URI kann (muss aber nicht) Beschreibung des Namensraumes enthalten URI muss nicht einmal existieren nur bei existierenden URIs Eindeutigkeit sichergestellt AG Netzbasierte Informationssysteme http://www.ag-nbi.de 63 Beispiel

http://www.book-ns.org muss nicht existieren keine Fehlermeldung, keine Warnung von XMLParser oder XMLEditor dennoch Eindeutigkeit nicht sichergestellt: jemand anderes kann gleiche URL fr anderen Namensraum verwenden neue Namensrume nur mit URIs bezeichnen, die man selbst besitzt AG Netzbasierte Informationssysteme http://www.ag-nbi.de 64 Qualified vs. Unqualified Element- oder Attribut-Name heit namensraumeingeschrnkt (qualified), wenn er einem Namensraum zugeordnet ist.

Einschrnkung vom Element-Namensraum: 1. Standard-Namensraum festlegen 2. Namensraum-Prfix voranstellen Einschrnkung vom Attribut-Namensraum: 1. Namensraum-Prfix voranstellen AG Netzbasierte Informationssysteme http://www.ag-nbi.de 65 Was bedeutet

? HTML: Bedeutung festgelegt (p = Absatz) XML:

Bedeutung offen kann aber mit Namensraum festlegt werden Beispiel: p stammt aus dem Namensraum fr XHTML. xhtml Abkrzung fr Namensraum

xmlns:xhtml="http://www.w3.org/1999/xhtml">

XML beliebig erweiterbar AG Netzbasierte Informationssysteme http://www.ag-nbi.de 67 Wie geht es weiter? XML-Syntax Namensrume Definition von XML-Sprachen mit DTDs und XMLSchema AG Netzbasierte Informationssysteme http://www.ag-nbi.de 68

Recently Viewed Presentations

  • UPDATES - calabanganhs301952.weebly.com

    UPDATES - calabanganhs301952.weebly.com

    To facilitate the submission and processing of basic and related reports, all concerned are hereby informed of the School's REPORTORIAL MECHANISM for guidance and reference.
  • INSOL International Global Insolvency Practice Course Module A

    INSOL International Global Insolvency Practice Course Module A

    Request publication of opening judgment or registration of judgment in public registers kept in another MS (Art. 21, 22) Request opening of secondary proceedings in other MSs (art. 29) Participate in secondary proceedings (Art. 32(3)) Request stay of the process...
  • A New Paradigm For The Treatment Of Dental Caries

    A New Paradigm For The Treatment Of Dental Caries

    Clinical Trends In The Diagnosis And The Treatment Of Dental Caries
  • 36th Conference of the Directors of EU Paying Agencies

    36th Conference of the Directors of EU Paying Agencies

    Conclusions of the 36th Conference of the Directors of EU Paying Agencies. Rome, Italy. 10th- 12thNovember 2014. 07/05/2015. The 36th Conference of the Directors of EU Paying Agencieshasbeenorganizedby AGEA CoordinatingBody. ... The first workshop was about greening EFA layer implementation...
  • Scientific Method, Theories &amp; Laws

    Scientific Method, Theories & Laws

    Scientific Law. A scientific law is a statement based on repeated experimental observations that describes some aspects of the universe. A scientific law always applies under the same conditions, and implies that there is a causal relationship involving its elements.
  • Prostatitis - TERRAtrade

    Prostatitis - TERRAtrade

    CPPS Treatment Surgery TURP/BNI only if evidence of obstruction. TURP in refractory Cat. II reported. TURP in CPPS - no evidence Radical prostatectomy - one case reported 'No definitive clinical series or long-term follow-up has ever been presented, and this...
  • Consensus Model for APRN Regulation: Licensure, Accreditation, Certification,

    Consensus Model for APRN Regulation: Licensure, Accreditation, Certification,

    Blended programs with variable clinical hours. ... APRN's are educated in one of the four roles and in at least one of six population foci: family/individual across the lifespan, adult-gerontology, neonatal, pediatrics, women's health/gender-related or psych/mental health. ...
  • I loved reading all your pobble365 stories that

    I loved reading all your pobble365 stories that

    Synonyms for said New speaker, new line Please continue with your TTRock stars- we'll be carrying on with our 9's and 6's next week so make sure you practise, practise, practise. Complete your maths on the squared paper provided. Spellings...