5. Datenaustausch mit XML Seite 1Kapitel 5: Datenaustausch mit XMLIDer E-Commerce beruht auf dem elektronischen Austausch vonDokumenten.IAustauschform
5. Datenaustausch mit XML 5.1. XML Seite 10AttributeIEin Element darf zu jedem Attribut m aximal einen Wert haben.IDie Attribute eines Elementes sind
5. Datenaustausch mit XML 5.1. XML Seite 11erweiterter XML-BaumProvinzProvinzLNameLandMondialMitgliedLageStadtStadtSNameEinwohnerSNameEinwohnerSNameEi
5. Datenaustausch mit XML 5.1. XML Seite 12XML ist mehrProcessing Instructions, Entity Declarations und Name Spaces betrachtenwir nicht.Folien zum Buc
5. Datenaustausch mit XML 5.1. XML Seite 13XML-ProzessorIDen Zugang zu Inhalt und Struktur eines XML-Dokumenteserm¨oglicht der XML-Prozessor.IMit dies
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 145.2 Definition von Dokumenttypen (DTD)Elementtypen und AttributtypenIEine DTD
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 15Definition von TypenIEine DTD ist formal eine Grammatik.IDefinition von Element
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 16ContentIEMPTY: Elemente von diesem Typ hab e n keinen Inhalt.IANY: Es sind be
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 17InhaltsmodellIDas Inhaltsmo de ll wird durch einen regul¨aren Ausdruck α defin
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 18Beispiel<!DOCTYPE Mondial[<!ELEMENT Mondial (Land+)><!ELEMENT Lan
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 19IDie Definition einer DTD wird durch <!DOCTYPE aName[ und ]>umfasst, wob
5. Datenaustausch mit XML 5.1. XML Seite 25.1 Extensible Markup Language (XML)ElementeIXML ist eine Auszeichnungssprache (Markup Language).<aTagnam
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 20AttributeIDefinition des Typs attrType des Attributes attr einesElementtyps EN
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 21Idefault ist von einer der folgenden Formen:I#REQUIRED: Das Attribut muss exp
5. Datenaustausch mit XML 5.2. Definition von Dokumenttypen (DTD) Seite 22BemerkungenIEine DTD bietet an Datentyp en lediglich einen allgemeinenDatenty
5. Datenaustausch mit XML 5.3. XPath Seite 235.3 XPathIXPath ist prim¨ar eine Sprache zum Addressieren (Lokalisieren) vonTeilen eines erweiterten XML-
5. Datenaustausch mit XML 5.3. XPath Seite 24Welche Knoten werden lokalisiert?(1) /child::Mondial/child::Land(2) /child::Mondial/child::Land[child::LN
5. Datenaustausch mit XML 5.3. XPath Seite 25IEin Lokationspfad in XPath wird relativ zu einem Kontextausgewertet und liefert als Resultat eine Menge
5. Datenaustausch mit XML 5.3. XPath Seite 26LokationspfadIEin Lokationspfad P besteht aus einer durch ’/’ getrennten Folgevon Lokationsschritten.IEin
5. Datenaustausch mit XML 5.3. XPath Seite 27Menge der lokalisierten KnotenISei n die Anzahl Schritte eines Lokationspfades, n ≥ 1.ISei pi, 1 ≤ i ≤ n,
5. Datenaustausch mit XML 5.3. XPath Seite 28LokationsschrittIEin Lokationsschritt b e steht aus einer Achse, einem Knotentest und,optional, aus einem
5. Datenaustausch mit XML 5.3. XPath Seite 29Achse definierte Menge von Knotenattribute alle Attribute des Kontextknotenschild alle direkten Nachfolger
5. Datenaustausch mit XML 5.1. XML Seite 3XML-Dokument<Mondial><Land LCode = "D"><LName>Germany</LName><Provinz&g
5. Datenaustausch mit XML 5.3. XPath Seite 30Achse und KnotentestIDie Achsen eines Lokationspfades legen fest, in welcher Weise derXML-Baum durchlaufe
5. Datenaustausch mit XML 5.3. XPath Seite 31Lokalisation durch Achse und KnotentestIKnotentest eine Attribut oder Elementtyp:IAchse attribute: aus de
5. Datenaustausch mit XML 5.3. XPath Seite 32Welche Knoten werden lokalisiert?(4) /descendant::Stadt(5) /descendant::*[self::Stadt]Lokalisiere die Kno
5. Datenaustausch mit XML 5.3. XPath Seite 33KurzschreibweiseIself::node(): ’.’,Iparent::node(): ’..’,Iattribute::: ’@’,IAngab e einer Achse fehlt: ch
5. Datenaustausch mit XML 5.3. XPath Seite 34zur Kurzschreibweise.(10) //Stadt(11) //*[self::Stadt](12) //Stadt[../PName = "Baden"](13) //Pr
5. Datenaustausch mit XML 5.3. XPath Seite 35Pr¨adikateIPr¨adikate sind XPath-Ausdr¨ucke, denen ein Wahrheitswertzugeordnet werden kann.IJedem Lokatio
5. Datenaustausch mit XML 5.3. XPath Seite 36Welche Knoten werden lokalisiert?(16) //Stadt[Einwohner > 500](17) //Stadt[Einwohner](18) //Stadt[../P
5. Datenaustausch mit XML 5.3. XPath Seite 37KontextpositionIAuswertung nicht nur relativ zu einem Kontextknoten, sondern auchrelativ zur Kontextp osi
5. Datenaustausch mit XML 5.3. XPath Seite 38Welche Knoten werden lokalisiert?(21) //Stadt[position() = 2](22) //Land/Provinz[1]/Stadt[last()]Lokalisi
5. Datenaustausch mit XML 5.3. XPath Seite 39XPath Version 1.0 und 2.0IXPath ist weniger geeignet als Anfragesprache; jeder lokalisierteKnoten identifi
5. Datenaustausch mit XML 5.1. XML Seite 4Element mit gemischtem Inhalt<Stadt><SName>Freiburg i.Br.</SName>Eine der sch¨onsten St¨ad
5. Datenaustausch mit XML 5.4. XML-Schema Seite 405.4 XML-SchemaIXML-Schema b e h¨alt die prinzipielle M¨achtigkeit einer DTD zurDefinition von Inhalts
5. Datenaustausch mit XML 5.4. XML-Schema Seite 41ElementtypenIXML-Schema b e ruht auf einem erweiterbaren Typkonzept.IEine Anzahl von Datentypen ist
5. Datenaustausch mit XML 5.4. XML-Schema Seite 42XML-Schema Datentypenduration dateTime timenormalizedStringdategYearMonthgYear gMonthDay gDay gMonth
5. Datenaustausch mit XML 5.4. XML-Schema Seite 43einfache DatentypenIWertebereich, Repr¨asentationsraum und Aspekte.IDer Repr¨asentationsraum eines D
5. Datenaustausch mit XML 5.4. XML-Schema Seite 44Beispiele f¨ur einfache Datentypen<simpleType name = "Prozent"><restriction base
5. Datenaustausch mit XML 5.4. XML-Schema Seite 45AttributeIAttribute d¨urfen lediglich einfache Typen besitzen.IEin Attribute attr eines Elementtyps
5. Datenaustausch mit XML 5.4. XML-Schema Seite 46komplexe ElementtypenIErweiterung eines einfachen Typs, oder durch Definition einesInhaltsmodells aus
5. Datenaustausch mit XML 5.4. XML-Schema Seite 47globale Elemente und TypenITypdefinitionen und Elementdeklarationen auf der obersten Ebeneeines XML-S
5. Datenaustausch mit XML 5.4. XML-Schema Seite 48Beispiel<complexType name = "Einwohner"><simpleContent><extension base = &q
5. Datenaustausch mit XML 5.4. XML-Schema Seite 49EindeutigkeitsbedingungenIEindeutigkeit kann f¨ur Element- und Attributinhalte, oder auch f¨urKombin
5. Datenaustausch mit XML 5.1. XML Seite 5AttributeIAttribute:<aTagname attr1= "val1"...attrk= "valk">, k ≥ 1.Ileeres Elemen
5. Datenaustausch mit XML 5.4. XML-Schema Seite 50IEindeutigkeit bezieht sich relativ auf das direkt¨ubergeordneteElement (Kontext), in dem die Beding
5. Datenaustausch mit XML 5.4. XML-Schema Seite 51Beispiel<element name = "Provinz"><complexType><sequence><element nam
5. Datenaustausch mit XML 5.4. XML-Schema Seite 52Fremdschl¨usselbedingungenIReferenzbeziehung werden mittels der keyref-Klausel definiert.IMit refer w
5. Datenaustausch mit XML 5.4. XML-Schema Seite 53Beispiel<element name = "Land"><complexType><sequence><element name =
5. Datenaustausch mit XML 5.4. XML-Schema Seite 54BemerkungenIInnerhalb XML-Schema k¨onnen keine allgemeinenIntegrit¨atsbedingungen formuliert werden.
5. Datenaustausch mit XML 5.5. XQuery Seite 555.5 XQueryDie Ziele von XML Query, kurz XQuery, sind pr¨agnant be schrieben aufder Homepage des XQuery-P
5. Datenaustausch mit XML 5.5. XQuery Seite 56AllgemeinesIXQuery ist, vergleichbar zur Relationenalgebra, eine funktionaleSprache.IEine Anfrage in XQu
5. Datenaustausch mit XML 5.5. XQuery Seite 57Kreieren von ElementknotenIDer Ausdruck<Stadt PLZ = "79100">{"Freiburg i.Br."}
5. Datenaustausch mit XML 5.5. XQuery Seite 58XPath 2.0IAnfragen in Form von XQuery-Ausdr¨ucken beziehen sichtypischerweise auf XML-B¨aume und extrahi
5. Datenaustausch mit XML 5.5. XQuery Seite 59Beispiel<St¨adte>{ doc("Mondial.xml")//Stadt }</St¨adte>Der Ausdruck doc("Mon
5. Datenaustausch mit XML 5.1. XML Seite 6wohlgeformte Elemen tstrukturEine Elementstruktur ist wohlgeformt,Iwenn f¨ur je zwei Elemente mit Namen ENam
5. Datenaustausch mit XML 5.5. XQuery Seite 60FLWOR-AusdruckIEin FLWOR-Ausdruck besteht im Allgemeinen aus einer for-, let-,where-, order- und return-
5. Datenaustausch mit XML 5.5. XQuery Seite 61Beispielfor $a in (1,2,3),$b in ("a", "b", "c"),$c in (10, 20, 30)return&l
5. Datenaustausch mit XML 5.5. XQuery Seite 62Beispiel<St¨adte>{for $a indoc("Mondial.xml")//Provinz[PName = "Baden"]/Stadt/
5. Datenaustausch mit XML 5.5. XQuery Seite 63Beispiel<St¨adte>{let $a := doc("Mondial.xml")//Land[@LCode = "D"]for $b in $a
5. Datenaustausch mit XML 5.5. XQuery Seite 64Beispielfor $a in doc("Mondial.xml")//Provinz/Stadtorder by $a/SName descendingreturn<Stadt
5. Datenaustausch mit XML 5.5. XQuery Seite 65Beispielfor $a in doc("Mondial.xml")//Provinz/Stadt,$b in doc("Mondial.xml")//Provin
5. Datenaustausch mit XML 5.5. XQuery Seite 66Quantoren some, every und bedingte Ausdr¨uckefor $a in doc("Mondial.xml")//Provinzwhere some $
5. Datenaustausch mit XML 5.5. XQuery Seite 67Positionen einer Sequenzfor $a at $i in doc("Mondial.xml")//SNamereturn <Stadt Nummer = &qu
5. Datenaustausch mit XML 5.5. XQuery Seite 68Speichern von Zwischenresultatenlet $a :=for $b in doc("Mondial.xml")//Provinz[PName = "B
5. Datenaustausch mit XML 5.5. XQuery Seite 69benutzerdefinierte FunktionenDie Deklaration einer Funktion b este ht aus einem Funktionskopf, der ausdem
5. Datenaustausch mit XML 5.1. XML Seite 7XML-BaumDie Struktur eines XML-Dokumentes kann durch einen Baum, genanntXML-Baum, dargestellt werden.IJedem
5. Datenaustausch mit XML 5.5. XQuery Seite 70SequenzenIWerte sind Sequenzen von Items.IDer Ausdruck (1,"eins") hat den Wert 1 eins.IDer Aus
5. Datenaustausch mit XML 5.5. XQuery Seite 71Funktion data()Mittels data() wird einer Sequenz eine Sequenz atomarer Wertezugeordnet.IAttributknoten u
5. Datenaustausch mit XML 5.5. XQuery Seite 72Funktion distinct-values()Eine Sequenz kann Duplikate enthalten. Der Ausdruck (1,2,1) definiertbeispielsw
5. Datenaustausch mit XML 5.5. XQuery Seite 73StandardfunktionenXQuery bietet weit¨uber 100 Standardfunktionen an, die in einemseparaten Standardisier
5. Datenaustausch mit XML 5.5. XQuery Seite 74Beispiel<Mondial>{for $a in doc("Mondial1.xml")//Landreturn<Land>{$a/LName,for $b
5. Datenaustausch mit XML 5.5. XQuery Seite 75OperatorenZus¨atzlich zu den¨ublichen arithmetischen Operatoren, wie +,-,*,divund mod, be sitzt XQuery u
5. Datenaustausch mit XML 5.5. XQuery Seite 76weitere OperatorenIDer Vergleich zweier Knoten ist bzgl. is und is not m¨oglich, wobeiis gleiche Knoteni
5. Datenaustausch mit XML 5.5. XQuery Seite 77Gleichheit von Sequenzen: fn:deep-equal()Zwei Sequenzen sind gleich, wenn sieIdieselbe Anzahl Eintr¨age
5. Datenaustausch mit XML 5.1. XML Seite 8XML-BaumProvinzProvinzLNameLandMondialMitgliedLageStadtStadtSNameEinwohnerSNameEinwohnerSNameEinwohnerKontin
5. Datenaustausch mit XML 5.1. XML Seite 9DokumentordnungIDie Dokumentordnung ergibt sich aus de r Reihenfolge der¨offnendenTags.IEin XML-Baum ist geor
Commentaires sur ces manuels