XSLT, XPath und XQuery

Buch | Softcover
762 Seiten
2011 | 2., Überarbeitete Auflage
Comelio (Verlag)
978-3-939701-50-7 (ISBN)

Lese- und Medienproben

XSLT, XPath und XQuery - Marco Skulschus, Marcus Wiederstein
44,95 inkl. MwSt
zur Neuauflage
  • Titel nicht im Sortiment
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
XSLT 1.0: Vorlagen/Templates,Kontrollanweisungen, Variablen und Parameter, Sortierungen und Gruppierungen, Ausgaben in HTML, Text / CSV und XML
XSLT 2.0: Stylesheet-Funktionen, dynamisches XSLT, 2.0-Besonderheiten, Integration von XML Schema, strukturgetriebene Verarbeitung, reguläre Ausdrücke, SQL-ähnliche Abfragen
XPath 1.0: Grundlagen, Knoten lokalisieren und filtern, Funktionsbibliothek
XPath 2.0: Kontrollanweisungen, 2.0-Besonderheiten und –Funktionen
XQuery 1.0: Abfragen und Umwandlung als Ersatz von XSLT/XPath
Integration: Einsatz in.NET, Java, PHP und Datenbanken (Oracle PL/SQL, MS SQL Server T-SQL)
XSLT (eXtensible Stylesheet Language for Transformations) ist eine W3C-Syntax, die speziell für die Transformation von XML-Dokumenten geschaffen wurde. Mit XSLT können XML-Dokumente in Formate wie HTML, Text und andere XML-Formate transformiert werden. Diese Technologie lässt sich in (fast) allen Programmiersprachen und in vielen Datenbanken nutzen und stellt die beste Möglichkeit dar, aus mehreren Anwendungen heraus die gleiche XML-Transformation aufzurufen. XPath setzt man als in XSLT eingebettete Pfadbeschreibungssprache für Lokalisierung, Filterung und Bearbeitung von XML-Knoten ein. XQuery teilt sich mit XPath die Funktionsbibliothek und bietet als „SQL für XML“ die Möglichkeit, im Rahmen einer Abfrage komplexe Ausgabeströme in XML anzugeben und stellt so eine verkürzte Technik für XSLT und XPath dar. Dieses Buch führt Einsteiger durch die genannten Umwandlungstechniken. Die Autoren setzen dabei langjährig genutzte Beispieldaten einer fiktiven Firma ein, stellen die wesentlichen Spezifikationsabschnitte vor und bieten wichtige Syntaxabschnitte in lernförderlichen Schema-Zeichnungen.

Marco Skulschus studierte Ökonomie in Wuppertal und Paris und setzt im Rahmen seiner Arbeit.NET und Java sowie XML für das Datenbanksystem Oracle ein. Er arbeitet als Dozent und Projektleiter für Business Intelligence-Anwendungen und betriebliche Software. Marcus Wiederstein studierte Elektrotechnik in Bochum und Dortmund und ist verantwortlich für die Durchführung von Projekten im Bereich Systemintegration und Datenbanken (Sicherheit, Hochverfügbarkeit, Datenintegration). Zusammen haben sie eine Reihe von Büchern zu Datenbanken (Oracle und MS SQL Server) sowie zu XML geschrieben.

