Frank Bongers. XSLT 2.0 & XPath 2.0

Größe: px
Ab Seite anzeigen:

Download "Frank Bongers. XSLT 2.0 & XPath 2.0"

Transkript

1 Frank Bongers XSLT 2.0 & XPath 2.0

2 Inhalt Vorwort Warum ein dickes Buch über XSLT? Warum überhaupt ein Buch über XSLT? Welche Inhalte werden behandelt? Welche Darstellungskonventionen werden verwendet? Vorwort zur zweiten Auflage Was befindet sich auf der Begleit-CD? Danksagungen XSLT und XPath der Start Verarbeitung von XML mit XSLT Erste XSLT-Transformationen Drei beteiligte Dokumente Erster Einsatz von XSLT-Instruktionen Das Wurzelelement xsl:stylesheet Das Wurzelelement xsl:stylesheet und seine Namensräume Die Grundstruktur des Stylesheets: xsl:template Regeln für den Aufruf des Templates Das Vergleichsmuster ein XPath-Pattern Literal Result Elements unter der Lupe Attribute in Literal Result Elements Namensräume und Literal Result Elements Default-Namensraum für Literal Result Elements Namensraum mit Präfix für Literal Result Elements Die Kontrolle über das Ergebnisformat Die Deklaration xsl:output Die Instruktionen im Template-Rumpf Exemplarisch: Die Instruktion xsl:value-of XPath-Ausdruck vs. XPath-Pattern Das XML-Dokument als Baum Warum Baumstrukturen? Eltern und Kinder im Baumdiagramm Knotengattungen im Dokumentbaum Dokumentknoten (document node) Elementknoten (element node) Textknoten (text node)

3 Inhalt Der Attributknoten (attribute node) Der Baum als Abbild eines Infosets oder PSVI Eine Transformation Schritt für Schritt Aktuell: Der Current Node im Quelldokument Der fiktive Ergebnisbaum Start mit XPath: Pfadausdrücke Gewusst wo: Vom Auffinden der Inhalte Bezugspunkt: Der Pfadausdruck im Kontext Der Pfadausdruck relativ und absolut Einfache und zusammengesetzte Pfadausdrücke Gefunden: Das Ergebnis des Pfadausdrucks Von Achsen und Nodetests Eine Achse für die Bewegungsrichtung Ein Knotentest für die Auswahl Eine kleine Achsenparade Die zwei Schreibweisen für Achsenbezeichner Pfadausdrücke Beispiele Pfadausdrücke auf der Child-Achse Ein Platzhalter für Bezeichner der Wildcard- Bezeichner KindTests auf den Elementachsen Übersprungshandlung: Der Ausdruck»//« Auswahl des Kontextes die Self-Achse Der Schritt zum Elternelement die Parent-Achse Von Stringwerten und Attributwerten Der Stringwert eines Elementknotens Verwendung der Attributachse Pfadausdrücke für Attributknoten Stylesheets mit mehreren Templates Zur Verarbeitung: Eine XML-Adresskartei Havarie: Die Grenzen des Stringwertes Auslagern: Eine Template-Regel für die Adressen Aktivist: Die Instruktion xsl:apply-templates Die Fortführung der Aktivierungskette Ein Vergleich Ausdruck vs. Instruktion Variante 1: Der XSLT-orientierte Ansatz Das Problem mit den Whitespace-Nodes Schutzwall für Leerzeichen: Die Instruktion xsl:text Variante 2: Der XPath-orientierte Ansatz Nebenschauplatz: Konstruktion von Sequenzen

4 Inhalt Nichts drin: Die leere Sequenz Konkretes: Literale in einer Sequenz Von Singletons und Knotendubletten Das separator-attribut von xsl:value-of Das Ziel: Die Sequenz nach Maß Vergleich der beiden Varianten Struktur steuert Verarbeitung Eine Template-Regel pro Element beinahe Die Verarbeitung im freien Fluss Default-Template-Regeln Default-Regeln für Element- und Dokumentknoten Default-Regeln für Text- und Attributknoten Default-Regeln für Kommentar- und PI-Knoten Default-Regel für Namensraumknoten Der strukturgesteuerte Ablauf der Verarbeitung Weg mit dem Leerraum: xsl:strip-space Reservate für Leerraum: xsl:preserve-space Einteilung der Elemente von XSLT Zusammenfassung und Aufgaben Testfragen Aufgaben XSLT und XPath Runde zwei XPath Filtern von Sequenzen Predicates Filterbedingungen für Location Steps Die Filterung einer Sequenz Logische Verknüpfung von Bedingungen mit AND und OR XPath-Funktionen in Predicate-Ausdrücken Bedingungen mit XSLT und XPath Entscheidungen mit XSLT: xsl:if Mehr Entscheidungen in XSLT: xsl:choose Alternative in XPath: if... then... else Nummerieren, Zählen und Summieren Einfache Nummerierung xsl:number Zählen, Summieren und Runden Sortierung xsl:sort Sortierung von Sequenzen xsl:sort Nummerierung sortierter Sequenzen

5 Inhalt Schleifen in XSLT: xsl:for-each Alternative in XPath: for... in... return Gruppierung mit xsl:for-each-group Attributwerte zur Laufzeit: Attributwert-Templates Erzeugen von Knoten Elementknoten erzeugen mit xsl:element xsl:attribute Sammlung von Attributdeklarationen xsl:attribute-set Kopieren von Knoten: xsl:copy und xsl:copy-of Kopieren mit xsl:copy die flache Kopie Kopieren mit xsl:copy-of die tiefe Kopie Zusammenfassung und Aufgaben Testfragen Aufgaben XSLT und XPath Runde drei Variablen und Parameter Variable in XSLT xsl:variable und xsl:param Globale Variablen und Parameter Variablenwerte sind temporäre Bäume xsl:call-template, name xsl:with-param Tunnelparameter Durchtunneln von Default-Regeln Das zweitbeste Template xsl:next-match Templates und Template-Mode Verschieden gestimmte Template-Regeln das mode-attribut Stringverarbeitung Rekursiver Template-Aufruf vs. regulärer Ausdruck Datums-, Zeitdauer- und Zeitstempelwerte Datumswert mit fn:current-date() Uhrzeit mit fn:current-time() Zeitstempelwert mit fn:current-datetime() Die Formatierung mit format-date(), format-time() und format-datetime() Konstruktion von Datums-, Zeit- und Zeitstempelwerten

6 Inhalt Operationen mit Datums-, Zeit- und Zeitstempelwerten Stylesheet-Funktionen Externe Quellen Dokumente und Entitäten Dokumente einbinden mit document() Die XSLT-Funktion unparsed-entity-uri() Die XSLT-Funktion unparsed-text Mehrere Ergebnisdokumente Erzeugung eines HTML-Framesets mit xsl:result-document Modulare Stylesheets Importpräzedenz Konfliktbewältigung bei Importen xsl:apply-imports Parameter und Variable in importierten Stylesheets Schlüssel und Identifier Laufzeitidentifier für Elemente generate-id() Echte Identifier auslesen mit der Funktion id() Keys Listen von Schlüsseln zur Laufzeit Externe keys Schlüssel in anderen Dokumenten Gegenüberstellung: Keys ID Zusammenfassung und Aufgaben Testfragen Aufgaben Ausblick auf den zweiten Teil des Buches XPath 2.0 Sprachreferenz XPath als Pfadbeschreibungssprache XSLT als Host-Language für XPath Das XML-Dokument als Baum XPath-Ausdrücke Der XPath-Ausdruck als Grundeinheit Die Sequenz als Ergebnis eines Ausdrucks XPath-Ausdrücke Der Auswertungskontext Statischer Kontext Dynamischer Kontext XPath-Ausdrücke Operatoren und Keywords Präzedenz der XPath-Operatoren Vergleichsausdrücke Logische Verknüpfungen von Ausdrücken Operatoren für Sequenztypen

7 Inhalt Bedingte Ausdrücke Quantifizierende Ausdrücke Schleifenausdrücke mit for Verknüpfung von Sequenzen XPath 2.0-Kommentare Pfadausdrücke Grundlagen Pfadausdruck in XPath 1.0 und XPath Pfadausdrücke allgemein betrachtet Relative und absolute Pfadausdrücke Der Doppelslash im Pfadausdruck Pfadausdrücke Achsen Self-Achse Child-Achse Descendant-Achse Descendant-Or-Self-Achse Following-Sibling-Achse Following-Achse Attribute-Achse Namespace-Achse Parent-Achse Ancestor-Achse Ancestor-Or-Self-Achse Preceding-Sibling-Achse Preceding-Achse Pfadausdrücke: Location Steps Knotentests Knotentest auf den Bezeichner: NameTest Knotentest auf die Knotenart: KindTest Der Achsenschritt Die Predicates (Filterbedingungen) Zusammenstellung der Ergebnissequenz Innerer und äußerer Fokus in Pfad- und Predicate- Ausdrücken Sequenzausdrücke Erzeugung von Sequenzen Sequenzenbeschreibung: Sequenztypen Vergleich von XPath 1.0 und XPath Gemeinsamkeiten und Unterschiede Abwärtskompatibilität XPath 2.0 zu XPath

8 Inhalt 5 Referenz XSLT-/XPath-Funktionen XPath- und XSLT-Funktionen allgemein Formale Einteilung in XPath- und XSLT Funktionen Erweiterungsfunktionen Stylesheet-Funktionen Namensräume für Funktionen Aufruf einer XPath/XSLT-Funktion Funktionen in XPath 1.0 und XSLT Funktionen in XPath 2.0 und XSLT XSLT-Funktionen alphabetisch current current-group current-grouping-key document element-available format-date format-datetime format-number format-time function-available generate-id key regex-group system-property type-available unparsed-entity-public-id unparsed-entity-uri unparsed-text unparsed-text-available XPath-Funktionen alphabetisch fn:abs fn:adjust-date-to-timezone fn:adjust-datetime-to-timezone fn:adjust-time-to-timezone fn:avg fn:base-uri fn:boolean fn:ceiling fn:codepoint-equal fn:codepoints-to-string

