XML. XML-Datenmodellierung / XML-Schemasprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
|
|
- Roland Seidel
- vor 6 Jahren
- Abrufe
Transkript
1 XML-Datenmodellierung / XML-Schemasprachen XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 83 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
2 3. XML-Abfrage- und Transformationssprachen - Abfragesprachen XPath und XQuery - Transformationssprache XSLT 84 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
3 XML Path Language (XPath) in Version 1.0 vom W3C verabschiedete Lokatorsprache zur Adressierung von XML-Dokumentteilen - nicht als eigenständige echte Abfragesprache, sondern nur zur Lokalisierung in XSLT und XPointer konzipiert - in kommerziellen Systemen dennoch oft als Abfragesprache verwendet (nur lesender Zugriff) 85 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
4 XPath 1.0 Datenmodell - XML-Dokument wird ähnlich zu DOM als Baum mit verschiedenartigen Knoten repräsentiert - Knotenarten und Besonderheiten Wurzelknoten Der Wurzelknoten ist ein virtueller Knoten, der als Kind den Knoten des Wurzelelements enthält. Elementknoten Der Inhalt von Elementknoten entspricht der Konkatenation aller enthaltener Textknoten. 86 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
5 XPath 1.0 Datenmodell Attributknoten Attributknoten sind Elementknoten direkt zugeordnet, werden dabei aber nicht als Kindknoten betrachtet Namensraumknoten Namensraumattribute werden im XPath 1.0 Datenmodell in Form separater Namensraumknoten repräsentiert. Auch Namensraumknoten sind Elementknoten direkt zugeordnet, werden aber ebenfalls nicht als Kindknoten betrachtet. Verarbeitungsanweisungsknoten Kommentarknoten Textknoten 87 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
6 XPath 1.0 Datenmodell - Ordnung der Knoten durch die Reihenfolge der Knoten im Dokument ergibt sich automatisch feste Ordnung Knoten steht vor einem anderen, wenn erstes Zeichen seiner Definition vor dem des anderen Knotens erscheint Beispiele - Elementknoten steht vor seinen Kindknoten - Attributknoten stehen vor Kindknoten Ausnahme: keine feste interne Reihenfolge von Attribut- und Namensraumknoten 88 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
7 XPath 1.0 Datenmodell - Beispieldokument <?xml version="1.0" encoding="iso "?> <vorlesung titel="xml..."> <teilnehmer matrikel="4711"> <name>mustermann</name> <vorname>max</vorname> <semester>5</semester> <studienfach>8</studienfach> </teilnehmer> <teilnehmer matrikel="4736"> <name>normalverbraucher</name> <vorname>otto</vorname> <semester>6</semester> <studienfach>10</studienfach> </teilnehmer></vorlesung> 89 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
8 XPath 1.0 Datenmodell - unser Beispieldokument repräsentiert im XPath-Datenmodell Legende Wurzelknoten Elementknoten Attributknoten Textknoten 90 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
9 XPath 1.0 Datentypen - Zeichenketten in beliebiger Länge erlaubt "XML-Grundlagen, -Sprachen, -Datenhaltungsfragen" - Knotenmengen resultieren aus dem Ergebnis eines Lokalisierungspfads child::vorlesung/child::teilnehmer/child::studienfach <studienfach>8</studienfach> <studienfach>10</studienfach> - Zahlen entstehen bei der Verwendung von numerischen Operatoren child::vorlesung/child::teilnehmer[child::semester/text() > 5]/ child::name/child::text() "Normalverbraucher" 91 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
10 XPath 1.0 Datentypen - Wahrheitswerte werden zur Verarbeitung bestimmter Ausdrücke aus Zeichenketten, Knotenmengen und Zahlen abgeleitet Zeichenkette Wahrheitswert "true" wenn Zeichenkette länger als 0 ist, sonst "false" Knotenmenge Wahrheitswert "true" wenn Knotenmenge nicht leer ist, sonst "false" Zahl Wahrheitswert "true" wenn die Zahl ungleich "NaN" und ungleich "0" ist, sonst "false" 92 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
11 Adressierung mittels XPath Navigation erfolgt ausgehend von Kontextknoten über Lokalisierungspfad - Kontextknoten entspricht Startelement von dem aus die Suche über den Lokalisierungspfad durchgeführt wird - Lokalisierungspfad Folge von durch / getrennten Lokalisierungschritten beginnt Pfad mit /, dann wird der weitere Pfad vom Wurzelknoten ausgehend ausgeführt (absoluter Lokalisierungspfad) in allen anderen Fällen wird Kontextknoten verwendet (relativer Lokalisierungspfad) 93 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
12 Adressierung mittels XPath Lokalisierungsschritt selektiert eine Menge von Knoten, die als Kontextknoten für den nachfolgenden Schritt genutzt werden setzt sich zusammen aus - Achse (axis) spezifiziert Beziehung zwischen Kontextknoten und zu selektierenden Knoten - Knotentest (node-test) schränkt Knotenmenge anhand von Typen und Namen ein - beliebig vielen Prädikaten (predicates) ermöglichen komplexere Einschränkungen der Knotenmenge axis::node-test[predicate 1][predicate 2] XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
13 Adressierung mittels XPath Achsen self (kurz. für self::node() ) selektiert Kontextknoten (Identitätsabbildung) attribute für attribute:: ) enthält Attribute des Kontextknoten (leer für nicht-elementknoten) namespace enthält Namensraumknoten des Kontextknoten (leer für nicht-elementknoten) child (Standard-Achse) selektiert Kinder des Kontextknotens (Attributknoten und Namensraumknoten sind keine Kinder) 95 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
14 Adressierung mittels XPath Achsen descendant - enthält alle Nachkommen des Kontextknoten im Baum descendant-or-self (kurz // für /descendant-or-self::node()/ ) - enthält alle Nachkommen einschließlich dem Kontextknoten selbst parent (kurz.. für parent::node() ) - selektiert den Elternknoten des Kontextknoten ancestor - enthält alle (rekursiven) Elternknoten des Kontextknoten ancestor-or-self - enthält alle (rekursiven) Elternknoten einschließlich dem Kontextknoten selbst 96 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
15 Adressierung mittels XPath Achsen following-sibling - enthält alle folgenden Geschwister des Kontextknotens preceding-sibling - enthält alle vorangehenden Geschwister des Kontextknotens following - enthält die im Dokument auf den Kontextknoten folgenden Knoten (ohne dessen Nachkommen (descendants) selbst) preceding - enthält die im Dokument dem Kontextknoten vorangegangenen Knoten (ohne dessen Vorfahren (ancestors) selbst) 97 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
16 Adressierung mittels XPath Achsen* ancestor preceding parent self child precedingsibling followingsibling following descendant * Es fehlen folgende Achsen: attribute, namespace, ancestor-or-self und descendant-or-self 98 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
17 Adressierung mittels XPath Achsen am Beispiel ancestor p self precedingsibling followingsibling preceding c c following descendant 99 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
18 Adressierung mittels XPath Knotentests schränken Knotenmenge anhand von Name und Typ ein Einschränkung nach Name (nur Elemente) - filtert Elemente anhand eines speziellen Namens - mit * als spezielle Namensfilterung wird nichts eingeschränkt /child::vorlesung/child::teilnehmer /child::vorlesung/child::* Einschränkung nach Typ - node() alle Knoten - comment() Kommentarknoten - text() Textknoten - processing-instruction() Verarbeitungsanweisungsknoten /child::vorlesung/child::node() 100 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
19 Adressierung mittels XPath Prädikate Möglichkeit zur (speziellen) Filterung ausgehend von Kontextknoten (nur dann Teil der Ergebnismenge, wenn Prädikat "true" zurückliefert) Prädikate sind XPath-Ausdrücke - denen Wahrheitswert zugeordnet werden kann - Auswertung des Ausdrucks für jeden Knoten der Knotenmenge (jeder Knoten der Menge wird dabei zum Kontextknoten) Prädikat ist erfüllt, wenn Ergebnis - eine Zahl ist, die der aktuellen Position im Kontext entspricht - eine nicht leere Zeichenkette ist - eine nicht leere Knotenmenge ist. 101 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
20 Adressierung mittels XPath Verwendung von Operatoren in Prädikaten Operatoren - boolesche Operatoren (or, and) - arithmetische Operatoren (+, -, *, div, mod) - Mengenoperatoren (Vereinigung ) - Vergleichsoperatoren (=,!=, < (<), <= (<=), >, >=) 102 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
21 Adressierung mittels XPath Vergleiche Knotenmenge Knotenmenge "true" wenn der Vergleich von mindestens einem Knoten der einen Knotenmenge mit einem Knoten der zweiten Knotenmenge erfolgreich ist alle Teilnehmer, die eine Gemeinsamkeit mit Teilnehmer 4711 haben Bsp. vorlesung/teilnehmer[.[@matrikel!= "4711"]/node() =../teilnehmer[@matrikel = "4711"]/node() ]/@matrikel matrikel="4736" * * unter der Annahme, dass Teilnehmer 4736 beispielsweise auch im 5ten statt im 6ten Semester wäre 103 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
22 Adressierung mittels XPath Vergleiche Knotenmenge (Zeichenkette Zahl Wahrheitswert) "true" wenn der Vergleich mit mindestens einem Knotenwert (in den jeweiligen Typ konvertiert) erfolgreich ist alle Teilnehmer, die mit Vor- oder Nachname Otto heißen * Bsp. vorlesung/teilnehmer[./node() = "Otto" ]/@matrikel matrikel="4736" * oder deren Semester oder Studienfach Otto heißt 104 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
23 Adressierung mittels XPath Vergleiche (Zeichenk. Zahl Wahrheitsw.) (Zeichenk. Zahl Wahrheitsw.) - Gleichheit (=) und Ungleichheit (!=) Operanden werden zu gemeinsamen Typ konvertiert; "true" wenn anschließende Auswertung erfolgreich ist alle Teilnehmer, außer Teilnehmer 4711 Bsp. "4711" ]/@matrikel matrikel="4736" 105 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
24 Adressierung mittels XPath Vergleiche (Zeichenk. Zahl Wahrheitsw.) (Zeichenk. Zahl Wahrheitsw.) - < (<), <= (<=), >, >= Operanden werden stets zu Zahlen konvertiert; "true" wenn anschließende Auswertung erfolgreich ist; sofern ein Operand NaN ergibt, ist das Ergebnis stets "false" alle Teilnehmer, die schon länger studieren als Teilnehmer 4711 Bsp. vorlesung/teilnehmer[ semester/text() = "4711" ]/semester/text() ]/@matrikel matrikel="4736" 106 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
25 Adressierung mittels XPath Verwendung von Funktionen in Prädikaten (nach Rückgabetyp geordnet) Knotenmenge: id(z*) Z Zeichenkette O Objekt A Knotenmenge N Zahl Zeichenkette: Zahl: string(o), name(a), namespace-uri(a), local-name(a), concat(z 1, Z 2,...), normalize-space(z), translate (Z 1, Z 2, Z 3 ), substring(z, N 1, N 2 ), subtring-before(z 1, Z 2 ), substring-after(z 1, Z 2 ) number(o), last(), position(), count(a), sum(a), string-length(z), ceiling(n), floor(n) Wahrheitswert: boolean(o), true(), false(), not(wahrheitswert), starts-with(z 1, Z 2 ), contains(z 1, Z 2 ), lang(z) * auch Knotenmenge erlaubt, dann erfolgt jedoch vorab Element für Element die Konvertierung zu Zeichenkette 107 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
26 XPath XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
27 Extensible Stylesheet Language Transformations (XSLT) in Version 1.0 vom W3C verabschiedete Transformationssprache zur Umwandlung von XML-Dokumenten in andere Dokumente oder Sprachen - (ebenfalls) nicht als eigenständiger Standard, sondern als Bestandteil von XSL konzipiert wurden XSLT-Prozessor XSL-FO-Prozessor XML XSLT XML-FO XSL PDF RTF ASCII Print-Medien 109 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
28 Extensible Stylesheet Language Transformations (XSLT) - in der Praxis wird XSLT jedoch häufiger ohne XSL verwendet als mit direkte Umwandlung von Daten in grafische Repräsentation (bspw. XHTML, SVG,...) Konvertierung von Daten in externes Austauschformat - XSLT-Dokumente (Stylesheets) verwenden XML-Syntax 110 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
29 Charakteristik von XSLT-Stylesheets - XSLT-Stylesheets XML-Dokumente - Besonderheiten von XSLT-Stylesheets umschließendes stylesheet-element (nach XML-Deklaration) Namespace " Namespace-Präfix häufig xsl <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
30 XSLT-Stylesheet spezieller XSLT-Namespace umschließendes Stylesheet-Element XML-Deklaration Wertausgabe <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> Der Name des Wurzelelements lautet: <xsl:value-of select="/child::node()/name()"/> <xsl:apply-templates/> </xsl:template> </xsl:stylesheet> Anwendung untergeordneter Schablonen Schablone für Ergebnisbaum 112 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
31 XSLT 1.0 Basics - Schablonen (Templates) Verarbeitungsregeln für eine per Pattern definierte Knotenmenge Pattern bestehen aus Lokalisierungspfaden (Untermenge der XPath- Ausdrücke) Template für Ergebnisbaum definieren per <xsl:template> - definiert ein konkretes Template-Matching - Pattern wird im Attribut match spezifiziert - Ausgabeformatierung wird im Elementinhalt definiert untergeordnete Templates anwenden <xsl:apply-templates> - bewirkt die Verarbeitung aller Kindknoten - wahlweise auch per select-attribut konkrete Knotenmenge spezifizierbar 113 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
32 XSLT 1.0 Basics - Ausgabe von Knotenwerten per <xsl:value-of> schreibt das Ergebnis eines per select-attribut spezifizierbaren XPath-Ausdruck in das Transformationsergebnis kann durch Verwendung von XPath-Funktionen auch Berechnungen durchführen Ausgabewert ist abhängig vom Ergebnis des XPath-Ausdrucks - Knotenmenge Konkatenation aller enthaltenen Textknoten - Element Konkatenation aller enthaltenen Textknoten - Attribut Wert des Attributs - Kommentar Inhalt des Kommentars - Namespace URI für den Namespace - Prozessorinstruktion Wert der Prozessorinstruktion 114 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
33 XSLT 1.0 Basics für alle Childs der Wurzel ("/") in unserem Beispiel also alle Knoten des XML- Dokuments werden (falls vorhanden) weitere Template-Matchings durchgeführt für alle Childs der Wurzel ("/child::node()/name()") also stets genau einen Knoten wird der Name in das Transformationsergebnis geschrieben für die Wurzel mit ein spezifiziertes Template-Matching durchgeführt <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> Der Name des Wurzelelements lautet: <xsl:value-of select="/child::node()/name()"/> <xsl:apply-templates/> </xsl:template> </xsl:stylesheet> 115 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
34 XML XML-Abfrage- und Transformationssprachen XSLT 1.0 Standardregeln <?xml version="1.0" encoding="iso "?> <vorlesung titel="xml..."> <teilnehmer matrikel="4711"> <name>mustermann</name> <vorname>max</vorname> <semester>5</semester> <studienfach>8</studienfach> </teilnehmer> <teilnehmer matrikel="4736"> <name>normalverbraucher</name> <vorname>otto</vorname> <semester>6</semester> <studienfach>10</studienfach> </teilnehmer> </vorlesung> <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> Der Name des Wurzelelements lautet: <xsl:value-of select="/child::node()/name()"/> <xsl:apply-templates/> </xsl:template> </xsl:stylesheet> Ergebnis Der Name des Wurzelelements lautet: vorlesung Mustermann Max 5 8 Normalverbraucher Otto XML-Grundlagen, -Sprachen, -Datenhaltungsfragen XSLT
35 XSLT 1.0 Standardregeln - für jeden Knotentyp existiert eine Standardregel in XSLT - wird angewendet, wenn keine eigene Regel für Knoten definiert ist - Standardregel für einzelne Knotentypen Wurzel Template-Matching für alle weiteren Knoten im Dokument durchführen <xsl:template match="/"> <xsl:apply-templates /> <xsl:template> Element Template-Matching für alle Kindknoten des Elements durchführen <xsl:template match="*"> <xsl:apply-templates /> <xsl:template> 117 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
36 XSLT 1.0 Standardregeln - Standardregel für einzelne Knotentypen Attribut- und Textknoten - Attributwert bzw. Textinhalt ausgeben <xsl:template <xsl:value-of select="."/> </xsl:template> Kommentare und Prozessorinstruktionen - standardmäßig werden diese Knoten ignoriert <xsl:template match="processing-instruction() comment()"/> 118 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
37 XML XML-Abfrage- und Transformationssprachen XSLT 1.0 Standardregeln <?xml version="1.0" encoding="iso "?> <vorlesung titel="xml..."> <teilnehmer matrikel="4711"> <name>mustermann</name> <vorname>max</vorname> <semester>5</semester> <studienfach>8</studienfach> </teilnehmer> <teilnehmer matrikel="4736"> <name>normalverbraucher</name> <vorname>otto</vorname> <semester>6</semester> <studienfach>10</studienfach> </teilnehmer> </vorlesung> <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> Der Name des Wurzelelements lautet: <xsl:value-of select="/child::node()/name()"/> </xsl:template> </xsl:stylesheet> Der Name des Wurzelelements lautet: vorlesung Ergebnis 119 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen XSLT
38 Regelkollisionen in XSLT pro Knoten wird stets ein Template-Matching durchgeführt - wenn Knoten mit mehreren Templates matched kommt es zu Regelkollision - Auflösung dieser Kollisionen Auswahl der zu verwendenden Regel durch Prioritäten gesteuert je spezifischer die Regel desto höher die Priorität explizite Prioritätsangabe für Templates per priority-attribut möglich 120 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
39 XML Regelkollisionen in XSLT 1.0 <?xml version="1.0" encoding="iso "?> <vorlesung titel="xml..."> <teilnehmer matrikel="4711"> <name>mustermann</name> <vorname>max</vorname> <semester>5</semester> <studienfach>8</studienfach> </teilnehmer> <teilnehmer matrikel="4736"> <name>normalverbraucher</name> <vorname>otto</vorname> <semester>6</semester> <studienfach>10</studienfach> </teilnehmer> </vorlesung> <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <xsl:apply-templates select="vorlesung"/> </xsl:template> <xsl:template match="*"> Ich werde nicht angewendet, weil ich zu allgemein bin! </xsl:template> <xsl:template match="vorlesung"> Ich werde angewendet, weil ich spezifischer bin! </xsl:template> </xsl:stylesheet> Ich werde angewendet, weil ich spezifischer bin! Ergebnis XSLT 121 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
40 weitere Möglichkeiten von XSLT Dynamisches Erzeugen von Knoten im Transformationsergebnis Elemente per <xsl:element> - Name wir durch Attribut name definiert - Inhalt des Zielelements wird durch Elementinhalt bestimmt <xsl:element name="vorlesung"> <xsl:value-of select="@titel"/> </xsl:element> Attribute per <xsl:attribute> - Name wir durch Attribut name definiert - Attributwert wird durch Elementinhalt bestimmt <xsl:attribute name="titel"> <xsl:value-of select="titel"/> </xsl:attribute> 122 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
41 weitere Möglichkeiten von XSLT Dynamisches Erzeugen von Knoten im Transformationsergebnis Text per <xsl:text> - Text wird durch Elementinhalt bestimmt - Whitespace wird strikt beibehalten <xsl:text>ein Text mit viel Whitespace</xsl:text> Kommentare per <xsl:comment> - Kommentarinhalt wird durch Elementinhalt bestimmt <xsl:comment>ein erzeugter Kommentar</xsl:comment> Prozessorinstruktionen per <xsl:processing-instruction> 123 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
42 weitere Möglichkeiten von XSLT Kopieren von Knoten in das Transformationsergebnis Kopieren des aktuellen Knoten per <xsl:copy> - wenn zu kopierender Knoten ein Elementknoten ist, können im Inhalt noch zusätzliche Definitionen (Elemente, Attribute, etc.) erfolgen <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates select="teilnehmer" /> </xsl:copy> Kopieren eines beliebigen Knotens und seinen Kindknoten (rekursiv) per <xsl:copy-of> - Auswahl des Knotens erfolgt durch einen per select-attribut spezifizierten XPath-Ausdruck <xsl:copy-of select="./semester"/> 124 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
43 weitere Möglichkeiten von XSLT Kontrollstrukturen bedingte Anweisungen per <xsl:if> - arbeitet Inhalt ab, wenn per test-attribut spezifizierte Bedingung (XPath-Ausdruck) erfüllt ist - eine Art else-konstrukt gibt es nicht <xsl:if test="not(teilnehmer)"> Leider sind keine Teilnehmer eingeschrieben! </xsl:if> <xsl:apply-templates select="vorlesung/teilnehmer"/> 125 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
44 weitere Möglichkeiten von XSLT Kontrollstrukturen Mehrfachverzweigungen per <xsl:choose> - realisiert Fallunterscheidungen durch xsl:when-elemente - Inhalt des erfüllten xsl:when-elements wird abgearbeitet (erfüllt, wenn per test-attribut spezifizierte Bedingung wahr ist) - trifft kein Fall zu, wird Inhalt von xsl:otherwise (optional) abgearbeitet <xsl:choose> <xsl:when test="count(teilnehmer) < 5"> wenig Teilnehmer </xsl:when> <xsl:when test="(count(teilnehmer) >= 5) and (count(teilnehmer) < 10)"> normale Teilnehmeranzahl </xsl:when> <xsl:when test="count(teilnehmer) >= 10"> viele Teilnehmer </xsl:when> <xsl:otherwise> Hier stimmt was nicht! </xsl:otherwise> </xsl:choose> 126 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
45 weitere Möglichkeiten von XSLT Kontrollstrukturen Schleifen per <xsl:for-each> - Elementinhalt wird für eine Menge von per select-attribut spezifizierten Knoten abgearbeitet - ähnlich mächtig wie (separates) <xsl:template>-element (muss zuvor aber natürlich in solches eingebettet sein) <xsl:for-each select="vorlesung/teilnehmer"> Teilnehmer gefunden! <xsl:for-each> vgl. <xsl:template match="vorlesung/teilnehmer"> Teilnehmer gefunden! <xsl:template> 127 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
46 weitere Möglichkeiten von XSLT Modularisierung durch benannte Templates benannte Templates sind eine Art Funktionen denen Parameter übergeben werden können Definition erfolgt ebenfalls per <xsl:template>, allerdings mit name- statt select-attribut Kontext wird durch Aufruf per <xsl:call-template> bestimmt und entspricht dem dortigen Kontextknoten Definition <xsl:template name="meintemplate">... <xsl:template> Aufruf <xsl:call-template name="meintemplate">... <xsl:call-template> 128 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
47 weitere Möglichkeiten von XSLT Verwendung von Parametern für benannte Templates Parameterdefinition in benannten Template per <xsl:param> - name-attribut Name des Parameters - select-attribut Standardwert (XPath-Ausdruck), alternativ auch durch Elementinhalt spezifizierbar Parameterübergabe innerhalb Aufruf mit <xsl:with-param> - name-attribut Name des Parameters - select-attribut Übergabewert (XPath-Ausdruck), alternativ auch durch Elementinhalt spezifizierbar Zugriff auf Parameterwert per Präfix $ bzw. Zuordnung zu Attribut durch geschweifte Klammern { und } 129 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
48 weitere Möglichkeiten von XSLT Verwendung von Parametern für benannte Templates Definition <xsl:param name="meinparameter" select="standardwert"/> <xsl:param name="meinparameter"> Standardwert <xsl:param> Übergabe <xsl:with-param name="meinparameter" select="meinwert"/> <xsl:with-param name="meinparameter"> meinwert <xsl:with-param> Zugriff direkte Attributzuordnung <xsl:value-of select="$meinparameter"/> <meinelement meinattribut="{$meinparameter}"/> 130 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
49 weitere Möglichkeiten von XSLT Verwendung von Variablen Alternative zu Template-abhängigen Parametern einmal zugewiesener Wert ist unveränderbar ( Konstante ) Definition per <xsl:variable> - name-attribut Name der Variablen - select-attribut Variablenwert (XPath-Ausdruck), alternativ auch durch Elementinhalt spezifierbar Verwendung/Zugriff innerhalb des definierten Kontexts analog zu Parametern 131 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
50 weitere Möglichkeiten von XSLT Verwendung von Variablen Definition <xsl:variable name="meinevariable" select="meinwert"/> <xsl:variable name="meinevariable"> meinwert <xsl:variable> Zugriff <xsl:value-of select="$meinevariable"/> direkte Attributzuordnung <meinelement meinattribut="{$meinevariable}"/> 132 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
51 weitere Möglichkeiten von XSLT explizite Vorgabe der Ausgabemethode per <xsl:output> um Eigenschaften des Transformationsergebnisses zu spezifizieren method legt Ausgabemethode fest ("xml", "html", "text") encoding spezifiziert encoding des Zieldokuments indent steuert Einrückung von Kindelementen im Zieldokument XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
52 XSLT-Transformationen zur Generation grafischer Repräsentation XSLT XML HTML <vorlesung titel="xml..."> <teilnehmer matrikel="4711"> <name>mustermann</name> <vorname>max</vorname> <semester>5</semester> <studienfach>8</studienfach> </teilnehmer> </vorlesung> 134 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
53 XSLT <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <html> <head> <title>liste</title> </head> <body> <xsl:apply-templates select="vorlesung"/> </body> </html> </xsl:template> <xsl:template match="vorlesung"> <h1> <xsl:text>vorlesung: </xsl:text> <xsl:value-of </h1> <xsl:apply-templates select="teilnehmer"/> </xsl:template> <xsl:template match="vorlesung/teilnehmer"> <h2> <xsl:text>student: </xsl:text> <xsl:value-of </h2> <font> <xsl:value-of select="vorname"/> <xsl:text> </xsl:text> <xsl:value-of select="name"/> <xsl:text>, Semester </xsl:text> <xsl:value-of select="semester"/> <xsl:text>, Studienfach </xsl:text> <xsl:value-of select="studienfach"/> </font> </xsl:template> </xsl:stylesheet> 135 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
54 XSLT-Transformationen am bekannten Beispiel Fakultät 1 <vorlesung titel="xml..."> <teilnehmer matrikel="4711"> <name>mustermann</name> <vorname>max</vorname> <semester>5</semester> <studienfach>8</studienfach> </teilnehmer> </vorlesung> <student matrikel="4712"> <name>normalverbraucher</name> <vorname>otto</vorname> <semester>6</semester> <studienfach>10</studienfach> unterschiedliche Struktur bei gleichartigem Informationsgehalt <lehrveranstaltungen> Fakultät 2 <vorlesung titel="xml..."/> <vorlesung titel="xml..."> </lehrveranstaltungen> <teilnehmer> </student> <matnr>4713</matnr> <name>erika Mustermann</name> <semester>7</semester> <studienfach>inf</studienfach> </teilnehmer> </vorlesung> Fakultät XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
55 Fakultät 2 in Fakultät 1 Format überführen - Überführung in andere Ordnung/Hierarchie - Umbenennung von Elementen XSLT Fakultät 2 <student matrikel="4712"> <name>normalverbraucher</name> <vorname>otto</vorname> <semester>6</semester> <studienfach>10</studienfach> <lehrveranstaltungen> <vorlesung titel="xml..."/> </lehrveranstaltungen> </student> Fakultät 1 <vorlesung titel="xml..."> <teilnehmer matrikel="4712"> <name>normalverbraucher</name> <vorname>otto</vorname> <semester>6</semester> <studienfach>10</studienfach> </teilnehmer> </vorlesung> 137 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
56 XSLT <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <xsl:apply-templates select="student/lehrveranstaltungen/vorlesung" /> </xsl:template> <xsl:template match="student/lehrveranstaltungen/vorlesung"> <xsl:element name="vorlesung"> <xsl:attribute name="titel"> <xsl:value-of </xsl:attribute> <xsl:apply-templates select="ancestor::student"/> </xsl:element> </xsl:template> <xsl:template match="student"> <xsl:element name="teilnehmer"> <xsl:attribute name="matrikel"> <xsl:value-of </xsl:attribute> <xsl:copy-of select="./child::node()[name()!= 'lehrveranstaltungen']"/> </xsl:element> </xsl:template> </xsl:stylesheet> 138 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
57 Fakultät 3 in Fakultät 1 Format überführen - Überführung von Elementen zu Attributen - Splitten von Elementen - Übersetzung von Inhalten XSLT Fakultät 3 <vorlesung titel="xml..."> <teilnehmer> <matnr>4713</matnr> <name>erika Mustermann</name> <semester>7</semester> <studienfach>inf</studienfach> </teilnehmer> </vorlesung> Fakultät 1 <vorlesung titel="xml..."> <teilnehmer matrikel="4713"> <name>mustermann</name> <vorname>erika</vorname> <semester>7</semester> <studienfach>8</studienfach> </teilnehmer> </vorlesung> 139 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
58 <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" XSLT <xsl:template match="/"> <xsl:apply-templates select="vorlesung" /> </xsl:template> <xsl:template match="vorlesung"> <xsl:copy> <xsl:copy-of <xsl:apply-templates select="teilnehmer" /> </xsl:copy> </xsl:template> <xsl:template match="vorlesung/teilnehmer"> <xsl:copy> <xsl:attribute name="matrikel"> <xsl:value-of select="./matnr"/> </xsl:attribute> <xsl:element name="name"> <xsl:value-of select="substring-after(./name, ' ')"/> </xsl:element> <xsl:element name="vorname"> <xsl:value-of select="substring-before(./name, ' ')"/> </xsl:element> <xsl:copy-of select="./semester"/> <xsl:element name="studienfach"> <xsl:choose> <xsl:when test="./studienfach[text()='inf']"> <xsl:text>8</xsl:text> </xsl:when> </xsl:choose> </xsl:element> </xsl:copy> </xsl:template> </xsl:stylesheet> 140 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
59 XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz
Transformation von XML-Dokumenten Folie 1 Was ist XSL politisch? XSL ist eine eigene Technik. Zum Publizieren (Transformieren) von Dokumenten. Früher gab es dafür Verlage und Schriftsetzer, um gute Inhalte
MehrGrundlagen der Extensible Stylesheet Language
Grundlagen der Extensible Stylesheet Language Transformations (XSLT) Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068
MehrXSL Transformationen. -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen. XSL Transformationen - Teil 2 Christina Krieglstein / 66
XSL Transformationen -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen / 66 Gliederung 1. Templates 1.1 Allgemeine Informationen 1.2 match-attribut 1.3 Eingebaute Template Rules 1.4 xsl:apply-templates
MehrXML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel 25.-29.6.2012.
XML-Verarbeitung XPath XSL die extensible Stylesheet Language Folie 1 Was ist XSL? - Mehrere Komponenten: - XSLT Transformations - XSL-FO Formatting Objects - XPath - (XML-Schema) - Ausgabeformate: - XML,
MehrDatenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen
Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale
MehrFileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger
XML / XSLT Ein Workshop mit [x] cross solution Armin Egginger [x] cross solution Armin Egginger - Zertifizierter FileMaker Entwickler Urheber von CrossCheck Netzwerk von Datenbankprogrammierern Kunden
MehrXML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz
XML 1 Einführung, oxygen Ulrike Henny ulrike.henny@uni-koeln.de XML extensible Markup Language Was ist XML? XML-Grundlagen XML-Editoren, oxygen HTML + CSS XPath Übungen Literatur Folie 2 Was ist XML? extensible
MehrXSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee
Mathias Heilig email: mathias.heilig@gmx.de Inhalt XSL Übersicht XSL im XML- Umfeld XSLT XPath XSL- FO Was können wir mit XSLT heute machen? Formatierungsprozess XSLT im XML- Formatierungsprozess Transformation
MehrTemplat-Regeln: XSLT Transformation: XML-Dokumente als Bäume: sieben Arten von Knoten. XSLT Verarbeitungsmodell für Templat-Regeln.
XSLT Transformation: Templat-Regeln: XSLT Stylesheets: ausgedrückt in einem wohlgeformten XML-Dokument Muster zum Abgleich gegen Knoten im Ursprungsbaum Templat, dessen Körper instantiiert wird, liefert
MehrIT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis
IT-Zertifikat: Daten- und Metadatenstandards Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig I. Was ist XSLT? XSL Transformation (XSLT) ist eine Programmiersprache zur Transformation
Mehr- Wiederholung/Übung -
- Wiederholung/Übung - Einführung, XML-Grundlagen und -Konzepte 1 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen Welche Bestandteile hat ein XML-Dokument? Bestandteile eines XML-Dokuments XML-Dokument
MehrProjektseminar "Texttechnologische Informationsmodellierung"
Projektseminar "Texttechnologische Informationsmodellierung" Analyse mit XSLT Ziel diese Sitzung Nach dieser Sitzung sollten Sie: Einen ersten Überblick über Funktionen in XPath haben Stylesheets und Templates
MehrAuszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005
Kurzreferenz zu XSLT Auszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005 Diese Anweisung sorgt dafür, dass auf den aktuellen Knoten nur die in das Stylesheet
MehrAnfragen an XML-Dokumente mit XPath
Anfragen an XML-Dokumente mit XPath Heike Adel 21.06.2010 1 / 32 Motivation Gliederung Motivation Mit XPath kann man... Knoten aus XML-Dokumenten auswählen Werte aus XML-Dokumentdaten berechnen => ganz
MehrXSLT extensible Stylesheet Language Transformation
XSLT extensible Stylesheet Language Transformation Seite 1 Inhaltsverzeichnis 1. Was ist XSLT 3 1.1. Vorteile von XSLT 3 1.2 Anwendungen von XSL 3 2. Ablauf einer XSLT Transformation 4 2.1. Xalan und Xerces
Mehrhttp://www.therealgang.de/ Titel : Einführung in XML (Teil 2/2) Author : Dr. Pascal Rheinert Kategorie : Programmierung-Sonstige Teil II: XML (Dokument 2/2) Wichtiger Hinweis: Das folgende Dokument basiert
MehrXPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten
XPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten Holger Meyer XPath 1.0 p. 1 Überblick Umfeld Datenmodell Pfadausdrücke Details XPath 1.0 p. 2 XPath 1.0 http://www.w3.org/tr/xpath (Nov 1999)
MehrXML Path Language (XPath)
XML Path Language (XPath) Erik Wilde ETH Zürich http://dret.net/netdret/ Abstract Die XML Path Language (XPath) ist nicht nur die Grundlage für viele aktuelle XML-Technologien (XSLT, XML Schema, XQuery),
MehrXML-Abfrage- und Transformationssprachen. (Weiter-) Entwicklung der Standards. XQuery 1.0. bisher betrachtet. XPath 2.0. XPath 1.0 XSLT 2.0 XSLT 1.
(Weiter-) Entwicklung der Standards bisher betrachtet XQuery 1.0 XPath 1.0 XPath 2.0 XSLT 1.0 XSLT 2.0 1999 2007 142 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen Warum weiter- bzw. neuentwickeln? -
MehrXSL Transformations (XSLT) Teil I
XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil I Erik Wilde 30.5.2006 http://dret.net/lectures/xml-ss06/ 30.5.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Herkunft von XSLT XSLT
MehrVerwaltungsaufgaben lösen mit XML und L A T E X
Verwaltungsaufgaben lösen mit XML und L A T E X Uwe Siart T E X-Stammtisch München tutorien@siart.de Erstellt: 11. März 2003 Zuletzt geändert: 7. November 2008 Beispiele für Verwaltungsaufgaben 1 Listen
Mehr06 Formatierungssprachen, XSL. Manuel Burghardt Lehrstuhl für Medieninformatik
Markupsprachen 06 Formatierungssprachen, XSL Manuel Burghardt Wiederholung XML Namensräume werden benutzt, um in einem einzelnen Dokument mehrere XML Sprachen zu mischen (Ähnliche Funktionsweise wie Vorwahlen
MehrVerarbeitung von XML-Daten XSLT & XPath. Heiko Paoli (FZI)
Verarbeitung von XML-Daten XSLT & XPath Heiko Paoli (FZI) XML aus der DB: Und was nun? HTML Script-basierte XML Erzeugung Servlet/JSP Frameworks (XSQL, Cocoon) WML Datenbank +XML XML-Datenbank XML??? XML
MehrProf. Dr. Martin Leischner Fachbereich Informatik XML. Prof. Dr. Martin Leischner Fachbereich Informatik. Anwendungen (SOAP,WSDL, ) Verknüpfungen XSL
XML M. Leischner E-Businesskommunikation SS 2004 Folie 1 XML Sprachfamilie Anwendungen (SOAP,WSDL, ) XLL Verknüpfungen XPOINTER XLINK XSL XSLT Layout CSS XPATH Sprache Dokumentenaustausch DTD XML Namespace
MehrÜbungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser.
Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Verwenden Sie folgende XML-Sprachmittel: Leeres Element, geschachtelte Elemente, Element
MehrCARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de
CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...
MehrXML-Datenbanken. Autor: Nan Zhang Veranstaltung: XML in Bioinformatik
XML-Datenbanken Autor: Nan Zhang Veranstaltung: XML in Bioinformatik Übersicht Relationale Datenbanken Definitionen SQL XML-Datenbanken XPath XQuery XML-Datenbanken 2 XML-Datenbanken 3 Aufbau eines DB-Systems
MehrKonzept und Realisierung Extensible Stylesheet Language
Konzept und Realisierung Extensible Stylesheet Language Hauptseminar Telematik SS2002 Kai Weber XSL/XSLT 1 Inhalt des Vortrages Wozu dienen Stylesheets Vorstellung der XSL-Sprachfamilie Transformationen
MehrDaten- und Metadatenstandards Wintersemester 2011 / März 2012 Wiederholung und Klausurvorbereitung
Daten- und Metadatenstandards Wintersemester 2011 / 2012 29. März 2012 Wiederholung und Klausurvorbereitung Seminarplan Montag [26. März] Organisatorisches Daten, Information, Metadaten was ist das? Extensible
MehrGruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname
Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht
MehrXSL < Extensible Stylesheet Language/>
XSL < Extensible Stylesheet Language/> XSLT und XSL- FO TransformaLon und PräsentaLon von Metasprachen Jan Balke und Sven Marquart Der zweite Teil Einführung Grundlagen Verwendung Werkzeuge/Tools API Was
MehrXSLT 2011/2012 S Seite 1 h_da W
XSLT Seite 1 Inhalt Einleitung XSLT Arbeitsweise von XSLT Template-Anweisungen XSLT Syntax Beispiele Seite 2 XSLT - Allgemeines XSLT = Extensible Stylesheet Language for Transformation Umformung von XML
MehrXML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel
XML-QL Querysprachen für XML Zusätzliche Quellen: http://www.w3.org/tr/xquery/ http://www.w3schools.com/xquery/ XML-QL ist eine Querysprache für XML mit folgenden Eigenschaften: Kombiniert die XML-Syntax
MehrKlaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten
Transformation von XML-Dokumenten Lernziele Warum kann es sinnvoll sein XML-Dokumente zu transformieren? Wie funktioniert XSLT (Extensible Stylesheet Language Transformations)? Was ist XPath? Was sind
MehrXSL Templates. Mit Templates arbeiten. XSL Templates
XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder
Mehr3 XSLT Einführung in die Transformationssprache
19 3 XSLT Einführung in die Transformationssprache Dieses Kapitel soll als Einstieg in die Transformationssprache XSLT dienen. Wie bereits in den vorangegangenen Kapiteln gezeigt wurde, ist XSLT für die
MehrReferat 11: Einführung in XPath
Referat 11: Einführung in XPath DARIAH-DE Tutorial Digitale Textedition mit TEI Redaktion: Christof Schöch (Univ. Würzburg) Version 1.0, 02/2014 Grundlage der Folien: DH@Oxford 2012 Lizenz: Creative Commons
MehrXSLT 2016 S h_da S Seite 1
XSLT Seite 1 Inhalt Einleitung XSLT Arbeitsweise von XSLT Template-Anweisungen XSLT Syntax Beispiele Seite 2 XSLT - Allgemeines XSLT = Extensible Stylesheet Language for Transformation Umformung von XML
MehrXML. XML-Datenmodellierung / XML-Schemasprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 37 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
MehrXSL. XSLT und XSL- FO. < Extensible Stylesheet Language /> TransformaLon und PräsentaLon von Metasprachen. Jan Balke und Sven Marquart 1
XSL < Extensible Stylesheet Language /> XSLT und XSL- FO TransformaLon und PräsentaLon von Metasprachen Jan alke und Sven Marquart 1 Der zweite Teil Wiederholung Kopieren Wahlmöglichkeiten Schleifen Inhalte
MehrGruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname
Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 120 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden
MehrImplementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN
Vorstellung der Diplomarbeit Implementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN Oberseminar Datenbanken WS 05/06 Diplomand: Oliver Schmidt Betreuer:
MehrGliederung. Service Oriented Architecture - XML Technologies. 1 von 11
1 von 11 Gliederung Extensible Markup Language (XML) Wofür steht XML? Wie sieht XML aus? Dokumentgliederung Elemente Attribute Entity-Referenzen Vordefinierte Entities Verarbeitungsanweisungen (processing
Mehrmach,, Benjamin Kurtz, Bastian Bonnermann
Folie 1 Seminarvortrag in Multimedia- & Web-Technologie von: Markus Wißmach mach,, Benjamin Kurtz, Bastian Bonnermann Für den Seminarvortrag mit dem Thema XSL/XSLT wurde das Fachbuch XSLT von Doug Tidwell
MehrDaniel Koch XSLT. schnell + kompakt
XSLT Daniel Koch XSLT schnell + kompakt Daniel Koch XSLT schnell + kompakt ISBN 978-3-939084-32-7 2007 entwickler.press, ein Imprint der Software & Support Verlag GmbH 1. Auflage, 2007 http://www.entwickler-press.de/
MehrÜbersicht. Web (Site) Engineering (WebSE) Java-Applets II. Java-Applets. Client-basierte Techniken Applets
Übersicht Web (Site) Engineering (WebSE) Vorlesung 6: Dynamisierungstechniken für Client und Server B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 20. 11. 2007 XSL-Verarbeitung
MehrXML Informationsmodelle
XML Vorlesung ETHZ, Sommersemester 2006 XML Informationsmodelle Erik Wilde 25.4.2006 http://dret.net/lectures/xml-ss06/ 25.4.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht XML Namespaces für Schema-Kombination
MehrProjektseminar Texttechnologische Informationsmodellierung
Projektseminar Texttechnologische Informationsmodellierung XQuery Ziele der Sitzung Nach dieser Sitzung sollten Sie: XQuery als wesentlichen Standard zur Abfrage von in XML kodierten Daten kennen Mit Hilfe
MehrDr. Thomas Meinike Hochschule Merseburg
XSLT Programmierung effektiv und schmerzfrei! Dr. Thomas Meinike Hochschule Merseburg thomas.meinike@hs merseburg.de http://www.iks.hs merseburg.de/~meinike/ @XMLArbyter 19. Oktober 2011 / Wiesbaden
Mehr... MathML XHTML RDF
RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup
Mehr1 Was ist XML? Hallo XML! Kommentare in XML 52
Inhalt Vorwort 13 Einleitung und Ziel des Buches 15 1 Was ist XML? 21 1.1 XML ein Definitionsversuch 21 1.2 XML und HTML wo sind die Unterschiede? 22 1.3 XSLT 24 1.4 Einsatzgebiete von XML und XSLT 25
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrXSLT (XSLT) Lernziele
XSLT (XSLT) Lernziele Sie haben das Prinzip des XSLT-Transformationsprozesses verstanden. Sie sind in der Lage, ein XSLT-Stylesheet mit einem XML-Dokument zu verknüpfen. Sie sind in der Lage, Stylesheets
MehrPraktikum zur Veranstaltung XML-Technologie: Übung 09
Fachhochschule Wiesbaden - Fachbereich Informatik Praktikum zur Veranstaltung XML-Technologie: Übung 09 XSLT Eine HTML-Tabelle 06.01.2005 (c) 2004 H. Werntges, FB Informatik, FH Wiesbaden 1 Organisatorisches
MehrXSL. extended Stylesheet Language. Die Stylesheet Sprache für XML
XSL extended Stylesheet Language Die Stylesheet Sprache für XML XSL Umformen von XML Dokumenten in andere XML Dokumente HTML Dokumente beliebige andere Formate (TEX, Java, ) Ausgeben von XML Daten auf
MehrX-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001
X-Technologien XML and Friends 9. Juli 2001 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht XML SAX DOM XSL XPath XSLT XSL FO Extensible Markup Language Simple API for XML Document Object Model Extensible
MehrTexttransformation mit XSLT
Texttransformation mit XSLT Patrick Sahle sahle@uni-koeln.de Ulrike Henny ulrike.henny@uni-koeln.de Texttransformation mit XSLT Was ist XSLT? Wozu braucht man XSLT? Wie funktioniert XSLT? Ein Beispiel
MehrAngewandte Softwareentwicklung XML
Angewandte Softwareentwicklung XML WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net 2 Inhalt
MehrDynamische Inhalte und Formate
Dynamische Inhalte und Formate p. 1/3 Dynamische Inhalte und Formate Seminar Document Engineering Dennis Busch dennis.busch@gmx.de Institut für Softwaretechnologie Fakultät für Informatik Universität der
MehrGruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname
Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden
MehrEinführung in XML Torsten Schaßan SCRIPTO digital Wolfenbüttel
Einführung in XML Was ist XML? XML steht für extensible Markup Language. XML trennt Struktur, Inhalt und Aussehen von Dokumenten. XML ist eine Meta-Sprache, welche Regeln zur Formulierung von Auszeichnungssprachen
MehrSemistrukturierte Daten
Semistrukturierte Daten XML Stefan Woltran Emanuel Sallinger Institut für Informationssysteme Technische Universität Wien Sommersemester 2014 Stefan Woltran, Emanuel Sallinger Seite 1 XML Was ist XML?
MehrXPath, XSLT. Ulrich Hoffmann
XPath, XSLT Ulrich Hoffmann 1 Übersicht XPath XSLT 2 XPath XML Path ist eine umfangreiche Sprache, um Teile von XML-Dokumenten zu adressieren Keine XML-Syntax sondern URI-artige-Syntax
MehrXSLT Muster und Lösungen
XSLT Muster und Lösungen Thomas Bayer Tobias Kieninger Özgür Kipik bayer@oio.de Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de Inhalt Einleitung XSL & XSLT XPath XML Pattern XSLT
MehrGruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname
Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht
MehrDatenbanksysteme 2015 Kapitel 10
Datenbanksysteme 2015 Kapitel 10 Einführung in XML, XPath und XQuery 8.6.2015 Martin Gieseking Was ist XML? XML (Extensible Markup Language) ist eine Meta- Auszeichnungssprache zur textbasierten Beschreibung
MehrDOM und XPath 05. G. Görz, J. Schneeberger Department Informatik KI. goerz@cs.fau.de josef.schneeberger@hdu-deggendorf.de.
DOM und XPath 05 G. Görz, J. Schneeberger Department Informatik KI goerz@cs.fau.de josef.schneeberger@hdu-deggendorf.de 1 Übersicht DOM Document Object Model XPath Schritte und Pfadbeschreibungen Achsen
MehrXML XPath XSLT. Wiederholung und Auffrischung. Ulrike Henny und Patrick Sahle. IDE Autumn School 2012, Chemnitz
XML XPath XSLT Wiederholung und Auffrischung Ulrike Henny und Patrick Sahle XML, Wiederholung Werkzeuge? oxygen Folie 2 Folie 3 XML-Wiederholung XML Wissen codieren: Grundprinzipien, Baumstruktur, syntaktische
MehrTutorial: Anbindung einer SQL-Datenquelle. Version: 1.1 Autoren: David Haasler, Stefan Suermann
Tutorial: Anbindung einer SQL-Datenquelle Version: 1.1 Autoren: David Haasler, Stefan Suermann Inhaltsverzeichnis 1 1.1 2 3 Erstellen der Datenbank... Fehlerbehebung bei Falsche Syntax in der Nähe von
Mehr<< Syntax von XSL (2) >>
XSL > 1 XSL Einfache Conditions, Anweisung Mittels kann eine einfache Bedingung mittels XPath Syntax ausgewertet werden. können nur innerhalb
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrDuale Zustellung. Standardprofile. Version 1.0.0, 14.08.2007. DI Arne Tauber arne.tauber@egiz.gv.at
www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Duale Zustellung Version 1.0.0, 14.08.2007 DI Arne Tauber arne.tauber@egiz.gv.at
MehrVU Semistrukturierte Daten 1
181135 VU Semistrukturierte Daten 1 XSL - Extensible Stylesheet Language (Teil 1) 25.10.2005 Reinhard Pichler Inhalt Stylesheets XSLT Aufbau eines XSLT Stylesheets Abarbeitung eines XSLT Stylesheets Erzeugung
MehrXSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML
XSLT Vortrag 1. Was ist XSLT? XSLT ist eine Transformationssprache für XML Dokumente. XSLT war wahrscheinlich die erste XML basierte Programmiersprache. XSLT ist von der Struktur her Template-Matching,
MehrKlausur zur Vorlesung Einführung in XML
Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Nachname: Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 120 Minuten. Aufgabe
Mehr<Trainingsinhalt> XML umsetzen und nutzen
XML umsetzen und nutzen i Inhaltsverzeichnis Einführung 11 Das Problem mit HTML 12 Die Stärke von XML 13 Die XML-Helfer 14 XML im wirklichen Leben 15 Zu diesem Buch 16 Was Sie hier nicht
MehrStreaming Transformations for XML STX
Streaming Transformations for XML STX Oliver Becker Humboldt Universität zu Berlin wiss. Mitarbeiter am Institut für Informatik, Lehrstuhl für Systemarchitektur obecker@informatik.hu-berlin.de Abstract:
MehrKomplexe Transformationen mit XSLT
XML-Praxis Komplexe Transformationen mit XSLT Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Sortieren XML erzeugen und weiterverarbeiten modes Daten aus mehreren XML-Dokumenten lesen 2 sorting
MehrAnfragen & Transformation
Anfragen & Transformation mit XQuery XML Proseminar Le Huan Stefan Tran I 21.06.2010 Reales Beispiel Alle Weltmeister und ihre Finalgegner worldchampions.xml 2006 italy
MehrVerarbeitung von XML-Dateien. Jörn Clausen joern@techfak.uni-bielefeld.de
Verarbeitung von XML-Dateien Jörn Clausen joern@techfak.uni-bielefeld.de XML Was geht mich das an? effektives Datenaustauschformat von Mensch und Maschine gut verarbeitbar selbstdokumentierend fortschreitende
Mehry Extensible Stylesheet Language (XSL) y XSL Transformations (XSLT) y XML Path Language (XPath) y Zusammenfassung
;0/3DWK/DQJXDJH;3DWK XQG;6/7UDQVIRUPDWLRQV;6/7 (ULN:LOGH 7,.² (7+= ULFK 6RPPHUVHPHVWHU hehuvlfkw y Extensible Stylesheet Language (XSL) y XSL Transformations (XSLT) y XML Path Language (XPath) y Zusammenfassung
MehrXSL Transformation (XSLT) Teil IV
XML Vorlesung FH Aargau, SS 2006 XSL Transformation (XSLT) Teil IV Erik Wilde 3.7.2006 http://dret.net/lectures/xml-fhnw-ss06/ 3.7.2006 XML Vorlesung FHA SS 2006 1 Übersicht XSLT und Schemas Schemas für
MehrXML-Technologien. XML-Parser. Florian Raith Hochschule München Fakultät für Informatik und Mathematik am 04. November 2010
XML-Technologien XML-Parser Florian Raith Hochschule München Fakultät für Informatik und Mathematik am 04. November 2010 XML-Technologien Inhalt Das Document Object Model (DOM) Simple API for XML Vergleich
MehrSpeicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer
Speicherung von XML in (objekt-)relationalen Datenbanken Burkhard Schäfer Übersicht Motivation Anforderungen Ansätze modellorientiert strukturorientiert Zusammenfassung Motivation Warum XML in Datenbanken
MehrPräsentation von XML-Dokumenten mit Hilfe von Stylesheets
Präsentation von XML-Dokumenten mit Hilfe von Stylesheets 02.05.2006 Kevin Adrian Sandra Aufenberg Peter Henschel Igor Ionov Eva Lai Stylesheets - Definition beschreiben, wie Dokumente angezeigt werden
MehrEinführung: Installation und Anpassung der Site zum Buch 15
XML, XSLT, VB und ASP Praktisches XML-Wissen für Webprojekte Elmar Geese, Markus Heiliger, Matthias Lohrer Galileo Computing 350 S., 2001, geb., mit CD 34,90 Euro, ISBN 3-89842-109-0 Inhalt Vorwort 11
MehrXSLT: Transformation von XML-Dokumenten
XSLT: Transformation von XML-Dokumenten 1 Heutige Vorlesung letzte Woche Welche XML-Parser gibt es? Was sind ihre Vor- und Nachteile? Schema-Übersetzer als Alternative heutige Vorlesung Warum XML-Dokumente
MehrInternetbasierte Systeme
Internetbasierte Systeme Internetbasierte Systeme SS 2010 Michael Jäger 27. Juni 2010 1 / 446 Internetbasierte Systeme Internetbasierte Systeme SS 2010 Wie entwickle ich Software für das Web? http://www.w3.org
MehrXML. extensible Markup Language. Dr. Beatrice Amrhein. www.w3.org/xml
XML extensible Markup Language www.w3.org/xml Dr. Beatrice Amrhein 2 Inhaltsverzeichnis 1 XML Grundlagen...5 1.1 Die wichtigsten Punkte...5 1.2 XML Sprachen und Anwendungen...7 1.3 Der Aufbau eines XML
MehrXSLT: Anwendung und Einbindung in Applikationen am Beispiel einer Webanwendung zur Darstellung von Sendeplänen.
Fachhochschule Stuttgart - Hochschule der Medien Diplomarbeit im Studiengang Medieninformatik XSLT: Anwendung und Einbindung in Applikationen am Beispiel einer Webanwendung zur Darstellung von Sendeplänen.
MehrR-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.
R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. Carsten Szardenings c.sz@wwu.de 7. Mai 2015 A 2 B 3 C 4 D 5 F 6 R 16 S 17 V 18 W 19 Z 20 H 7 I 8 K 9
MehrXML. Teil 6: XLink, XPointer, XPath. Abteilung Informatik WS 02/03
XML Teil 6: XLink, XPointer, XPath Abteilung Informatik WS 02/03 XLink und XPointer Verknüpfungen in XML: XLink (XML Linking Language) definiert, wie ein Dokument zu anderen Dokumenten verknüpft wird XPointer
MehrKursinhalte. Kompakt-Intensiv-Training. XSL, XSLT, FO - Einstieg für XML
XSL, XSLT, FO - Einstieg für XML Kompakt-Intensiv-Training In unserer fünftägigen Schulung "XSL, XSLT, FO - Einstieg für XML" erlangen Sie ein fundamentales Verständnis der Transformation von XML-Dokumenten
MehrInhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15
Inhaltsverzeichnis 1 Einleitung...11 2 Motivation...15 Teil 1 - XM L......17 3 Geschichte von X M L...17 3.1 Markupsprachen...17 3.1.1 Auszeichnungsarten...17 3.1.2 Markupsprachen...20 4 Zeichensatz...
MehrXML mit SAS leicht gemacht
(Kopfzeile beginnt bei 1,25 cm vom Seitenrand, ungerade Seiten Thema rechtsbündig) Thema XML mit SAS leicht gemacht Andreas Adlichhammer HMS Analytical Software Rohrbacher Straße 26 Heidelberg Andreas.adlichhammer@analy
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrVerarbeitung von XML-Strömen
Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Verarbeitung von XML-Strömen Katharina Bellon Seminar zum Thema Data Streams Sommersemester 2005 1 Gliederung
Mehr2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit
XML- und Webservice- Sicherheit 2. XML 2.1 XML 1.0 und XML Schema Gliederung 1. XML 1.0 2. XML Namespaces: URI, URL und URN 3. XML Schema Literatur: A. Tanenbaum, Computer Networks. E. R. Harold and W.
Mehr