1. Grundkonzept der XML-Transformation 29
1. 1.  XSLT und seine Alternativen 29
1. 1. 1.  Kriterien zur Bewertung 30
1. 1. 2.  CSS 32
1. 1. 3.  SAX 34
1. 1. 4.  DOM 35
1. 1. 5.  Vorteile von XSLT 37
1. 2.  Grundstruktur einer XML-Anwendung 41
1. 2. 1.  Modellierung 41
1. 2. 2.  Validierung 43
1. 2. 3.  Transformation 44
1. 3.  Beispiel 47
1. 3. 1.  Verwendete Beispieldateien 47
1. 3. 2.  Einfache Anwendung 48
2. Vorlagentechnik 59
2. 1.  Arbeiten mit Vorlagen 59
2. 1. 1.  Erzeugen von HTML 60
2. 1. 2.  Element: Stylesheet und sein Inhalt 63
2. 1. 3.  Wertübernahme aus XML 66
2. 2.  Vorlagen-Typen 70
2. 2. 1.  Vorlagen-Regeln oder unbenannte Vorlagen 71
2. 2. 2.  Benannte Vorlagen 85
2. 2. 3.  Vorlagen-Modi 99
2. 3.  Attributwerte 106
2. 3. 1.  Attributwertvorlagen 106
2. 3. 2.  Attributwerte zusammensetzen 108
3. Adressierung mit XPath 115
3. 1.  Grundlagen 115
3. 1. 1.  Allgemeine Konzepte 116
3. 1. 2.  Knotentypen 120
3. 2.  Lokalisierung 128
3. 2. 1.  Achsen 129
3. 2. 2.  Beispiele zur Achsen-Verwendung 137
3. 2. 3.  Abgekürzte Syntax 140
3. 3.  Knotentests 140
3. 3. 1.  Lokalisierungsschritte 141
3. 3. 2.  Arten-Test 142
3. 3. 3.  Prädikate 143
3. 4.  Funktionen in XPath 145
3. 4. 1.  Knotenmengenfunktionen 146
3. 4. 2.  String-Funktionen 147
3. 4. 3.  Logische Funktionen 147
3. 4. 4.  Numerische Funktionen 148
3. 4. 5.  Beispiele 148
3. 5.  Neuerungen in XPath 2.0 149
3. 5. 1.  Kontrollstrukturen und Funktionen 150
3. 5. 2.  Sequenzen 151
4. Kontrollstrukturen 157
4. 1.  Fallunterscheidungen 157
4. 1. 1.  Einfacher Einsatz von XPath 157
4. 1. 2.  Auswahl mit if 164
4. 1. 3.  Auswahl mit choose 171
4. 1. 4.  Fallunterscheidungen in XPath 2.0 175
4. 2.  Wiederholungen 179
4. 2. 1.  Ping-Pong-Spiel 179
4. 2. 2.  Einsatz von for-each 180
4. 2. 3.  Schleifen in XPath 2.0 186
5. Sortierungen und Gruppierungen 191
5. 1.  Sortierungen 191
5. 1. 1.  Allgemeine Sortiermöglichkeiten 191
5. 1. 2.  Einfache Sortierung 193
5. 1. 3.  Mehrfache Sortierung 196
5. 2.  Nummerierung 198
5. 2. 1.  Allgemeine Möglichkeiten der Nummerierung 198
5. 2. 2.  Einfache Nummerierung 200
5. 2. 3.  Erweiterte Nummerierung 204
5. 3.  Gruppierungen 207
5. 3. 1.  Gruppierungen für XSLT 1.0 208
5. 3. 2.  Gruppierungen für XSLT 2.0 217
6. Parameter und Variablen 231
6. 1.  Parameter 231
6. 1. 1.  Lokale Parameter 234
6. 1. 2.  Globale Parameter 240
6. 2.  Variablen 244
6. 2. 1.  Lokale Variablen 245
6. 2. 2.  Globale Variablen 250
6. 2. 3.  Temporäre Bäume 254
7. Vorgaben für Ein- und Ausgabeformate 263
7. 1.  HTML 263
7. 1. 1.  CSS erzeugen 263
7. 1. 2.  Kommentar erzeugen 266
7. 2.  XML 266
7. 2. 1.  Strukturen erzeugen 266
7. 2. 2.  Besondere Knoten und Anweisungen 271
7. 2. 3.  Strukturen kopieren 274
7. 3.  Zeichenformatierungen 279
7. 3. 1.  Allgemeine Ausgabeoptionen 280
7. 3. 2.  Dezimalformat 285
7. 3. 3.  Zeitformatierung 287
7. 4.  Verarbeitung von mehreren Dokumenten 291
7. 4. 1.  Mehrere Dokumente laden 291
7. 4. 2.  Mehrere Dokumente mit XSLT 2.0 erzeugen 295
8. XML und Text 305
8. 1.  XML 305
8. 1. 1.  Attributorientierte Dokumente 305
8. 1. 2.  XML Schema 311
8. 2.  Text 328
8. 2. 1.  SQL 329
8. 2. 2.  CSV-Werte 337
8. 2. 3.  Textausgabe 341
9. Dateibasierte Auslagerung 353
9. 1.  XSLT-Dateien einbinden 353
9. 1. 1.  Einfaches Beispiel 354
9. 1. 2.  Prioritätsregeln 355
9. 2.  XSLT-Dateien importieren 358
9. 2. 1.  Standardfall 358
9. 2. 2.  Priorisierung im Importbaum 360
9. 2. 3.  Überschreibung umgehen 361
9. 2. 4.  Eingebaute Vorlagen 366
9. 3.  XML Schema in XSLT 2.0 368
10. Fehlersuche 375
10. 1.  Nachrichten 375
10. 1. 1.  Grundprinzip 375
10. 1. 2.  Sinnvolle Benutzung 377
10. 2.  Testfunktionen 378
10. 2. 1.  Verfügbare Syntax testen 378
10. 2. 2.  Standardverhalten 380
11. Vorlagen und Strukturen 387
11. 1.  Vorlagentypen 387
11. 1. 1.  Grundlagen 388
11. 1. 2.  Konkrete Vorlagen 389
11. 1. 3.  Allgemeine Vorlagen 393
11. 1. 4.  Bedeutung von XPath 401
1.1 Voraussetzungen auf Strukturseite 407
11. 1. 5.  Benennung 408
11. 1. 6.  Eltern-Kind-Strukturen 420
11. 1. 7.  Attribute vs. Elemente 429
12. Eigene XSLT-Funktionen 439
12. 1.  Benannte Vorlagen in XSLT 1.0 439
12. 1. 1.  Grundlagen 439
12. 1. 2.  Verwendung 443
12. 2.  Komplexer Aufbau von Vorlagen 452
12. 2. 1.  Variantenauswahl über Vorlagennamen 453
12. 2. 2.  Variantenauswahl über Parameter 457
12. 2. 3.  Überladen von Vorlagen 460
12. 2. 4.  Generische Programmierung 467
12. 3.  Stylesheet-Funktionen in XSLT 2.0 471
12. 3. 1.  Grundlagen 471
12. 3. 2.  Ersatz von benannten Vorlagen 473
12. 3. 3.  Verkürzungen in XPath/XSLT 2.0 477
13. XML Schema 483
13. 1.  Verwendung 483
13. 1. 1.  Grundlagen 483
13. 1. 2.  Beispiel 485
13. 2.  Mögliche XML Schema-Strukturen 487
13. 2. 1.  Vordefinierte Datentypen 488
13. 2. 2.  Benutzerdefinierte Datentypen 490
13. 2. 3.  Komplexe Datentypen 498
13. 2. 4.  Globale Elemente und Attribute 500
13. 3.  Verwendung eingebundener Strukturen 503
13. 3. 1.  Datentyp-Ausdrücke 503
13. 3. 2.  Attribut-Tests 507
14. XPath- und XQuery-Funktionen 513
14. 1.  Arbeiten mit Zahlen 513
14. 1. 1.  Berechnungen 513
14. 1. 2.  Aggregate 516
14. 2.  Arbeiten mit Zeichenketten 518
14. 2. 1.  Zeichenkettenwerte 519
14. 2. 2.  Unterzeichenketten 522
14. 3.  Arbeiten mit Knoten 526
14. 3. 1.  Knotenfunktionen 526
14. 3. 2.  Sequenzfunktionen 528
14. 3. 3.  Kardinalität von Sequenzen 533
14. 4.  Arbeiten mit der Zeit 536
14. 4. 1.  Zeitbestandteile auslesen 536
14. 4. 2.  Angleichung von Zeitzonen 541
14. 4. 3.  Berechnung von Zeitdauern 542
14. 4. 4.  Kontextfunktionen 546
14. 4. 5.  Formatierung von Zeit 549
15. Einsatz von XSLT 2.0-Funktionen 557
15. 1.  Entitäten 557
15. 1. 1.  Einsatz in XML 558
15. 1. 2.  Einsatz in XSLT 560
15. 1. 3.  Funktionen für Entitäten 563
15. 2.  Arbeiten mit Dateien 565
15. 2. 1.  Statischer Dateiname 566
15. 2. 2.  Dynamischer Dateiname 569
15. 2. 3.  Array-Strukturen als Parameter übergeben 571
15. 2. 4.  Textdateien einlesen 573
15. 3.  Schlüssel und Verweise 577
15. 3. 1.  Einsatz von XSLT-Funktionen 577
15. 3. 2.  Einsatz von IDs 582
16. SQL-ähnliche Abfragen von XML 589
16. 1.  Bedingungen 589
16. 1. 1.  Grundlagen 589
16. 1. 2.  Beispiel 590
16. 1. 3.  Mehrstufige Gleichheit 592
16. 2.  Verknüpfungen 596
16. 2. 1.  Innere Verknüpfung 596
16. 2. 2.  Äußere Verknüpfung 601
16. 2. 3.  Selbstverknüpfung 605
16. 3.  Mengen 607
16. 3. 1.  Mengen verarbeiten 608
16. 3. 2.  Mengentests 612
17. Dynamisches XSLT 619
17. 1.  Grundlagen 619
17. 1. 1.  Besonderheiten von XSLT 619
17. 1. 2.  Besonderheiten von XML-Technologien 621
17. 2.  XSLT erzeugen 629
17. 2. 1.  Neu-Erzeugung aus XML Schema 629
17. 2. 2.  Allgemeiner Programmaufbau 637
17. 3.  XSLT zusammensetzen 640
17. 3. 1.  Grundlagen 640
17. 3. 2.  Dateien verbinden 643
17. 3. 3.  Datenbank-Einsatz 651
18. Reguläre Ausdrücke 667
18. 1.  Einfache Ausdrücke 667
18. 1. 1.  Meta-Zeichen 667
18. 1. 2.  Flucht-Zeichen 669
18. 1. 3.  Unicode-Zeichenklassen (Kategorien) 670
18. 2.  XPath-Unterstützung 673
18. 3.  XSLT-Unterstützung 676
18. 3. 1.  Grundlagen 676
18. 3. 2.  Beispiel 678
19. XQuery 685
19. 1.  Grundsyntax und einfache Umwandlungen 685
19. 1. 1.  Einführung 685
19. 1. 2.  FLWOR 687
19. 1. 3.  XML-Erzeugung 692
19. 1. 4.  Fallunterscheidungen 696
19. 1. 5.  Eigene Funktionen 697
19. 2.  Anwendungsfälle von XQuery 699
19. 2. 1.  Hierarchien und flexible Dokumente 699
19. 2. 2.  Sequenzen und Reihenfolgen 703
19. 2. 3.  Relationale Daten 705
19. 2. 4.  Berechnungen 711
20. XSLT in Programmiersprachen 717
20. 1.  PHP 5 718
20. 1. 1.  Übersicht über die Bibliothek 718
20. 1. 2.  Beispiel 720
20. 2.  Oracle und PL/SQL 723
20. 2. 1.  Übersicht über die Bibliothek 723
20. 2. 2.  Beispiel 726
20. 3.  C#.NET 729
20. 3. 1.  Übersicht über die Bibliothek 729
20. 3. 2.  Beispiel 732
20. 4.  MS SQL Server und T-SQL 734
20. 4. 1.  XSLT-Einsatz 735
20. 4. 2.  XQuery 738
20. 5.  Java und JAXP 741
20. 5. 1.  Übersicht über die Bibliothek 741
20. 5. 2.  Beispiel 743