9 Inhalt fn:collection fn:compare fn:concat fn:contains fn:count fn:current-date fn:current-datetime fn:current-time fn:data fn:datetime fn:day-from-date fn:day-from-datetime fn:days-from-duration fn:deep-equal fn:default-collation fn:distinct-values fn:doc fn:doc-available fn:document-uri fn:empty fn:encode-for-uri fn:ends-with fn:error fn:escape-html-uri fn:exactly-one fn:exists fn:false fn:floor fn:hours-from-datetime fn:hours-from-duration fn:hours-from-time fn:id fn:idref fn:implicit-timezone fn:in-scope-prefixes fn:index-of fn:insert-before fn:iri-to-uri fn:lang fn:last

10 Inhalt fn:local-name fn:local-name-from-qname fn:lower-case fn:matches fn:max fn:min fn:minutes-from-datetime fn:minutes-from-duration fn:minutes-from-time fn:month-from-date fn:month-from-datetime fn:months-from-duration fn:name fn:namespace-uri fn:namespace-uri-for-prefix fn:namespace-uri-from-qname fn:nilled fn:node-name fn:normalize-space fn:normalize-unicode fn:not fn:number fn:one-or-more fn:position fn:prefix-from-qname fn:qname fn:remove fn:replace fn:resolve-qname fn:resolve-uri fn:reverse fn:root fn:round fn:round-half-to-even fn:seconds-from-datetime fn:seconds-from-duration fn:seconds-from-time fn:starts-with fn:static-base-uri fn:string

11 Inhalt fn:string-join fn:string-length fn:string-to-codepoints fn:subsequence fn:substring fn:substring-after fn:substring-before fn:sum fn:timezone-from-date fn:timezone-from-datetime fn:timezone-from-time fn:tokenize fn:trace fn:translate fn:true fn:unordered fn:upper-case fn:year-from-date fn:year-from-datetime fn:years-from-duration fn:zero-or-one XPath 2.0-Konstruktorfunktionen (Übersicht) XPath 2.0-Typumwandlungsfunktionen (Casting Functions) Umwandlung zwischen primitiven Typen Umwandlung von abgeleiteten Typen in Basistypen Umwandlung innerhalb eines Typhierarchiezweigs Umwandlung zwischen Typhierarchiezweigen Ausgehend von xs:string und xs:anysimpletype Nach xs:string, xs:anysimpletype und xs:untypedatomic Nach numerischen Typen Nach Typen der Zeitdauer Nach Typen für Datum und Zeit Nach xs:boolean Nach xs:base64binary und xs:hexbinary Nach xs:anyuri Nach xs:qname Nach xs:notation

12 Inhalt 5.8 XPath 2.0-Operatorfunktionen Unterstützte Operatorsymbole Erläuterung anhand des +-Operators Referenz XSLT-Elemente Formale Einteilung der XSLT-Elemente Root-Elemente Toplevel-Elemente Instruktionen Kurzübersicht über XSLT Übersicht über die Elemente Standardattribute in XSLT Attributwert-Templates in Instruktionen von XSLT Kurzübersicht über XSLT Übersicht über die Elemente von XSLT Zusätzliche Standardattribute ab XSLT Attributwert-Templates in Instruktionen von XSLT Die XSLT-Elemente nach Funktionsgruppen Alphabetische Referenz der XSLT-Elemente xsl:analyze-string xsl:apply-imports xsl:apply-templates xsl:attribute xsl:attribute-set xsl:call-template xsl:character-map xsl:choose xsl:comment xsl:copy xsl:copy-of xsl:decimal-format xsl:document xsl:element xsl:fallback xsl:for-each xsl:for-each-group xsl:function xsl:if

13 Inhalt xsl:import xsl:import-schema xsl:include xsl:key xsl:matching-substring xsl:message xsl:namespace xsl:namespace-alias xsl:next-match xsl:non-matching-substring xsl:number xsl:otherwise xsl:output xsl:output-character xsl:param xsl:perform-sort xsl:preserve-space xsl:processing-instruction xsl:result-document xsl:sequence xsl:sort xsl:strip-space xsl:stylesheet xsl:template xsl:text xsl:transform xsl:value-of xsl:variable xsl:when xsl:with-param Vorwärts- und Rückwärtskompatibilität Rückwärtskompatible Verarbeitung Vorwärtskompatible Stylesheetverarbeitung XSLT-Prozessoren für XSLT Saxon Eigenschaften des Saxon-Prozessors Erweiterungsfunktionen und Erweiterungselemente Saxon-B der Basic XSLT-Prozessor

14 Inhalt Saxon-SA der Schema Aware XSLT-Prozessor Die Installation Saxon Optionen für die Kommandozeile Kompilierte Stylesheets Kernow die Saxon-GUI für die Java-Plattform AltovaXML Installation AltovaXML Aufruf über die Kommandozeile AltovaXML Optionen für die Kommandozeile Zusammenfassung XSLT-Entwicklungsumgebungen Oxygen-XML-Editor Eigenschaften Fazit Programmdaten Stylus Studio Eigenschaften Fazit Programmdaten Altova XMLSpy Eigenschaften Fazit Programmdaten Anhang A Lösungen A.1 Antworten zu den Testfragen in Kapitel A.2 Antworten zu den Testfragen in Kapitel A.3 Antworten zu den Testfragen in Kapitel A.4 Lösungen zu den Aufgaben in Kapitel A.5 Lösungen zu den Aufgaben in Kapitel A.6 Lösungen zu den Aufgaben in Kapitel B W3C-Online-Ressourcen B.1 Ressourcen zu XML B.2 Ressourcen zu Namensräumen B.3 Ressourcen zu XML Schema B.4 Ressourcen zu XSL und XSLT

15 Inhalt B.5 Ressourcen zu XPath und XQuery B.6 Ressourcen zu Data Model und Infoset B.7 Weitere Ressourcen C Glossar D Inhalt der Begleit-CD D.1 Home D.2 Buchdateien D.3 Referenzen D.4 Ressourcen D.5 Programme D.5.1 XSLT-Prozessoren D.5.2 XSLT-Entwicklungsumgebungen D.6 Kontakt Index

16 Dieses Kapitel dient als allgemeiner Einstieg in XSLT: Anhand einfacher Beispiele werden die Grundstruktur eines XSLT-Stylesheets und erste XSLT-Instruktionen erläutert. Weiterhin wird ein Blick auf Baumstrukturen und die Bedeutung von XPath im Verhältnis zu XSLT geworfen. 1 XSLT und XPath der Start Da dieses Buch sich fast ausschließlich mit XSLT beschäftigen wird, ist dies der geeignete Platz, um zunächst kurz das Thema zu umreißen. Beginnen wir also beim Anfang, ohne uns zunächst um»technische«aspekte zu kümmern. 1.1 Verarbeitung von XML mit XSLT Ein XML-Dokument beschreibt die in ihm enthaltene Information lediglich in ihrer Struktur. Daher muss diese, beispielsweise zu Präsentationszwecken, in eine hierfür geeignete Form gebracht werden. Oft geht dies mit einer Umformung der Informationsstruktur einher, beispielsweise einer Sortierung oder Filterung. Auch für den Austausch von Informationen im XML-Format, wie es im B2B-Bereich erforderlich ist, müssen XML-Quellformate in anders strukturierte Zielformate überführt werden. Hierbei kann es erforderlich sein, neue Inhalte hinzuzufügen, die im Dokument selbst nicht enthalten sind. Die Inhalte können aus anderen Quellen stammen oder durch Zusammenfassung oder Berechnungen aus den Ursprungsinformationen gewonnen werden. Abbildung 1.1 Schematische Darstellung einer Verarbeitung mit XSLT 27

17 1 XSLT und XPath der Start Das ursprüngliche Dokument bleibt dabei erhalten: Aus einem Quelldokument wird stets ein neues Ergebnisdokument erzeugt. Dieses kann wiederum ein XML- Dokument sein, aber auch ein (fast beliebiges) anderes Format besitzen. Diese Art der Verarbeitung von XML-Dokumenten, wie sie hier betrachtet werden soll, wird mittels XSL, der»extensible Stylesheet Language«, beschrieben, bei der es sich um eine XML-Anwendung handelt. XSL zerfällt eigentlich in zwei Untergruppen, von denen die eine, XSL-FO (XSL Formatting Objects 1 ), die Druckpräsentation zum Ziel hat. Die andere, die uns vorwiegend interessiert und deshalb Thema dieses Buches ist, beschreibt ausschließlich die Transformation von XML-Dokumenten, also deren Umformung: XSLT, die»extensible Stylesheet Language Transformations«. In XSLT formulierte Dokumente bezeichnet man aus historischen Gründen als»xslt-stylesheets«, obwohl sie funktional weit über eine statische Darstellungsbeschreibung hinausgehen. Da dieses Buch den Titel»XSLT 2.0 und XPath 2.0«trägt, wird genauso oft von XPath die Rede sein. Die»XML Path Language«ist, wie der vollständige Name besagt, primär eine Pfadbeschreibungssprache. In XSLT eingebettet dienen XPath-Ausdrücke sowohl der Steuerung der Transformation als auch der unmittelbaren Erzeugung von Inhalten. Mittels eines XPath-Ausdrucks kann in Form eines Vergleichsmusters eine Information in einer XML-Quelle beschrieben werden, oder für einen aktiven Zugriff auf eine Information unmittelbar der»weg«zu ihr. Die Sprache dient also der Navigation innerhalb des Quelldokuments und dazu, die dort liegenden Informationen zugänglich zu machen, um diese zu verarbeiten. Des Weiteren können mit XPath-Ausdrücken auch unabhängig vom Quelldokument neue Inhalte generiert werden, die dann ebenfalls in das Ergebnisdokument ausgegeben werden. XPath-Version und XSLT-Version müssen zusammenpassen Im Zusammenhang mit XSLT 2.0 wird stets auch XPath 2.0 verwendet; analog arbeitet XSLT 1.0 ausschließlich mit XPath 1.0. Andere Kombinationen oder Mischformen (innerhalb eines Dokuments) sind ausdrücklich nicht gestattet. Bei XPath 2.0, der aktuellen Version, von der in diesem Buch die Rede ist, handelt es sich eigentlich um eine (allerdings umfangreiche) Untergruppe von XQuery 1.0, einer äußerst mächtigen Abfragesprache für XML, die in voller Funktionalität jedoch nur unabhängig von XSLT nutzbar ist. 1 Über XSL-FO müsste ein eigenes Buch geschrieben werden. Für uns interessant mag aber die Tatsache sein, dass der Weg von einem XML-Dokument zu dessen FO-Repräsentation wiederum über eine Transformation mit XSLT führt, XSL-FO also XSLT nachgeschaltet sein kann. 28

18 Erste XSLT-Transformationen 1.2 Eine Kompatibilität zwischen XSLT 1.0 und XSLT 2.0 ist relativ weitreichend gegeben: Sämtliche Elemente von XSLT 1.0 existieren auch in XSLT 2.0, zum Teil jedoch mit verändertem Verhalten oder erweiterter Funktionalität. Dies hat unter anderem mit dem gegenüber XPath 1.0 wesentlich erweiterten Umfang von XPath 2.0 zu tun, jedoch auch mit dem wesentlichen Unterschied von XSLT 2.0 gegenüber XSLT 1.0: der Unterstützung von Typisierung der verarbeiteten Information gemäß einem XML Schema. XSLT 1.0 ist nicht Thema dieses Buches. Ich werde aber, besonders im Referenzteil, auf Probleme der Kompatibilität eingehen, wo dies erforderlich erscheint. Wir werden uns in der Folge nur mit XSLT 2.0 und XPath 2.0 beschäftigen, die ich deshalb oft kurz mit»xslt«und»xpath«bezeichnen werde. Hinweis: Installieren Sie jetzt Ihren XSLT 2.0-Prozessor. Die auf den folgenden Seiten beschriebenen Beispiele erschließen sich aufgrund ihrer Einfachheit durchaus auch auf theoretischem Weg. Wenn Sie die Transformationen jedoch sofort in der Praxis durchführen wollen, sollten Sie zunächst den XSLT-Prozessor Saxon 9 (bzw. Kernow mit Saxon 8.9) oder die AltovaXML Suite auf Ihrem Rechner installieren eventuell im Zusammenhang mit einer XML-Entwicklungsumgebung Ihrer Wahl. Alle erforderlichen Installationsdateien sowie die vorgestellten Beispieldateien sind auf der Begleit-CD des Buches enthalten. Eine entsprechende Hilfestellung zur Installation und zum Einsatz von Saxon 9, AltovaXML bzw. zu den Entwicklungsumgebungen finden Sie im Referenzteil des Buches. 1.2 Erste XSLT-Transformationen Anstatt hier lange theoretische Erörterungen zu beginnen, sollen einige möglichst einfache Beispiele vorgestellt werden, an denen sich bereits in Ansätzen zeigen lässt, worum es bei der Anwendung von XSLT geht Drei beteiligte Dokumente Bei jeder Transformation sind drei Dokumente beteiligt: Zunächst das Quelldokument, bei dem es sich um ein XML-Dokument handelt und das die zu verarbeitenden Informationen beinhaltet. Zweitens das XSLT-Stylesheet: In diesem stehen die Anweisungen, wie mit den Informationen aus dem Quelldokument zu verfahren ist. Drittens das nach Abschluss der Transformation erzeugte Ergebnisdokument. Sein Aufbau ergibt sich aus den Anweisungen des Stylesheets und aus der Struktur und dem Inhalt des Quelldokuments. 29

19 1 XSLT und XPath der Start Das Quelldokument Ein Quelldokument muss für die Durchführung einer Transformation zwingend vorliegen. Hier wird eine möglichst einfache XML-Datei verwendet, um den Blick nicht durch nebensächliche Aspekte abzulenken. Zwar würde bereits ein leeres Wurzelelement genügen, aber ein wenig Inhalt sollte für die folgenden Demonstrationen schon zur Verfügung stehen: <?xml version="1.0" encoding="iso "?> <wurzelelement> Das ist ein Testinhalt aus 'dummy.xml'. </wurzelelement> Listing 1.1 kap01/1.02.1/dummy.xml Anmerkung: An dieser Stelle soll kurz erwähnt werden, dass der einlesende XML- Parser, der der Transformation stets vorgeschaltet ist, das Dokument intern in eine Baumstruktur überführt. Zu diesem Zeitpunkt ist dies noch nicht wichtig, es erleichtert aber später das Verständnis des Ablaufs. Das Stylesheet Das Dokument dummy.xml soll mittels eines XSLT-Stylesheets verarbeitet werden. Auch dieses Dokument ist für das Einstiegsbeispiel so einfach wie möglich gehalten siehe Abbildung 1.2. Abbildung 1.2 Das erste Stylesheet stylesheet1.xsl Deutlich ist zu sehen, dass einige Elementnamen mit xsl: beginnen. Hier sind dies die Elemente xsl:stylesheet (hellgrau) und xsl:template (mittelgrau) 30

20 Erste XSLT-Transformationen 1.2 diese bilden das funktionale Gerüst des Stylesheets. Darüber hinaus ist im Inneren von xsl:template auch noch»normales«html enthalten (dunkelgrau). Der vorausgehende XML-Prolog kennzeichnet das Stylesheet als XML-Dokument. Das encoding-attribut bezeichnet den Zeichensatz des Dokuments. Das Ergebnisdokument Folgendes Ergebnisdokument wird erzeugt in diesem Fall handelt es sich um ein simples HTML-Dokument: <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>ergebnisdokument</title> </head> <body> <h1>die erste XSLT-Transformation</h1> <p>ein Textabsatz. Später mehr.</p> </body> </html> Listing 1.2 kap01/1.02.1/ergebnis.html Vergleicht man Ergebnisdokument und Stylesheet miteinander, so bemerkt man, dass das Ergebnisdokument (fast) als Ganzes wenn auch in weitere Elemente verkapselt bereits im Stylesheet enthalten ist (dort im Quellcode dunkelgrau hinterlegt). Offensichtlich also ist dieser Bereich im Wesentlichen kopiert worden, wobei allerdings ein <meta>-tag hinzugefügt wurde, das im Stylesheet nicht enthalten war. In der hier dargestellten Absolutheit ist ein solcher Kopiervorgang natürlich ein Extremfall. Ebenso extrem an diesem Beispiel ist, dass das XML-Quelldokument im Prinzip gar nicht verwendet zu werden scheint (es steht ja auch fast nichts drin). Eine gewisse Rolle spielt das Quelldokument dennoch, wie später noch zu sehen sein wird. Zunächst soll nur vermerkt werden, dass ein Stylesheet Bereiche enthält, die»wie sie sind«im Ergebnisdokument wieder auftauchen. Weil sie dabei nicht verändert werden, also»literal«übernommen werden, bezeichnet man sie auch als Literal Result Elements (literale Ergebniselemente). 31

21 A Abbreviated Syntax 1089 abgekürzte Schreibweise 1089 absoluter Location Path 1089 Abwärtskompatibilität XPath 2.0 zu XPath Achse 70, 1089 abgekürzte Schreibweise 72, 1089 Achsenbezeichner 71 Ancestor-Achse 72, 1089 Ancestor-Or-Self-Achse 72, 1090 Attribut-Achse 1090 Attribute-Achse 72, 79 Bewegungsrichtung 70 Child-Achse 71, 1092 Descendant-Achse 72, 1094 Descendant-Or-Self-Achse 72, 1094 Elementachsen 72, 1096 Following-Achse 72, 1099 Following-Sibling-Achse 72, 1099 Namespace-Achse 72, 1108 Parent-Achse 71, 77, 1111 Preceding-Achse 72, 1112 Preceding-Sibling-Achse 72 Reichweite 70 Self-Achse 71, 76, 1115 vollständige Schreibweise 72 Achsen Achsen in XPath 289 Achsen in XQuery 289 Achsenschritt 308 Ancestor-Achse 303 Ancestor-Or-Self-Achse 305 Attribut-Achse 299, 318 Child-Achse 293, 318 Descendant-Achse 294, 318 Descendant-Or-Self-Achse 295, 319 Following-Achse 298 Following-Sibling-Achse 297 forward axes 289 Namespace-Achse 301 Parent-Achse 302, 318 Preceding-Achse 307 Preceding-Sibling-Achse 306 Achsen (Forts.) principal node kind 309 reverse axes 289 Richtungen 289 rückwärts gerichtete Achsen 290 Self-Achse 292, 318 vorwärts gerichtete Achsen 290 Achsenschritt 315 abbreviated syntax 318 Knotentest 316 unabbreviated syntax 316 AltovaXML 1021, 1129 Installation 1022 Kommandozeile 1023 Option -? 1024 Option -d 1026 Option -dtd 1026 Option -h 1024 Option -help 1024 Option -in 1026 Option -out 1026 Option -param 1028 Option -s 1025 Option -schema 1025 Option -v 1025 Option -validate 1025 Option -ver 1024 Option -version 1024 Option -w 1025 Option -wellformed 1025 Option -xslstack 1028 Option -xslt Option -xslt Optionen, Kommandozeile 1023 Serverseitig über PHP 1023 Attribut Attribute Value Template 1090 Attributset 1090 Attributwert-Template 1090 Attributknoten 60, 80 Erzeugung 689 Validierung 691 Attributlisten 696 Attributsammlungen