Herzlich willkommen zum ersten Buch einer zweiteiligen Reihe zur Transformation von XML mit Hilfe von XSLT und XSL-FO, auch bekannt unter der zusammen fassenden Abkürzung XSL (eXtensible Stylesheet Language (for Transformations)). In diesem ersten Band erfahren Sie alles Wesentliche, um mit Hilfe von XSLT 1.0 und 2.0 Algorithmen zu entwerfen, mit deren Hilfe XML-Dateien in HTML, Text und andere XML-Formate übertragen werden können. Darüber hinaus lernen Sie XPath 1.0 und 2.0 kennen, um in XML-Dokumenten zu navigieren, Knoten zu lokalisieren und Funktionen aus der XPath/XQuery-Bibliothek anzuwenden. Das Buch schließt mit einer Darstellung zu XQuery, einer Alternative zu XSLT, welche den Aspekt der Abfrage und nicht den der Transformation von XML-Daten in den Vordergrund stellt, ab. Konzeption der Reihe Die Aufteilung in Bücher und Kapitel lässt sich so begründen, dass nicht jeder Leser beide Werke benötigt und er vielleicht eine Auswahl treffen möchte. Einige möchten möglicherweise auch nach und nach beide Bände kaufen und nicht von vorneherein ein erschreckend umfangreiches Buch in der Hand halten. Der erste Band stellt die Syntax von XSLT dar. Es umfasst die Standards von XSLT 1.0 mit dem Titel XSL Transformations (XSLT), Version 1.0, W3C Recommendation 16 November 1999 unter http://www.w3.org/TR/xslt und XPath 1.0 mit dem Titel XML Path Language (XPath), Version 1.0, W3C Recommendation 16 November 1999 unter http://www.w3.org/TR/xpath aus Version 1 und die Standards XSLT 2.0 mit dem Titel XSL Transformations (XSLT), Version 2.0, W3C Working Draft 12 November 2003 unter http://www.w3.org/TR/xslt20/ und XPath 2.0 mit dem Titel XML Path Language (XPath) 2.0, W3C Working Draft 23 July 2004 unter http://www.w3.org/TR/xpath20/. Sie lernen in diesem Band daher alle Techniken kennen, welche zur Erzeugung von HTML, Text und XML und zur Abfrage von XML-Dokumenten mit XPath notwendig ist. Die Grundlagen werden im ersten Teil geschaffen. Der zweite Teil dieses Bandes stellt neben fortgeschrittenen Techniken eine Reihe von Einsatzbeispielen vor. Er kombiniert die einzelnen vorgestellten Standards mit allgemeinen Techniken, die nur die Transformation betreffen, mit Ideen, wie XSLT-Anwendungen aufgebaut werden können, und solchen Techniken wie die Verwendung einer Datenbank, um XML- und sogar XSLT-Daten abzuspeichern und dynamisch für Transformationsabläufe zusammenzusetzen. Der zweite Band stellt die Syntax von XSL-FO 1.0 bzw. XSL 1.0 mit dem Titel Extensible Stylesheet Language (XSL), Version 1.0, W3C Recommendation 15 October 2001 unter http://www.w3.org/TR/xsl/ dar. Sie lernen in diesem Band, wie Druckerzeugnisse wie z.B. PDF-Dateien aus XML-Daten erzeugt werden. Dies erfordert einen eigenen Standard mit einer Vielzahl an unterschiedlichen Elementen, um Seitenbereiche, Seitenverläufe, Text- und Absatzformate sowie zusätzliche Dokumenteigenschaften anzugeben wie Inhaltsverzeichnisse. Weitere Bände zur XML-Verwendung in Software sind ebenfalls bei Comelio Medien erhältlich. Sie betreffen neben XSLT auch die Umwandlung und Erstellung von XML in Programmiersprachen sowie die Verwendung von XML in Datenbanken. Leserkreis Die zwei Bücher richten sich an Leser, die in jedem Fall bereits grundlegende Kenntnisse über XML und dessen Einsatzbereiche haben. Grundlegende Kenntnisse sollten Antworten auf die folgenden Fragen umfassen: Was haben HTML und XML gemeinsam? – Sie stellen beide eine Syntax dar, in der Inhalte über Bezeichner in spitzen Klammern ausgezeichnet werden. Diese Bezeichner können jeweils so genannte Attribute enthalten, die ebenfalls Textwerte nach einem Gleichheitszeichen und innerhalb von Anführungszeichen aufweisen können. Es entstehen verschachtelte Strukturen, die in einem Baum wiedergegeben werden können. Regelungen zur Benennung folgen dem Standard Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation 04 February 2004 unter http://www.w3c.org/TR/2004/REC-xml-20040204/. HTML kann so verwendet werden, dass kein wohlgeformtes XML entsteht. Ist HTML auch XML? – HTML kann so verwendet werden, dass wohlgeformtes XML entsteht. XHTML überführt den HTML-Standard in einen XML-Standard durch einige weitere Syntaxregeln, die einzuhalten sind, damit wohlgeformte XML-Dokumente entstehen. In diesem Sinne stellt XHTML eine spezielle Grammatik dar, mit deren Hilfe Webseiten ausgezeichnet werden können, während andere XML-Formate andere Strukturen abbilden, darunter auch eigene, die nicht von einer fremden Organisation entwickelt wurden. Was ist die Document Type Definition? – Eine DTD ist ein Regeldokument bzw. eine Ansammlung von Strukturvorgaben/Regeln, deren Syntax im Standard Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation 04 February 2004 unter http://www.w3c.org/TR/2004/REC-xml-20040204/ beschrieben werden. Mit ihrer Hilfe lässt sich angeben, wie die Elemente und Attribute eines XML-Instanzdokumentes heißen, wie sie verschachtelt sind und in welcher Hierarchie und Häufigkeit sie auftreten. Die DTD besitzt selbst keine XML-Struktur. Was ist XML Schema? – Ein XML-Schema-Dokument ist ein Regeldokument bzw. eine Ansammlung von Strukturvorgaben/Regeln, deren Syntax im XML Schema Part 1: Structures, W3C Recommendation 2 May 2001 unter http://www.w3c.org/TR/xmlschema-1/ beschrieben werden. Diese Syntax stellt selbst auch wiederum ein XML-Format dar. Sie weist einige Vorteile gegenüber der DTD auf. Zum Beispiel ist es möglich, Datentypen (XML Schema Part 2: Datatypes, W3C Recommendation 02 May 2001 unter http://www.w3c.org/TR/xmlschema-2/) für Elemente anzugeben oder objektorientierte Strukturen für die Angabe von Regelungen zu verwenden. Mit ihrer Hilfe lässt sich angeben, wie die Elemente und Attribute eines XML-Instanzdokumentes heißen, wie sie verschachtelt sind, welche Datentypen ihre Inhalte haben und in welcher Hierarchie und Häufigkeit sie auftreten. Autoren Ein solches Werk schreibt man nicht alleine, sondern teilt sich die Arbeit nach Interessen und Schwerpunkten auf. Die Autoren arbeiten in verschiedenen Positionen bei der Comelio GmbH (www.comelio.com) und haben bereits gemeinsam oder alleine verschiedene Bücher zu ihren Werkzeugen veröffentlicht. Marco Skulschus arbeitet als Projektleiter und Dozent und beschäftigt sich mit Berichts- und Expertensystemen auf Basis von MS SQL Server und Oracle. Er interessiert sich besonders für Ontologien und Data Mining-Techniken. Marcus Wiederstein arbeitet als Projektleiter für Projekte mit Microsoft-Produkten wie MS BizTalk Server, MS Sharepoint Portal Server oder MS Project Server sowie den Business Intelligence-Produkten. Sarah Winterstone arbeitet als Entwicklerin bei der Comelio, Inc. in Miami, FL und programmiert kaufmännische Anwendungen mit.NET und setzt dabei vielfältig XML-Technologien ein. Ihr Spezialgebiet ist die Integration von XML in Datenbanken bzw. die Entwicklung von Import-/Export-Schnittstellen auf XML-Basis. Aufbau des Buchs Dieses Buch soll Sie durch die vollständige Syntax von XSLT führen und dabei auch einige Anregungen für die konkrete Anwendungsentwicklung mit dieser interessanten und flexiblen Technologie geben. Das erste Kapitel stellt die Funktionsweise und den Einsatzbereich von XSLT dar. Es geht darauf ein, welche verschiedenen Alternativen zu XSLT existieren und zeigt, in welchen Fällen XSLT die bessere Wahl ist. Das zweite Kapitel führt in die verschiedenen Vorlagenarten von XSLT ein. Da XSLT eine vorlagengetriebene Sprache ist, in denen die einzelnen Umwandlungsregeln in xsl:template-Elementen angegeben werden, kann man hier vier verschiedene Arten unterscheiden, die der Reihe nach mit Beispielen vorgestellt werden. Dies umfasst die Vorlagen-Regeln, wobei passende Umwandlungsangaben anhand eines XPath-Ausdrucks ausgewählt werden, die benannten Vorlagen, welche direkt über ihren Namen aufgerufen werden können und mit denen man wiederkehrende Routinen erstellen kann, Attributwervorlagen für die Erzeugung von Attributwerten im Ausgabestrom und schließlich Vorlagenmodi, mit denen man für das gleiche XPath-Muster verschiedene Vorlagen-Regeln erstellen kann. Das dritte Kapitel führt dann umfassend in die XPath-Syntax ein. Mit Hilfe dieser so genannten Pfadbeschreibungssprache ist es überhaupt erst möglich, Knoten zu filtern und im Dokument zu lokalisieren. Man unterscheidet hierbei relative und absolute Ausdrücke, die in Fallunterscheidungen, bei der Formulierung von Vorlagen-Regeln sowie der Zuweisung von Werten für Parametern und Variablen zum Einsatz kommen. XPath besitzt eine Basis-Syntax, die entlang von Achsen im XML-Eingabestrom Knoten lokalisieren kann, und eine Funktionsbibliothek, die in diesem Kapitel für Version 1.0 vorgestellt wird. Das vierte Kapitel stellt die Möglichkeiten dar, in XSLT Kontrollanweisungen für Fallunterscheidungen und Schleifen zu verwenden. Das Kapitel beginnt mit einer Darstellung, wie XPath für die Knotenauswahl und Filterung verwendet werden kann. Danach zeigt es die beiden Elemente für Kontrollstrukturen xsl:if und xsl:choose sowie die Anweisung xsl:for-each für Wiederholungen. Das fünfte Kapitel stellt die Elemente für Sortierungen, Nummerierungen und Gruppierungen in den Vordergrund. Mit dem xsl:sort-Element kann man einstufig und mehrstufig in einer ermittelten Knotenmenge sortieren und die einzelnen Knoten in dieser Sortierung verarbeiten. Für die Nummerierung kommt das xsl:number-Element zum Einsatz, in dem nahezu beliebige Optionen für das Zahlenformat bereitstehen. Gruppierungen erklärt das Kapitel schließlich sowohl für die Version 1.0 mit Hilfe der hier gängigen Methoden und für die Version 2.0 mit dem xsl:for-each-group-Element, dessen Einstellungen die Möglichkeiten, die die 1.0-Techniken bieten, noch weit übersteigen. Das sechste Kapitel zeigt, wie man in XSLT Variablen und Parameter verwenden kann, um Werte im Rahmen einer Transformation zwischenzuspeichern oder Werte an Vorlagen zu übergeben. Mit dem Element xsl:variable lassen sich globale und temporäre Werte speichern. Das Element xsl:param hingegen erlaubt, bei der lokalen Verwendung Vorlagen zu parametrisieren, während ein globaler Einsatz einen so genannten Stylesheet-Parameter festlegt, mit dem man Werte aus der aufrufenden Umgebung an die Transformation übergeben kann. Das siebte Kapitel behandelt eine Reihe von speziellen Ausgabeanweisungen, mit denen für unterschiedliche Formatierungen und spezielle Einsatzbereiche Vorgaben für den Ausgabestrom getroffen werden können. Manchmal stellen diese Techniken Vereinfachungen von aus Basisfunktionalitäten zusammengesetzten Kombinationen dar. Man lernt hier, wie man mehrere XML-Dateien gleichzeitig verarbeiten und erzeugen kann, oder wie Formatierungsanweisungen global vorgegeben werden können. Das achte Kapitel verlässt den Bereich der HTML-Erzeugung und konzentriert sich dagegen auf die Besonderheiten, die bei der Generierung von XML und Text zu beachten sind. In Beispielen wird hier gezeigt, wie man aus XML Schema dynamisch HTML-Formulare erstellt, XML-Strukturen ändert oder aus XML Text-Dateien wie bspw. CSV erzeugt. Dabei setzt man eine Reihe von anderen Techniken wie Variablen und Parametern aus früheren Kapiteln wieder ein. Das neunte Kapitel erklärt die Elemente, mit denen Stylesheets in Module zerlegt und dann wieder zusammen gesetzt werden können. Hier sind in XSLT zwei Elemente mit feinen Unterschieden verfügbar. Für den so genannten Import verwendet man xsl:import, für die Einbindung xsl:include. Sie unterscheiden sich in ihrem Verhalten, wie sie lokale Vorlagen überschreiben. Das zehnte Kapitel zeigt in verschiedenen Beispielen, wie man effektiv Fehler suchen und Nachrichten während der Transformation ausgeben kann. Das elfte Kapitel diskutiert Möglichkeiten und Bedingungen, XML-Dateien anhand ihrer Struktur und nicht anhand der Namen von Elementen und Attributen zu verarbeiten. Dies schärft den Blick, besonders dynamische und wiederverwendbare Algorithmen in XSLT zu entwickeln. Das zwölfte Kapitel ergänzt die verschiedenen Vorlagentechniken aus XSLT 1.0 um eine Neuerung in XSLT 2.0, die es erlaub, Stylesheet-Funktionen zu erstellen. Sie können in XPath-Ausdrücken für die Durchführung von Berechnungen oder Ausgaben zum Einsatz kommen und verkürzen die Snytax im Vergleich zu benannten Vorlagen erheblich. Diese Kapitel stellt die 1.0-Vorgehensweise, die benannte Vorlagen einsetzte, mit der 2.0-Technik über xsl:function gegenüber. Das dreizehnte Kapitel bindet zusätzlich die XML Schema-Datei ein, welche die umzuwandelnde XML-Datei beschreibt. Durch diese neue 2.0-Technik ist es möglich, eigene in XML Schema erstellte Datenypen zu testen oder abzufragen und dabei eine Reihe von XPath 2.0-Operatoren zu verwenden. So kann man Umwandlungen einrichten, die struktur- und datentypgetrieben sind. Das vierzehnte Kapitel arbeitet die Funktionsbibliothek von XPath 2.0 mit thematisch sortierten Beispielen durch, um so die vielen neuen nützlichen Funktionen und Vereinfachungen gegebenüber der Vorgängerversion zu zeigen. Das fünfzehnte Kapitel arbeitet gleichermaßen eine Funktionsbibliothek durch, wobei dies in diesem Fall die in XSLT vorhandenen Funktionen sind, um Entitäten aus DTDs oder Textdateien zu verarbeiten oder Schlüssel zu erzeugen und abzufragen. Das sechzehnte Kapitel behandelt XML-Dateien, die Daten enthält, welche wie in eine relationalen Datenbank aufgebaut sind und daher über entsprechende Abfragetechniken in XSLT oder XPath wieder zusammengeführt werden müssen. In einer Reihe von Beispielen lernt man, wie man innere, äußere und selbstbezügliche Verknüpfungen sowie Mengenuntersuchungen auf solchermaßen aus einer DB abgerufenen Strukturen durchführt. Das siebzehnte Kapitel diskutiert fortgeschrittene Techniken und Möglichkeiten, wie man XSLT dynamisch aus XML Schema oder aufgrund von Annahmen erzeugen oder aus mehreren XSLT-Dateien zusammensetzen kann. Als weitere Möglichkeit geht es darauf ein, wie man eine Datenbank einsetzen kann, um XSLT, XML Schema und XML in Spalten zu speichern und dann bei Bedarf zusammenzusetzen. Das achtzehnte Kapitel zeigt eine neue 2.0-Möglichkeit, in XSLT und XPath reguläre Ausdrücke zu verwenden, um Daten auszuwerten und bedingte Umwandlungen einzurichten. Das neunzehnte Kapitel geht auf eine alternative Syntax ein, mit der XSLT vermieden und abfrageähliche Transformationen in XQuery, dem SQL für XML, umgesetzt werden können. Das Kapitel umfasst thematisch dabei die Darstellung der Syntax zur Abfrage, die Verwendung von Funktionen, die Formulierung von Variablen und ihre Auswertung sowie die verschiedenen Möglichkeiten, wie man das Ausgabeformat strukturieren kann. Das zwanzigste Kapitel schließlich erklärt, wie man die verschiedenen XSLT-, XPath- und XQuery-Techniken in den Programmiersprachen Java,.NET, PHP sowie in den Datenbanken Oracle mit PL/SQL und in Microsoft SQL Server mit T-SQL nutzen kann. Dies umfasst die Aufgaben, eine Transformation durchzuführen, Parameter an das Stylesheet zu übergeben oder externe Funktionen/Methoden der Sprache in XSLT aufzurufen sowie Abfragen durchzuführen. Weitere Lern-Ressourcen Online-Material vom Verlag: Alle Übungsdateien in XML, XSLT, XSL-FO und entsprechende Ergebnisse finden Sie auf der Verlagsseite www.comelio-medien.com. Um die Ergebnisse von Transformationen in HTML zu testen, brauchen Sie nur einen aktuellen, XSLT-fähigen Internet-Browser, in dem Sie die XML-Dateien öffnen. Alternativ können Sie die sehr weit verbreitete Software von Altova XMLSpy® (Testversion kostenlos erhältlich) von www.altova.com verwenden. Auch das MS Visual Studio erlaubt die Verwendung von XSLT. Alternativ können Sie Ihre Skripte auch in einem beliebigen Text-Editor erstellen und sie lediglich mit einem.NET/Java-XSLT-Prozessor oder der Programmiersprache Ihrer Wahl umwandeln. Weitere Bücher von Comelio Medien: XSL-FO, Marco Skulschus, Jan Kozik, Marcus Wiederstein, ISBN 978-3-939701-17-0 MS SQL Server 2005 – XML und SOAP-Webservices, Marco Skulschus, Jan Kozik, Alexander Kapitanovskyy, ISBN 978-3-939701-03-3 PHP und XML, Marco Skulschus, ISBN 978-3-939701-00-2 Oracle, PL/SQL und XML, Marco Skulschus, ISBN 978-3-939701-10-1 Online-Material vom W3C: XSL Transformations (XSLT), Version 1.0, W3C Recommendation 16 November 1999 unter http://www.w3.org/TR/xslt XML Path Language (XPath), Version 1.0, W3C Recommendation 16 November 1999 unter http://www.w3.org/TR/xpath XSLT 2.0 mit dem Titel XSL Transformations (XSLT) Version 2.0, W3C Recommendation 23 January 2007 unter http://www.w3.org/TR/xslt20/ XML Path Language (XPath) 2.0, W3C Recommendation 23 January 2007 unter http://www.w3.org/TR/xpath20/ Extensible Stylesheet Language (XSL), Version 1.0, W3C Recommendation 15 October 2001 unter http://www.w3.org/TR/xsl/ Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation 04 February 2004 unter http://www.w3c.org/TR/2004/REC-xml-20040204/ XML Schema Part 1: Structures, W3C Recommendation 02 May 2001 unter http://www.w3c.org/TR/xmlschema-1/ XML Schema Part 2: Datatypes, W3C Recommendation 02 May 2001 unter http://www.w3c.org/TR/xmlschema-2/ Textgestaltung Wie in allen Informatik-Büchern, finden Sie auch in diesem verschiedene typografische Hervorhebungen für wichtige Begriffe oder Quelltext sowie Internetadressen oder Dateinamen. Quelltextblöcke haben besondere Formatierungen. Gerade im XML-Bereich ist es mit Hilfe geeigneter Editoren besonders einfach, korrekte und formschöne Formatierungen / Einrückungen zu erreichen. Wir möchten Sie an dieser Stelle darauf hinweisen, dass die Formschönheit bei der Verwendung von xsl:attribute in Quelltexten eine geringere Bedeutung hatte als die korrekte Verwendung dieses Elements. Damit keine ungewünschten Leerzeichen / Absatzmarken in die Ausgabe gelangen, verzichten wir komplett auf zusätzliche Einrückungen, die eigentlich aufgrund des Zeilenumbruchs notwendig wären. Wenn an diesen Stellen also der Quelltext einmal nicht besonders gut formatiert ist, dann ist dies mit Überlegung geschehen. Kontakt zu Autor und Verlag Sie erreichen das Sekretariat der Autoren unter der E-Mail-Adresse info@comelio.com. Von dort werden Ihre Emails dann weitergeleitet. Die Webseite des Verlags finden Sie unter der Adresse http://www.comelio-medien.com, während Sie auf der Unternehmenswebseite folgende weitere Informationen finden: XML-Artikel: http://www.comelio-medien.com/comelio-blog XML-Seminare: http://www.comelio-seminare.com/seminare/titel/xml Auch in der realen Welt ist der Verlag zu erreichen. Die Hauptzentrale befindet sich in Berlin, Deutschland. Comelio GmbH, Goethestr. 34, D-13086 Berlin