22 Attributsets Konflikt zweier Attributdefinitionen 699 Attributwerte Umwandlung 162 Weitergabe von 162 Attributwert-Templates 43, 160 bei XSLT , 669 Einschränkung der Verwendbarkeit 165 Maskierung der geschweiften Klammer 163 Verwendung von 164 XPath-Ausdrücke als Attributwerte 160 XPath-Ausdrücke, eingebettete 161 Ausdruck Ausdruck vs. Instruktion 87 Ausdrücke additive Ausdrücke 267 arithmetische Ausdrücke 265, 267 Bedingte Ausdrücke 265 logische Ausdrücke 265 multiplikative Ausdrücke 268 Pfadausdrücke 265 Quantifizierende Ausdrücke 265 Schleifenausdrücke 265 Sequenzausdrücke 265 Vergleichsausdrücke 265 Auswertungskontext 67 B Base Basic XSLT Processor 1091 Basis-URI 1091 Auflösen des Basis-URI 567 in inkludierten Modulen 788 Baumstruktur 55 Elternknoten 57 gerichteter Graph 55 Kindknoten 57 Knoten 55 Verbindungen 55 Bedingung xsl:choose 707 xsl:if 769 xsl:otherwise 831 xsl:when 980 boolesche Funktionen fn:not() 123 boolesche Negation 547, 1091 boolescher Ausdruck 1091 boolescher Wert 1091 Built-In Template Rule Template- Regeln, eingebaute C CDATA 1091, 1092 CDATA-Abschnitte 1092 Character Data CDATA Character Reference 1092 Character-Map-Deklaration 706 Character-Mapping 860 Escaping für gemappte Zeichen 860 Output-Escaping, deaktiviertes 860 Collation 1092 Conditional Expressions 129 Current Node 62 Current Output Destination 1093 Current Template Rule 1093 D Data Model Ressourcen 1087 date formatting functions Zeitformatfunktion Datenmodell 62 Datentypen 1093 Datumswerte formatieren mit format-date 205 Debugging 615 Default-Regel in XSLT in XSLT Default-Wert 1094 Deserialisierung 1094 DocBook 1094 document node 59 Document Object Model 256 Document Type Declaration 1095 Dokumentbaum 62, 1095 Dokumentelement 1095 Dokumentknoten 59, 1095 Erzeugung 166 Dokumentreihenfolge 1095 DOM 1095 DSSSL 1096 DTD

23 E EDI 1096 Einfügen mit xsl:include 232 element node 59 Elementknoten 59, 1096 Erzeugung 736 Erzeugung mit xsl:element 167 Validierung 738 else-expression 130 Encodierung 1097 Entities, externe 1097 Entity 1097 unparsed Entity 1120 Entity-Referenz 1097 Ergebnisbaum 62, 1097, 1114 Ergebnisdokument 29, 1098 Ergebnisdokument, sekundäres 887 Validierung 903 Ergebnissequenz 62 primäre Ergebnissequenz 64 Erweiterungsfunktion 335 EXSLT 336 Prüfung auf Verfügbarkeit 391 Erweiterungsinstruktion exsl:document 224 saxon:output 224 xt:document 224 expanded Name 1098 Expression 1099 externe Quellen Dokumente 216 Entititäten 216 F Fallback 1099 Fehler, dynamischer 263 Fehler, statischer 261 Filterbedingungen für Location Steps 117 Filterbedingungen Predicate Fokuskomponenten 264 context item 264 context node 264 context position 264 current sequence 264 Formatierung Datumswerte mit format-date 205 Zahlenwerte mit format-number 143 Formatierung (Forts.) Zeitstempelwerte mit format-datetime 207 Zeitwerte mit format-time 206 Formatierungsmuster 364 Forwards-Compatible Processing 1100 Funktion 1100 Funktionen Erweiterungsfunktion 1098 Stringfunktionen 201 Sylesheet-Funktion 212, 1117 G Generierte Identifier Laufzeitidentifier Glyphe 1100 GML 1100 Gruppierung 749 Current Group 159 Current Grouping Key 159 group-adjacent 750 group-by 750 group-ending-with 751 group-starting-with 751 Gruppierung mit xsl:for-each-group 157 Gruppierungskritierium 157, 751 Gruppierungsschlüssel 753 Kontextitem 754 Muenchsche Methode 157 population order 750 Sortierung 753 Verarbeitungsreihenfolge 753 Gültigkeitsbereich von Variablen und Parametern 1100 H HTML 1101 HTML-Framesets 225 I IANA 1101 ID 1101 Identifier 237 Deklarierte Identifier 237 Fragment Identifier 1100 Laufzeitidentifier erzeugen mit generate-id()

24 Identifier (Forts.) Laufzeitidentifier für Elemente 238 Importieren Attributsets 774 Globale Parameter und Variable 775 Importieren externer Stylesheets mit xsl:import 233 Importieren mit xsl:import 232 Importieren vs. Inkludieren 231 Importkaskade 773 Importpräzedenz 679, 773, 786 Importzweig 680 Namespace-Aliasing 775 Outputdeklarationen 775 Position der Import-Deklaration 772 Präzedenz, niedrigere 680 Reaktivierung von Template-Regeln 679 Schlüsseldeklarationen 775 Stylesheetmodul 680 Template-Regeln 774 Vergleich mit Inkludieren 775 Whitespacebehandlung 775 XML-Schema-Definitionen 782 Zahlenformatdeklarationen 774 Importpräzedenz 1101 Infoset 60 Information-Item 60 Ressourcen 1087 Inhaltsmodell 1102 Inkludieren globale Parameter und Variable 787 Importpräzedenz 786 Konfliktfall 787 Schlüsseldeklaration 788 Stylesheetmodule 785 Inkompatibilitäten Datumswerte 334 Kompatibilitätsmodus false 332 Kompatibilitätsmodus true 333 Leerzeichen 333 Namensraumachse 333 Umwandlung von String nach Zahl 333 Vergleichsoperationen 333 Instanziieren 1102 Instruktion 1102 Ausdruck vs. Instruktion 87 IRI Definition 503 ISO 1102 Item 1102 Itemtest 329 J JAXP 1103 JDK 1103 K Kardinalität 1103 Kernow 1019, 1129 Einstellungen für Saxon 1019 Installation mittels Java Web Start 1019 Lizenzschlüssel Saxon-SA 1019 Validierung, Eingabe 1021 Verarbeitung, Einzeldateien 1020 Verarbeitung, Standalone 1020 Verarbeitung, Verzeichnisse 1020 Verarbeitung, XQuery 1020 Key-Definition 1103 Key-Deklaration 397 Kindknoten 1103 KindTest 1103 Knoten 259, 1109 Attributknoten 1090 Bezeichner 260 Comment Node 1093 Current Destination Node 1093 Current Node 1093 Document Node 1095 Dokumentknoten 1095 einfache Typen 259 Elementknoten 290, 1096 Identität 260 Kindknoten 1103 Knotentypen 259 Kommentarknoten 1104 komplexe Typen 259 Kontextknoten 1104 Kopieren von 171 Listentypen 259 Namenlose Knoten 1107 Namensraumknoten 1107 Processing-Instruction-Knoten 290 Textknoten 290, 1119 Whitespace-Textnodes 1122 Wurzelknoten

25 Knotengattungen 58 Attributknoten 58 Dokumentknoten 57 Elementknoten 58 Kommentarknoten 58 Namensraumknoten 58 Processing-Instruction-Knoten 58 Textknoten 58 Knotentest 71, 308, 309 allgemeiner NameTest Attributknoten 314 document-node() 312 document-node(elementtest) 312 Dokumentknoten 312 element() 312 Elementknoten 312 Elementknoten, nillable 313 KindTest 71, 308, 310 KindTest, allgemeiner 310 Kommentarknoten 311 NameTest 71, 308, 309 PI-Knoten 311 Processing-Instruction-Knoten 311 Textknoten 311 Kommentar 1103 Kommentar, in XPath 265 Kommentarknoten Erzeugung 166, 711 Kompatibilität XSLT 1.0 und XSLT Konstruktorfunktionen benutzerdefinierte Datentypen 632 Ur-Typen 631 XML-Schema Datentypen 630 Kontext, dynamischer 260, 263 accessible collections 263 accessible documents 263 current date and time 263 current-captured-substring 264 current-group 264 current-grouping-key 264 Fokus 263 implicit timezone 263 Kontext, statischer 260 Basis-URI 262 Collations 262 in-scope attribute declaration 261 in-scope collations 262 Kontext, statischer (Forts.) in-scope element declaration 261 in-scope schema definitions 261 in-scope type definition 261 in-scope variables 261 Konstruktorfunktionen 262 Namensräume 261 Schlüsseldefinitionen 262 statically-known collections 262 statically-known documents 262 system properties 262 unparsed text resources 262 Zahlenformatierungen 262 Kontextfunktionen fn:last() 122 fn:position() 122 Kontextgröße 1104 Kontextposition 1104 Kopieren Abstreifen der Attribute 171 Attributknoten 718 deep copy 173, 721 Dokumentknoten, flache Kopie 717 Dokumentknoten, tiefe Kopie 724 Einsatz von Attributsets 171 Elementknoten, flache Kopie 717 Elementknoten, tiefe Kopie 724 shallow copy 171 Textknoten 718 L Languagecode 1104 Laufzeitidentifier 395 Literal Result Element 1105 Literal Result Elements 31, 43 Leerzeichen 47 Literal Data Characters 42 Zeilenumbrüche 47 Literale 1104 Local Name 1105 Location Path 1105 absoluter 1089, 1105 relativer 1105 Location Step 68, 287, 308, 1105 Achsenbezeichner 287 Filterbedingung 115 Filterbedingungen 287 Kandidatenknoten

26 Location Step (Forts.) Nodetest 287 Predicate 117 Predicates 287 M Maximum Vergleich numerischer Werte 519 Vergleich von Datums- und Zeitwerten 519 Vergleich von Strings 520 Vergleich von Zeitdauerwerten 520 Metadaten 1106 Metainformationen 1106 MIME-Type 1106 Minimum Vergleich numerischer Werte 522 Vergleich von Datums- und Zeitwerten 522 Vergleich von Strings 523 Vergleich von Zeitdauerwerten 522 Mixed Content 1106 Modularisierung 1107 Mustervergleiche 177 N Namensraum 35, 43, 1107, 1108 Ausgabe des Namensraum-URI 535 Auslesen des Namensraumpräfixes 498 Default-Namensraum 43, 800 Deklaration in inkludierten Modulen 788 Ersetzen 805 Namensraumdeklaration 1107 Namensraumpräfix 35 Namensraum-Undeklaration 802 Namensraum-URI 1108 Namespace-Fixup 802 Null-Namensraum 45, 556, 1110 XSLT-Namensraum 1125 Namensraum, Default 1107 Namensräume 261 Default Namespace 1094 Ressourcen 1082 Namensraumknoten Erzeugung 166, 800 NameTest 1108 NaN 1109 NCName 1109 nodes Knoten Nodesequenz Zusammenstellung mit xsl:apply-templates 684 Node-Sequenz, aktuelle 1109 Nodeset 1109 Nodetest 70, 1109 Nodetyp 1110 Non Colonized Name 1110 Normalisierung 1110 Null-Attribut 313 Number 1111 Nummerieren 131 alphabetische Bezifferung 134 einfache Nummerierung 132 führende Nullen 135 mit fn:position() 147 mit xsl:number und value-attribut 148 Nummerierung sortierter Sequenzen 147 römische Zahlen 134 Nummerierung count-pattern 817 Formatierung 817 level='any' 820 level='multiple' 820 level='single' 820 mit Buchstaben 824 mit Zahlworten 824 mit Ziffern 824 Ordinalform 820 O OASIS 1111 Operatoren 265 and 273 arithmetische Ausdrücke 267 Bereichsoperator 327 cast as 275 castable as 276 div 268 Divison 268 eq 269 except 284 für Sequenztypen 265 für Typprüfung 274 für Typumwandlung 275 Ganzzahldivision

27 Operatoren (Forts.) ge 269 gt 269 idiv 268 instance of 274 intersect 284 is 271 isnot 271 Kommaoperator 326 le 269 logische Verknüpfung 273 lt 269 mod 269 Modulo-Operation 269 ne 269 Operatorkeywords 266 or 273 Präzendenz 266 Sequenztypen 274 to 327 treat as 277 union 283 Vergleichsoperatoren, allgemeine 270 Vergleichsoperatoren, Einzelwertvergleich 269 Vergleichsoperatoren, Knotenposition 272 Vergleichsoperatoren, Knotenvergleich 271 Operatorfunktion 644 Operatorsymbol 645 Output-Deklaration 833 Benannte Output-Deklaration 842 CDATA-Sections 835 Character-Mapping 846 content-type-description 837 Doctype-Deklaration 836 Einrückungen 838 Escaping des Outputs 837 method='html' 841 method='text' 842 method='xhtml' 840 method='xml' 839 MIME-Type-Angabe 838 Namensraum-Undeklaration 845 Normalisierung 843, 898 standalone-pseudoattribut 845 Verhalten unter XSLT Verhalten unter XSLT Output-Deklaration (Forts.) version 846 XML-Deklaration 845 Zeichenencoding 836 Output-Escaping 131 Output-Methode 1111 Oxygen-XML-Editor 1029, 1129 P Parameter 862, 1111 Datentyp des Parameterwertes 863 Default-Wert 865, 866 Durchtunnelung von Default-Regeln 953 Funktionsparameter 214 Globale Parameter 866 Lokale Parameter 867 Namensgleichheit 863 required 864 Shadowing 864 Stylesheet-Funktionen 871 Tunnelparameter 190, 865, 870, 986 Tunnelstrom 188, 701 Verwendungskontext 985 Wertermittlung 985 Wertübergabe an aktivierte Template- Regeln 682 Wertübergabe an benanntes Template 702 Wertübergabe an globale Parameter 867 Wertübergabe an lokale Parameter 868 Wertübergabe an Tunnelparameter 682 Wertübergabe aus xsl:apply-imports 869 Wertübergabe aus xsl:apply-templates 868 Wertübergabe aus xsl:call-template 869 Wertübergabe aus xsl:next-match 870 Parameterübergabe Durchtunneln von Default-Regeln 195 xsl:with-param 188 Parser, validierender 1121 Parser, XML-Parser 1124 Path Expression 1112 Pattern 1112 Oder-Operator 100 PCDATA 1112 Pfadausdrücke 65, 74 absolute 288 absoluter Pfadausdruck

28 Pfadausdrücke (Forts.) Achsen 289 ancestor::mein_element 317 ancestor-or-self::mein_element 317 attribute::mein_attribut 317 child::* 316 child::mein_element 316 child::node() 316 child::text() 316 descendant::mein_element 317 descendant-or-self::mein_element 317 Doppelslash 288, 321 einfache 316 einfacher Pfadausdruck 68 Grundlagen 286 Inklusivität 69 kontextunabhängig 288 Location Step 287, 308 parent::* 317 relative 288 relativer Pfadausdruck 67 self::mein_element 317 Slash 320 zusammengesetzte 317 zusammengesetzter Pfadausdruck 68 picture string Zeitformatfunktion Form Platzhalter Wildcard Portabilität 1112 Post Schema Validation Infoset 61 Preceding-Siblings 134 Predicate 308, 321, 1112 allgemeines 322 Ergebnissequenz 324 Kontextfunktionen 121 Logische Verknüpfung von Bedingungen 120 multiple Predicates 323 numerisches 323 numerisches Predicate 118 Operatoren 120 Predicate-Ausdruck 321 Sequenzfunktionen 121 Stringfunktionen 121 Wertvergleich 119 XPath-Funktionen 121 Principal Node Type 1113 Processing-Instruction 1113 Erzeugung 881 Processing-Instruction (Forts.) Syntax in SGML 886 Prolog 1113 Prozessanweisungen Erzeugung 166 PSVI 1114 Q QName 37, 1114 expandierter QName, Export von 37, 261 lokaler Bezeichner 37 Quantifizierung, existenzielle 278 Quantifizierung, universale 280 Quelldokument 29, 1114 R RegEx-Funktionen fn:matches() 125 reguläre Ausdrücke 513 Backreferences 515 dot-all-modus 673 Flags 672 Mehrzeilenmodus 514 Metazeichen 674 Multiline-Modus 673 numerische Quantifizierer 675 Quantifier 515 Quantifizierer, greedy 517 Quantifizierer, reluctant 517 regex-group() 794 Stringmodus 514, 673 Subgruppen 400 Subpattern 795 Whitespace-Zeichen 673 Result Tree Fragment 282, 1114 Result Tree Ergebnisbaum Reverse Document Order 1114 Root Elements 1115 Root Node 1115 Runden 141 Runden mit XPath 143 Rundung nach Präzisonsangabe

29 S Saxon 993, 1129 Basic XSLT-Prozessor 994 Eigenschaften 994 Erweiterungen 994 Fehlerbehandlung 1014 Installation 995 Installation unter.net 997 Installation unter Java 995 Java-Tracer 1010 Kernow-GUI 1019 kompilierte Stylesheet-Datei 1000, 1018 Option -? 1017 Option -1.1 (deprecated) 1017 Option -a 1000 Option -c:filenname 1000 Option -cr:classname 1000 Option -ds (deprecated) 1001 Option -dt (deprecated) 1001 Option -dtd 1001 Option -expand 1001 Option -explain 1002 Option -ext 1002 Option -im:modename 1002 Option -it:template 1003 Option -l 1003 Option -m:classname 1004 Option -noext (deprecated) 1004 Option -novw (deprecated) 1004 Option -o:filename 1004 Option -or:classname 1005 Option -outval 1005 Option -p 1005 Option -r:classname 1006 Option -repeat 1006 Option -s:filename 1007 Option -sa (deprecated) 1007 Option -sall (deprecated) 1007 Option -signorable (deprecated) 1008 Option -snone (deprecated) 1008 Option -strip 1008 Option -T 1010 Option -t 1009 Option -T:classname 1010 Option -TJ 1010 Option -TL classname (deprecated) 1011 Option -TP (deprecated) 1011 Option -u 1012 Saxon (Forts.) Option -v (deprecated) 1013 Option -val 1013 Option -versmsg 1013 Option -vlax (deprecated) 1014 Option -vw (deprecated) 1014 Option -w0 (deprecated) 1014 Option -w1 (deprecated) 1014 Option -w2 (deprecated) 1014 Option -warnings 1015 Option -x:classname 1015 Option -xi 1016 Option -xmlversion 1017 Option -xsl:filename 1016 Option -y:classname 1016 Optionen in Kernow 999 Optionen, Kommandozeile 999 Saxon-SA unter.net 999 Saxon-SA unter Java 997 Schema Aware XSLT-Prozessor 995 serverseitig über PHP 999 Timing-Informationen 1011 TinyTree-Modell 1001, 1012 Tracing-Information 1010 Validierung 1013 XInclude 1016 Zeilennummern 1003 Schaltsekunde 576 Schema-Aware-XSLT-Processor 784, 1115 Schleife mit xsl:for:each 745 Sortierung 746 Schleifen in XSLT xsl:for-each 150 Schlüssel 237 Deklaration von Schlüsseln 242 Externe Keys 245 Gegenüberstellung, Keys-ID 247 Gleichnamige Schlüssel verschmelzen 247 Keys in importierten Stylesheets 246 Listen von Schlüsseln zur Laufzeit 242 Multimatch 247 xsl:key 238 Schlüsseldefinition 397, 1115 Schlüsseldeklaration 790, 792 Import und Inklusion 792 Schlüsselname 790 Schlüsselwert