"Herzlich willkommen zum ersten Buch einer zweiteiligen Reihe zur Transformation von XML mit Hilfe von XSLT und XSL-FO, auch bekannt unter der zusammen fassenden Abkürzung XSL (eXtensible Stylesheet Language (for Transformations)). In diesem ersten Band erfahren Sie alles Wesentliche, um mit Hilfe von XSLT 1.0 und 2.0 Algorithmen zu entwerfen, mit deren Hilfe XML-Dateien in HTML, Text und andere XML-Formate übertragen werden können. Darüber hinaus lernen Sie XPath 1.0 und 2.0 kennen, um in XML-Dokumenten zu navigieren, Knoten zu lokalisieren und Funktionen aus der XPath/XQuery-Bibliothek anzuwenden. Das Buch schließt mit einer Darstellung zu XQuery, einer Alternative zu XSLT, welche den Aspekt der Abfrage und nicht den der Transformation von XML-Daten in den Vordergrund stellt, ab. Konzeption der Reihe Die Aufteilung in Bücher und Kapitel lässt sich so begründen, dass nicht jeder Leser beide Werke benötigt und er vielleicht eine Auswahl treffen möchte. Einige möchten möglicherweise auch nach und nach beide Bände kaufen und nicht von vorneherein ein erschreckend umfangreiches Buch in der Hand halten. Der erste Band stellt die Syntax von XSLT dar. Es umfasst die Standards von XSLT 1.0 mit dem Titel XSL Transformations (XSLT), Version 1.0, W3C Recommendation 16 November 1999 unter und XPath 1.0 mit dem Titel XML Path Language (XPath), Version 1.0, W3C Recommendation 16 November 1999 unter aus Version 1 und die Standards XSLT 2.0 mit dem Titel XSL Transformations (XSLT), Version 2.0, W3C Working Draft 12 November 2003 unter und XPath 2.0 mit dem Titel XML Path Language (XPath) 2.0, W3C Working Draft 23 July 2004 unter Sie lernen in diesem Band daher alle Technik en kennen, welche zur Erzeugung von HTML, Text und XML und zur Abfrage von XML-Dokumenten mit XPath notwendig ist. Die Grundlagen werden im ersten Teil geschaffen. Der zweite Teil dieses Bandes stellt neben fortgeschrittenen Techniken eine Reihe von Einsatzbeispielen vor. Er kombiniert die einzelnen vorgestellten Standards mit allgemeinen Techniken, die nur die Transformation betreffen, mit Ideen, wie XSLT-Anwendungen aufgebaut werden können, und solchen Techniken wie die Verwendung einer Datenbank, um XML- und sogar XSLT-Daten abzuspeichern und dynamisch für Transformationsabläufe zusammenzusetzen. Der zweite Band stellt die Syntax von XSL-FO 1.0 bzw. XSL 1.0 mit dem Titel Extensible Stylesheet Language (XSL), Version 1.0, W3C Recommendation 15 October 2001 unter dar. Sie lernen in diesem Band, wie Druckerzeugnisse wie z.B. PDF-Dateien aus XML-Daten erzeugt werden. Dies erfordert einen eigenen Standard mit einer Vielzahl an unterschiedlichen Elementen, um Seitenbereiche, Seitenverläufe, Text- und Absatzformate sowie zusätzliche Dokumenteigenschaften anzugeben wie se. Weitere Bände zur XML-Verwendung in Software sind ebenfalls bei Comelio Medien erhältlich. Sie betreffen neben XSLT auch die Umwandlung und Erstellung von XML in Programmiersprachen sowie die Verwendung von XML in Datenbanken. Leserkreis Die zwei Bücher richten sich an Leser, die in jedem Fall bereits grundlegende Kenntnisse über XML und dessen Einsatzbereiche haben. Grundlegende Kenntnisse sollten Antworten auf die folgenden Fragen umfassen: Was haben HTML und XML gemeinsam - Sie stellen beide eine Syntax dar, in der Inhalte über Bezeichner in spitzen Klammern ausgezeichnet werden. Diese Bezeichner können jeweils so genannte Attribute enthalten, die ebenfalls Textwerte nach eine m Gleichheitszeichen und innerhalb von Anführungszeichen aufweisen können. Es entstehen verschachtelte Strukturen, die in einem Baum wiedergegeben werden können. Regelungen zur Benennung folgen dem Standard Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation 04 February 2004 unter HTML kann so verwendet werden, dass kein wohlgeformtes XML entsteht...."

Sprache deutsch
Maße 155 x 220 mm
Gewicht 1060 g
Einbandart Paperback
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte XPath • XPath (XML Path Language) • XQuery • XQuery (XML Query Language) • XSLT • XSLT (Extensible Stylesheet Language Transform.)
ISBN-10 3-939701-50-5 / 3939701505
ISBN-13 978-3-939701-50-7 / 9783939701507
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90
Grundlagen und praktische Anwendungen von Transpondern, kontaktlosen …

von Klaus Finkenzeller

Buch (2023)
Hanser (Verlag)
89,99
das umfassende Handbuch

von Marc Marburger

Buch | Hardcover (2024)
Rheinwerk (Verlag)
49,90