30 Schreibweise, abgekürzte 1089 Scope 1115 Seiteneffekte 178 sequence order 463 SequenceType-Matching 328 Sequenz 69, 91, 1115 aktuelle Sequenz 63 Bildung einer Teilsequenz 593 Entfernen eines Items 557 Klammern 91 Knotendubletten 94 Kommaoperator 91 leere Sequenz 92 Literale in einer Sequenz 93 Optimierung 621 primäre Ergebnissequenz 224 sekundäre Ergebnissequenz 224 Sequenzkonstruktor 1115 Singleton-Sequenz 94 Umkehrung der Reihenfolge 569 Sequenzen als Literale 325 Ausschlussmenge 284 gemischte Sequenz 259 Item 258 leere Sequenz 259 Nodesequenz 259 Nodesequenzen 260 Schnittmenge 284 Sequenzausdrücke 325 Singleton-Sequenz 259 Vereinigungsmenge 283 Verknüpfung 265 Sequenzprüfung Prüfung auf genau ein Item 480 Prüfung auf kein oder ein Item 628 Zurückweisung der leeren Sequenz 553 Sequenztypen 328 Kardinalität 329 Testausdrücke 328 Serialisierung 63, 1115 Serialisierungsparameter 834, 887 SGML 1116 SMIL 1116 Sortieren von Sequenzen xsl:for-each 153 Sortierung alphabetisch 915 Ausnahmewerte 917 Sortierung (Forts.) case-order 913 data-type='number' 914 data-type='text' 914 Gewöhnliche Werte 917 in xsl:apply-templates 918 in xsl:for-each und xsl:for-each-group 918 in xsl:perform-sort 918 Kontextgröße 917 Kontextposition 917 leere Werte 918 mit xsl:perform-sort 875 numerisch 146, 915 Schleife 746 Sortierschlüssel 912 Sortierschlüssel, primärer 916 Sprache 914 von Sequenzen 145 Sprachangabe 505 Standalone 1116 Standardattribute default-collation (XSLT 2.0) 663 Einsatz bei Literal Result Elements 668 exclude-result-prefixes (XSLT 2.0) 664 extension-element-prefixes (XSLT 2.0) 664 use-when (XSLT 2.0) 665 version 667 version (XSLT 2.0) 667 xml:lang 657 xml:space 658 xpath-default-namespace 668 xpath-default-namespace (XSLT 2.0) 667 XSLT XSLT String 1116 Anzahl der Zeichen 591 Austausch von Zeichen 617 Tokenizing 612 Umwandlung in Großbuchstaben 622 Umwandlung in String 584 Stringbegrenzer 118 Stringfunktionen fn:contains() 124 fn:ends-with() 124 fn:starts-with() 124 Stringwert 54, 78, 83, 1116 eines Elementknotens

31 Stylesheet 1117 default-validation 931 default-validation='preserve' 932 default-validation='strip' 932 Deklaration der Namensräume 939 embedded Stylesheet 1096 exclude-result-prefixes 932 extension-element-prefixes 933 festgelegte Namensraum-URIs 940 modulare Stylesheets 231 Namensraumdefinitionen 930 Reihenfolge der Deklarationen 938 vereinfachtes Stylesheet 1121 Version 935 version-attribut 938 xmlns:xsl 35 xpath-default-namespace 936 Stylesheet-Funktion 760 Fokus 762 Funktionsparameter 764 Globale Variable 762 override 762 Rückgabesequenz 763 Sequenztyp 761 Tunnelparameter 762 Stylus Studio Stylus Studio Summenbildung Summierung von Zeitdauerwerten 606 Summieren 131, 141 Summieren mit XPath 142 SVG 1117 Syntax 1089 System Properties 1117 Systemeigenschaft Basic XSLT Processor 402 Ermittlung der Systemeigenschaften 402 Herstellerbezeichnung 402 Name der Implementierung 402 Rückwärtskompatibilität 403 Schema Aware Processor 402 Serialisierung 403 Versionsnummer 402 XSLT-Version 402 T Tag 1117 Template Aktuelle Template-Regel 681 Benanntes Template 947 Benanntes Template, Aufruf 701 Default-Modus 946 Defaultpriorität 947, 949 Default-Regel für Namensraumknoten 103 Default-Regeln für Element- und Dokumentknoten 102 Default-Regeln für Kommentar- und PI- Knoten 103 Default-Regeln für Text- und Attributknoten 103 Default-Template-Regel 680 Default-Template-Regeln 102, 686, 951 Durchtunnelung der Default-Regeln 953 mode='#current' 685 mode='#default' 685 Präzedenz 102 Priorität 945 Priorität von Template-Regeln 1113 Priorität, natürliche 947, 949 rekursiver Template-Aufruf vs. regulärer Ausdruck 202 Sequenzkonstruktor 654, 655 Sequenztyp 944 sticky mode 686 Stylesheets mit mehreren Templates 81 Template-Body 1118 Templatekörper 654 Template-Mode 198, 1118 Templatemodus 680, 945 Templatemodus, Tokenliste 945 Template-Regel 40, 1118 Template-Regel für zwei Elemente 100 Template-Regeln 948 Template-Rumpf 40 Templaterumpf 947 Verarbeitungsmodus 949 Template, benanntes 1118 Template-Regel 62, 177, 948 Aktivierung mit next-match 808 Aktuelle Template-Regel 681 aktuelle Template-Regel 62 eingebaute

Auszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005

Auszug 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

Mehr

Einleitung XSLT und XPath der Start XSLT und XPath Runde zwei XSLT und XPath Runde drei

Einleitung XSLT und XPath der Start XSLT und XPath Runde zwei XSLT und XPath Runde drei Auf einen Blick www.galileocomputing.de - Leseprobe - XSLT 2.0 Einleitung... 17 1 XSLT und XPath der Start... 23 2 XSLT und XPath Runde zwei... 107 3 XSLT und XPath Runde drei... 171 4 Referenz XPath diase

Mehr

Einführung. Hallo-Welt in XSLT

Einführung. Hallo-Welt in XSLT 2. Vorlagen-Technik Inhalt 1. Einführung 2. Vorlagen 3. XPath 4. Kontrollstrukturen 5. Sortierung, Gruppierung und Nummerierung 6. Parameter und Variablen 7. Vorgaben für Ein- und Ausgabeformate 8. Auslagerung

Mehr

Inhalte. Stylesheet-Wurzel Vorlagen Ausgabe Leerraum Funktionen Kontrollanweisungen & Techniken Sortierung Nummerierung

Inhalte. Stylesheet-Wurzel Vorlagen Ausgabe Leerraum Funktionen Kontrollanweisungen & Techniken Sortierung Nummerierung XSLT Inhalte Stylesheet-Wurzel Vorlagen Ausgabe Leerraum Funktionen Kontrollanweisungen & Techniken Sortierung Nummerierung Gruppierung XML-Erstellung Variablen und Parameter Module kombinieren Reguläre

Mehr

Transformation von XML-Dokumenten mit XSLT

Transformation von XML-Dokumenten mit XSLT Transformation von XML-Dokumenten mit XSLT Fabian Holzer Proseminar XML - Grundlagen, Verarbeitung und Anwendungen Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der

Mehr

Verwaltungsaufgaben lösen mit XML und L A T E X

Verwaltungsaufgaben 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

Mehr

http://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

Mehr

XML Vorlesung FHA SS

XML Vorlesung FHA SS XML Vorlesung FH Aargau, SS 2006 XSL Transformation (XSLT) Teil II Erik Wilde 19.6.2006 Übersicht Conflict Resolution Variablen und Parameter Sortieren Erzeugen des Ausgabebaumes XPath Erweiterungen um

Mehr

Anfragen an XML-Dokumente mit XPath

Anfragen 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

Mehr

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger

FileMaker 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

Mehr

Templat-Regeln: XSLT Transformation: XML-Dokumente als Bäume: sieben Arten von Knoten. XSLT Verarbeitungsmodell für Templat-Regeln.

Templat-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

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Formatierung und Transformation http://www.text-technology.de/projects/sekimo.html Ziel dieser Sitzung Nach dieser Sitzung sollten Sie: XPath

Mehr

XSL Transformation. Eine praxisorientierte Einführung Philip Heck

XSL Transformation. Eine praxisorientierte Einführung Philip Heck XSL Transformation Eine praxisorientierte Einführung Philip Heck Agenda Motivation Hello World - Getting Started with XSLT XSLT Verarbeitung im Detail XPath 2 Motivation datenzentriertes XML als Standard

Mehr

XSLT XSL Transformations

XSLT XSL Transformations XML-Praxis XSLT XSL Transformations Teil 2 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht weitere XSLT-Techniken: Bedingungen, Verzweigungen Schleifen templates aufrufen Variablen, Parameter Anwendungsbeispiel

Mehr

Dokumentverarbeitung

Dokumentverarbeitung Dokumentverarbeitung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2012/13, 2. November 2012, c 2010-13 D.Rösner D. Rösner

Mehr

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen

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

Mehr

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

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

Mehr

XSLT XSL Transformations

XSLT XSL Transformations XML-Praxis XSLT XSL Transformations Teil 2 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht weitere XSLT-Techniken: Bedingungen, Verzweigungen Schleifen templates aufrufen Variablen, Parameter Anwendungsbeispiel

Mehr

Seminar Dokumentenverarbeitung

Seminar Dokumentenverarbeitung XPath und XSL/XSLT Seminar Dokumentenverarbeitung Juni 2002 Jan-Gerrit Drexhage jdrexhag@techfak.uni-bielefeld.de Garvin Gripp ggripp@techfak.uni-bielefeld.de 1 XSLT extensible Stylesheet Language (for

Mehr

XSL Transformations (XSLT) Teil III

XSL Transformations (XSLT) Teil III XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil III Erik Wilde 13.6.2006 http://dret.net/lectures/xml-ss06/ 13.6.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Tips und Tricks Mengenoperationen

Mehr

Grundlagen der Extensible Stylesheet Language

Grundlagen 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

Mehr

CARL 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 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?...

Mehr

XSL Transformations (XSLT) Teil III

XSL Transformations (XSLT) Teil III XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil III Erik Wilde 13.6.2006 http://dret.net/lectures/xml-ss06/ Übersicht Tips und Tricks Mengenoperationen in XPath Keys Modularisierung

Mehr

XSL Templates. Mit Templates arbeiten. XSL Templates

XSL 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

Mehr

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

XSL 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

Mehr

XSL Transformation (XSLT) Teil IV

XSL 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

Mehr

XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone

XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone www.comelio-medien.com XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone XSLT, XPath und XQuery Marco

Mehr

Kursinhalte. Kompakt-Intensiv-Training. XSL, XSLT, FO - Einstieg für XML

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

Mehr

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser.

Ü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

Mehr

IN A NUTSHELL. Elliotte Rusty Harold & W, Scott Means. Deutsche Übersetzung von Kathrin Lichtenberg & Jochen Wiedmann O'REILLY*

IN A NUTSHELL. Elliotte Rusty Harold & W, Scott Means. Deutsche Übersetzung von Kathrin Lichtenberg & Jochen Wiedmann O'REILLY* 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. IN A NUTSHELL Elliotte Rusty Harold & W, Scott Means Deutsche Übersetzung

Mehr

XSL. XSLT und XSL- FO. < Extensible Stylesheet Language /> TransformaLon und PräsentaLon von Metasprachen. Jan Balke und Sven Marquart 1

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

Mehr

XSL Transformationen. -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen. XSL Transformationen - Teil 2 Christina Krieglstein / 66

XSL 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

Mehr

Verarbeitung von XML-Daten XSLT & XPath. Heiko Paoli (FZI)

Verarbeitung 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

Mehr

XPath & XQuery Standardisierte Abfragesprachen für XML-Dokumente. Sebastian Apel

XPath & XQuery Standardisierte Abfragesprachen für XML-Dokumente. Sebastian Apel XPath & XQuery Standardisierte Abfragesprachen für XML-Dokumente Sebastian Apel Inhalt Die Geschichte XPath 1.0 Das Datenmodell Pfadausdrücke Anwendung von XPath XPath 2.0 & XQuery Neues in XPath 2.0 Wozu

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar 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

Mehr

Konzept und Realisierung Extensible Stylesheet Language

Konzept 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

Mehr

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS Inhaltsverzeichnis Vorwort 1 Was hat XML, das HTML nicht hat?......................................... 1 Zu diesem Buch.......................................................... 3 Die Website zum Buch....................................................

Mehr

XSL Transformations (XSLT) Teil I

XSL 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

Mehr

Web (Site) Engineering (WebSE)

Web (Site) Engineering (WebSE) 1 / 22 Web (Site) Engineering (WebSE) Vorlesung 6: Tools und Programmierung B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 29.11.2005 2 / 22 Übersicht XML-Beispiel Zugriff

Mehr

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

Mehr

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

1 Was ist XML? Hallo XML! Kommentare in XML 52

1 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

Mehr

XML-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. 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,

Mehr

Fachhochschule Wiesbaden - Fachbereich DCSM. XML Information Set.

Fachhochschule Wiesbaden - Fachbereich DCSM. XML Information Set. Fachhochschule Wiesbaden - Fachbereich DCSM XML Information Set http://www.w3.org/tr/xml-infoset 28.11.2006 2004. 2006 H. Werntges, FB Informatik (DCSM), FH Wiesbaden 1 Fachhochschule Wiesbaden - Fachbereich

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten Teil 7: XPath 1.0 Sommersemester 2007 7.1. Einführung 7.2. XPath Ausdrücke (expressions) 7.3. Pfadangaben (location paths) 7.4. Operatoren 7.5. Vordefinierte Funktionen 4.1. Einführung

Mehr

X-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001

X-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

Mehr

Inhaltsverzeichnis. 1 Grundlagen. Vorwort VII

Inhaltsverzeichnis. 1 Grundlagen. Vorwort VII Vorwort 1 DocBook in 10 Minuten 1.1 XML als universelle Datenstruktur 1.2 Ein DocBook-Dokument entsteht 1.3 Überprüfen eines DocBook-Dokuments 1.4 Umwandlung von DocBook 1.5 Die Reise beginnt... VII 1

Mehr

Eine Schnelleinführung in XSL

Eine Schnelleinführung in XSL Eine Schnelleinführung in XSL Michael Dienert 8. Juli 2014 1 Was ist XSL? XSL ist die Abkürzung von Extensible Stylesheet Language. XSL ist selbst wieder eine XML-Anwendung, d.h. XSL-Dokumente müssen immer

Mehr

XQuery Tutorial. Student: Anke Bremer Betreuer: Dr. Sosna

XQuery Tutorial. Student: Anke Bremer Betreuer: Dr. Sosna XQuery Tutorial Student: Anke Bremer Betreuer: Dr. Sosna Inhalt 1 Gliederung Tutorial 2 Beispiele für Seitengestaltung - XML Namespaces - Pfadausdrücke 3 Ideen / Fragen / Vorschläge Inhalt Tutorial 1.

Mehr

XPATH (XPATH) Lernziele

XPATH (XPATH) Lernziele XPATH (XPATH) Lernziele Sie finden sich im XPath-Datenmodell zurecht. Sie kennen alle XPath-Achsen. Sie können Knoten und Knotenmengen mit XPath-Ausdrücken auswählen. Sie sind in der Lage, Lokalisierungspfade

Mehr

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

Mehr

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001 9. Mediendokumente 9.1 Generische Auszeichnungssprachen: XML 9.2 XML und Style Sheets 9.3 XML für Multimedia: SMIL 9.4 XML Transformationen: XSLT Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design

Mehr

XPath Lokalisierspfade Achsen in Lokalisierungsschritten

XPath Lokalisierspfade Achsen in Lokalisierungsschritten Achsen in Lokalisierungsschritten self-achse Kontextknoten selbst child-achse Kindknoten des Kontextknotens in Dokumentreihenfolge parent-achse Elterknoten des Kontextknotens attribute-achse Attributknoten

Mehr

Komplexe Transformationen mit XSLT

Komplexe Transformationen mit XSLT XML-Praxis Komplexe Transformationen mit XSLT Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Sortieren XML erzeugen und weiterverarbeiten modes Daten aus mehreren XML-Dokumenten lesen XML-Praxis

Mehr

XSLT 2011/2012 S Seite 1 h_da W

XSLT 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

Mehr

XML Vorlesung FHA SS

XML Vorlesung FHA SS XML Vorlesung FH Aargau, SS 2006 XSL Transformations (XSLT) Teil I Erik Wilde 12.6.2006 http://dret.net/lectures/xml-fhnw-ss06/ Übersicht 8 30 9 30 : Test (XML Schema) Herkunft von XSLT XSLT aus der Ferne

Mehr

Fragestunde: Neuerungen in XQuery und XSLT

Fragestunde: Neuerungen in XQuery und XSLT Seite 1, Druckdatum: 22.02.2006, 22:59 Uhr Fragestunde: Neuerungen in XQuery und XSLT Mit XQuery und XSL-T/XPath existieren zwei Ansätze zur Verarbeitung von XML Daten. Felix Sasaki & Jan-Torsten Milde

Mehr

Das XQuery-Datenmodell

Das XQuery-Datenmodell Das XQuery-Datenmodell Gliederung Sequenzen Atomare Werte Knoten Knoteneigenschaften Sequenztypen und Knotenzugriffsfunktion Typabfrage Gleichheit von Sequenzen Zusammenfassung Das XQuery-Datenmodell Das

Mehr

XML-Praxis. Mit XSLT arbeiten. Jörn Clausen

XML-Praxis. Mit XSLT arbeiten. Jörn Clausen XML-Praxis Mit XSLT arbeiten Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Kontrollstrukturen Bedingungen Schleifen named templates Variablen und Parameter Rekursion XML-Praxis Mit XSLT arbeiten

Mehr

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung Übersicht Web (Site) Engineering (WebSE) Vorlesung 6: Tools und Programmierung XML-Beispiel B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 29.11.2005 Zugriff auf Inhalt,

Mehr

Einführung: Installation und Anpassung der Site zum Buch 15

Einfü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

Mehr

XML-Praxis.

XML-Praxis. XML-Praxis Einführung in XSLT Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Extensible Stylesheet Language XSL XSL Transformations XSLT templates Verarbeitung steuern XML-Praxis Einführung in XSLT

Mehr

Semistrukturierte Datenmodelle. XML Datenmodelle. XML Infoset. OEM Beispielbaum. Document InfoItem. Beispiel

Semistrukturierte Datenmodelle. XML Datenmodelle. XML Infoset. OEM Beispielbaum. Document InfoItem. Beispiel XML Datenmodelle Web Informationssysteme Wintersemester 2002/2003 Donald Kossmann Semistrukturierte Datenmodelle Beispiel: OEM (Objekt Exchange Model) Repräsentiere Dokument als annotierten Baum Knoten

Mehr

Extensible Stylesheet Language Transformations XSLT

Extensible Stylesheet Language Transformations XSLT Extensible Stylesheet Language Transformations XSLT 13.06.2007 Grundlagen der Stylesheets XSLT Extensible Stylesheet Language Transformation Transformation Überführt XML-Daten in ein neues Format wieder

Mehr

XML Grundlagen Teil I

XML Grundlagen Teil I XML Vorlesung FH Aargau, SS 2006 XML Grundlagen Teil I Erik Wilde 20.3.2006 http://dret.net/lectures/xml-fhnw-ss06/ 20.3.2006 XML Vorlesung FHA SS 2006 1 Übersicht Aufbau von XML XML Dokumenten-Syntax

Mehr

Projektseminar Texttechnologische Informationsmodellierung

Projektseminar 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

Mehr

Index. Index CDATA 113, 183. Achse 430. child 425. all 191. choice 187, 191, 197, 393. ancestor 428. choose 272. Anwendung 351; Beispiel 302

Index. Index CDATA 113, 183. Achse 430. child 425. all 191. choice 187, 191, 197, 393. ancestor 428. choose 272. Anwendung 351; Beispiel 302 Index 437 438 Index Achse 430 all 191 ancestor 428 Anwendung 351; Beispiel 302 ANY 112, 183 apply-templates 146, 269 ATTLIST 390 ATTLIST 114, 180 Attribut 112, 183 attribute 190 attribute 391 attributegroup

Mehr

<< Syntax von XSL (2) >>

<< Syntax von XSL (2) >> XSL > 1 XSL Einfache Conditions, Anweisung Mittels kann eine einfache Bedingung mittels XPath Syntax ausgewertet werden. können nur innerhalb

Mehr

XSLT 2016 S h_da S Seite 1

XSLT 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

Mehr

XSLT: Transformation von XML

XSLT: Transformation von XML namics Developer Days 21./22.6.2002 XSLT: Transformation von XML Erik Wilde ETH Zürich http://dret.net/netdret/ 21.6.2002 namics DevDays XSLT 1 Übersicht XML als Format für strukturierte Daten Zugriff

Mehr

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. 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 13 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Mehr

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. 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 12 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Mehr

Seminar: XML und intelligente Systeme

Seminar: XML und intelligente Systeme Seminar: XML und intelligente Systeme XML-Navigation: XPath, E4X Christoph Weitkamp cweitkam@techfak.uni-bielefeld.de Einleitung XPath ist eine Sprache, um Informationen in XML-Dokumenten zu finden Modellierung

Mehr

DOM Document Object Model

DOM Document Object Model DOM Document Object Model J. Schneeberger Das Document Object Model (DOM) W3C Spezifikation Benutzt die Baumstruktur des (XML/HTML) Dokuments Programmierschnittstelle (API) für HTML- und XML-Dokumente

Mehr

VU Semistrukturierte Daten 1

VU 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

Mehr

Gruppe 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 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

Mehr

Einführung in XML Extensible Markup Language

Einführung in XML Extensible Markup Language Einführung in XML Extensible Markup Language XML Extensible Markup Language Seminarvortrag Komponentenarchitekturen WS 2008/2009 Inhaltsverzeichnis Folien der Präsentation...1 Erläuterungen zu den Beispieldateien...11

Mehr

XSLT. XSLT - Eine Einführung Wintersemester 2002/2003. Universität Bielefeld - Technische Fakultät. Jan Reinkensmeier, Heiko Neuweger

XSLT. XSLT - Eine Einführung Wintersemester 2002/2003. Universität Bielefeld - Technische Fakultät. Jan Reinkensmeier, Heiko Neuweger XSLT Jan Reinkensmeier, Heiko Neuweger 10.05.2003 Schriftliche Ausarbeitung zum Seminarvortrag XSLT - Eine Einführung Wintersemester 2002/2003 Universität Bielefeld - Technische Fakultät 1 Inhaltsverzeichnis

Mehr

Verteilte Anwendungen. Teil 2: Einführung in XML

Verteilte Anwendungen. Teil 2: Einführung in XML Verteilte Anwendungen Teil 2: Einführung in XML 05.10.15 1 Literatur [2-1] Eckstein, Robert; Casabianca, Michel: XML Kurz und gut. O'Reilly, 2. Auflage, 2003 [2-2] Nussbaumer, Alfred; Mistlbacher, August:

Mehr

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten

Klaus 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

Mehr

XSL < Extensible Stylesheet Language/>

XSL < 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

Mehr

Inhaltsverzeichnis. Daniel Koch. XML für Webentwickler. Ein praktischer Einstieg ISBN:

Inhaltsverzeichnis. Daniel Koch. XML für Webentwickler. Ein praktischer Einstieg ISBN: sverzeichnis Daniel Koch XML für Webentwickler Ein praktischer Einstieg ISBN: 978-3-446-42256-8 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42256-8 sowie im Buchhandel.

Mehr

<Trainingsinhalt> XML umsetzen und nutzen

<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

Mehr

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl

Mehr

1 ZUR EINSTIMMUNG............................................ 13 1.1 AUFBAU DES BUCHES.......................................... 13 1.2 VORAUSSETZUNGEN FÜR DIESES BUCH.............................. 14

Mehr

XML FÜR WEBENTWICKLER

XML FÜR WEBENTWICKLER daniel KOCH XML FÜR WEBENTWICKLER EIN PRAKTISCHER EINSTIEG Inhalt 1 XML ein Blick zurück und voraus... 1 1.1 Die Idee hinter XML...1 1.2 Das Prinzip der Metasprachen...4 1.2.1 Multimedia ist Trumpf mit

Mehr

181.139 VU Semistrukturierte Daten 2. XQuery (Teil 2) 9.5.2005. Inhalt

181.139 VU Semistrukturierte Daten 2. XQuery (Teil 2) 9.5.2005. Inhalt 181.139 VU Semistrukturierte Daten 2 XQuery (Teil 2) 9.5.2005 Reinhard Pichler Inhalt Motivation / Einführung XQuery Datenmodell Ausdrücke (Expressions) Beispiele: relationale Datenbanken XQuery Moduln

Mehr

XML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel

XML-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

Mehr

Inhalt. Beispiel: XML Dokument. Beispiel: Dokumentenbaum. XPath VU Semistrukturierte Daten 1. Datenmodell

Inhalt. Beispiel: XML Dokument. Beispiel: Dokumentenbaum. XPath VU Semistrukturierte Daten 1. Datenmodell XPath 181135 VU XPath ist die Basis für viele XML-related Standards: insbesondere für XSLT aber auch für XPointer und XQuery (in eingeschränkter Form) auch in XML Schema Nachteil: ist selbst nicht in XML

Mehr

Vorwort 1 DocBook in 10 Minuten 1 Teil 1 Grundlagen 11 2 Einführung in XML 13 3 Dokumententyp-Definitionen (DTDs) 41 4 RELAX NC 73

Vorwort 1 DocBook in 10 Minuten 1 Teil 1 Grundlagen 11 2 Einführung in XML 13 3 Dokumententyp-Definitionen (DTDs) 41 4 RELAX NC 73 Vorwort 1 DocBook in 10 Minuten 1 1.1. Warum DocBook? 1 1.2. Wie sieht ein DocBook-Dokument aus? 2 1.3. Welche Verarbeitungsschritte werden benötigt? 4 1.4. Schreiben eines DocBook-Dokuments 5 1.5. Überprüfen

Mehr

Komplexe Transformationen mit XSLT

Komplexe 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

Mehr

XSLT (XSLT) Lernziele

XSLT (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

Mehr

Gliederung. Dokumentverarbeitung. XQuery: XQuery: XQuery

Gliederung. Dokumentverarbeitung. XQuery: XQuery: XQuery Gliederung Dokumentverarbeitung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2012/13, 9. November 2012, c 2010-13 D.Rösner

Mehr

XML and Semantic Web Technologies

XML and Semantic Web Technologies XML and Semantic Web Technologies Prof. Dr. Dr. L. Schmidt-Thieme MSc. André Busche Übung 7 1. Aufgabe 2. Aufgabe 3. vorletzte Saalübung 23.06.09 2/ Aufgabe 1a) Zeigen Sie Gemeinsamkeiten und Unterschiede

Mehr

06 Formatierungssprachen, XSL. Manuel Burghardt Lehrstuhl für Medieninformatik

06 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

Mehr

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs BNC/XML 7 BNC/XML XML BNC XSLT extensible Markup Language I XML erlaubt es, strukturierte Daten in Textdateien zu speichern. Zum Schreiben und Lesen von XML-Dateien genügen einfache Text-Editoren wie Emacs

Mehr

XPath XML Path Language

XPath XML Path Language XPath XML Path Language Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2006-08-17 aktuelle Version: http://www.bg.bib.de/portale/xml/pdf/xml-xpath.pdf Inhaltsverzeichnis 1 Baumentsprechung des XML-Dokuments

Mehr

Präsentation von XML-Dokumenten mit Hilfe von Stylesheets

Prä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

Mehr

XML Informationsmodelle

XML 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

Mehr