XSLT, Xpath und Xquery

XSLT, Xpath und Xquery

von: Marco Skulschus, Marcus Wiederstein, Sarah Winterstone

comelio GmbH, 2011

ISBN: 9783939701538 , 707 Seiten

2. Auflage

Format: PDF, OL

Kopierschutz: DRM

Windows PC,Mac OSX Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 34,95 EUR

Mehr zum Inhalt

XSLT, Xpath und Xquery


 

Inhaltsverzeichnis

6

Vorwort

14

1. Grundkonzept

25

1. 1. XSLT und seine Alternativen

25

1. 1. 1. Kriterien zur Bewertung

26

1. 1. 2. CSS

28

1. 1. 3. SAX

30

1. 1. 4. DOM

31

1. 1. 5. Vorteile von XSLT

33

1. 2. Grundstruktur einer XML-Anwendung

37

1. 2. 1. Modellierung

37

1. 2. 2. Validierung

39

1. 2. 3. Transformation

40

1. 3. Beispiel

43

1. 3. 1. Verwendete Beispieldateien

43

1. 3. 2. Einfache Anwendung

44

2. Vorlagentechnik

52

2. 1. Arbeiten mit Vorlagen

52

2. 1. 1. Erzeugen von HTML

53

2. 1. 2. Element: Stylesheet und sein Inhalt

56

2. 1. 3. Wertübernahme aus XML

59

2. 2. Vorlagen-Typen

63

2. 2. 1. Vorlagen-Regeln oder unbenannte Vorlagen

64

2. 2. 2. Benannte Vorlagen

78

2. 2. 3. Vorlagen-Modi

92

2. 3. Attributwerte

99

2. 3. 1. Attributwertvorlagen

99

2. 3. 2. Attributwerte zusammensetzen

101

3. Adressierung mit XPath

105

3. 1. Grundlagen

105

3. 1. 1. Allgemeine Konzepte

106

3. 1. 2. Knotentypen

110

3. 2. Lokalisierung

118

3. 2. 1. Achsen

119

3. 2. 2. Beispiele zur Achsen-Verwendung

127

3. 2. 3. Abgekürzte Syntax

130

3. 3. Knotentests

130

3. 3. 1. Lokalisierungsschritte

131

3. 3. 2. Arten-Test

132

3. 3. 3. Prädikate

133

3. 4. Funktionen in XPath

135

3. 4. 1. Knotenmengenfunktionen

136

3. 4. 2. String-Funktionen

137

3. 4. 3. Logische Funktionen

137

3. 4. 4. Numerische Funktionen

138

3. 4. 5. Beispiele

138

3. 5. Neuerungen in XPath 2.0

139

3. 5. 1. Kontrollstrukturen und Funktionen

140

3. 5. 2. Sequenzen

141

4. Kontrollstrukturen

144

4. 1. Fallunterscheidungen

144

4. 1. 1. Einfacher Einsatz von XPath

144

4. 1. 2. Auswahl mit if

151

4. 1. 3. Auswahl mit choose

157

4. 1. 4. Fallunterscheidungen in XPath 2.0

162

4. 2. Wiederholungen

166

4. 2. 1. Ping-Pong-Spiel

166

4. 2. 2. Einsatz von for-each

166

4. 2. 3. Schleifen in XPath 2.0

173

5. Sortierungen und Gruppierungen

176

5. 1. Sortierungen

176

5. 1. 1. Allgemeine Sortiermöglichkeiten

176

5. 1. 2. Einfache Sortierung

178

5. 1. 3. Mehrfache Sortierung

181

5. 2. Nummerierung

183

5. 2. 1. Allgemeine Möglichkeiten der Nummerierung

183

5. 2. 2. Einfache Nummerierung

185

5. 2. 3. Erweiterte Nummerierung

189

5. 3. Gruppierungen

192

5. 3. 1. Gruppierungen für XSLT 1.0

193

5. 3. 2. Gruppierungen für XSLT 2.0

202

6. Parameter und Variablen

213

6. 1. Parameter

213

6. 1. 1. Lokale Parameter

216

6. 1. 2. Globale Parameter

222

6. 2. Variablen

226

6. 2. 1. Lokale Variablen

227

6. 2. 2. Globale Variablen

232

6. 2. 3. Temporäre Bäume

236

7. Vorgaben für Ein-und Ausgabeformate

242

7. 1. HTML

242

7. 1. 1. CSS erzeugen

242

7. 1. 2. Kommentar erzeugen

245

7. 2. XML

245

7. 2. 1. Strukturen erzeugen

245

7. 2. 2. Besondere Knoten und Anweisungen

250

7. 2. 3. Strukturen kopieren

253

7. 3. Zeichenformatierungen

258

7. 3. 1. Allgemeine Ausgabeoptionen

259

7. 3. 2. Dezimalformat

264

7. 3. 3. Zeitformatierung

266

7. 4. Verarbeitung von mehreren Dokumenten

270

7. 4. 1. Mehrere Dokumente laden

270

7. 4. 2. Mehrere Dokumente mit XSLT 2.0 erzeugen

274

8. XML und Text

282

8. 1. XML

282

8. 1. 1. Attributorientierte Dokumente

282

8. 1. 2. XML Schema

288

8. 2. Text

305

8. 2. 1. SQL

306

8. 2. 2. CSV-Werte

314

8. 2. 3. Textausgabe

318

9. Dateibasierte Auslagerung

328

9. 1. XSLT-Dateien einbinden

328

9. 1. 1. Einfaches Beispiel

329

9. 1. 2. Prioritätsregeln

330

9. 2. XSLT-Dateien importieren

333

9. 2. 1. Standardfall

333

9. 2. 2. Priorisierung im Importbaum

335

9. 2. 3. Überschreibung umgehen

336

9. 2. 4. Eingebaute Vorlagen

341

9. 3. XML Schema in XSLT 2.0

343

10. Fehlersuche

347

10. 1. Nachrichten

347

10. 1. 1. Grundprinzip

347

10. 1. 2. Sinnvolle Benutzung

349

10. 2. Testfunktionen

350

10. 2. 1. Verfügbare Syntax testen

350

10. 2. 2. Standardverhalten

352

11. Vorlagen und Strukturen

357

11. 1. Vorlagentypen

357

11. 1. 1. Grundlagen

358

11. 1. 2. Konkrete Vorlagen

359

11. 1. 3. Allgemeine Vorlagen

363

11. 1. 4. Bedeutung von XPath

371

11. 1. 5. Benennung

378

11. 1. 6. Eltern-Kind-Strukturen

390

11. 1. 7. Attribute vs. Elemente

399

12. Eigene XSLT-Funktionen

407

12. 1. Benannte Vorlagen in XSLT 1.0

407

12. 1. 1. Grundlagen

407

12. 1. 2. Verwendung

411

12. 2. Komplexer Aufbau von Vorlagen

420

12. 2. 1. Variantenauswahl über Vorlagennamen

421

12. 2. 2. Variantenauswahl über Parameter

425

12. 2. 3. Überladen von Vorlagen

428

12. 2. 4. Generische Programmierung

435

12. 3. Stylesheet-Funktionen in XSLT 2.0

439

12. 3. 1. Grundlagen

439

12. 3. 2. Ersatz von benannten Vorlagen

441

12. 3. 3. Verkürzungen in XPath/XSLT 2.0

445

13. XML Schema

448

13. 1. Verwendung

448

13. 1. 1. Grundlagen

448

13. 1. 2. Beispiel

450

13. 2. Mögliche XML Schema-Strukturen

452

13. 2. 1. Vordefinierte Datentypen

453

13. 2. 2. Benutzerdefinierte Datentypen

455

13. 2. 3. Komplexe Datentypen

463

13. 2. 4. Globale Elemente und Attribute

465

13. 3. Verwendung eingebundener Strukturen

468

13. 3. 1. Datentyp-Ausdrücke

468

13. 3. 2. Attribut-Tests

472

14. XPath-und XQuery-Funktionen

475

14. 1. Arbeiten mit Zahlen

475

14. 1. 1. Berechnungen

475

14. 1. 2. Aggregate

478

14. 2. Arbeiten mit Zeichenketten

480

14. 2. 1. Zeichenkettenwerte

481

14. 2. 2. Unterzeichenketten

484

14. 3. Arbeiten mit Knoten

488

14. 3. 1. Knotenfunktionen

488

14. 3. 2. Sequenzfunktionen

490

14. 3. 3. Kardinalität von Sequenzen

495

14. 4. Arbeiten mit der Zeit

498

14. 4. 1. Zeitbestandteile auslesen

498

14. 4. 2. Angleichung von Zeitzonen

503

14. 4. 3. Berechnung von Zeitdauern

504

14. 4. 4. Kontextfunktionen

508

14. 4. 5. Formatierung von Zeit

511

15. Einsatz von XSLT 2.0-Funktionen

516

15. 1. Entitäten

516

15. 1. 1. Einsatz in XML

517

15. 1. 2. Einsatz in XSLT

519

15. 1. 3. Funktionen für Entitäten

522

15. 2. Arbeiten mit Dateien

524

15. 2. 1. Statischer Dateiname

525

15. 2. 2. Dynamischer Dateiname

528

15. 2. 3. Array-Strukturen als Parameter übergeben

530

15. 2. 4. Textdateien einlesen

532

15. 3. Schlüssel und Verweise

536

15. 3. 1. Einsatz von XSLT-Funktionen

536

15. 3. 2. Einsatz von IDs

541

16. SQL-ähnliche Abfragen von XML

546

16. 1. Bedingungen

546

16. 1. 1. Grundlagen

546

16. 1. 2. Beispiel

547

16. 1. 3. Mehrstufige Gleichheit

549

16. 2. Verknüpfungen

553

16. 2. 1. Innere Verknüpfung

553

16. 2. 2. Äußere Verknüpfung

558

16. 2. 3. Selbstverknüpfung

562

16. 3. Mengen

564

16. 3. 1. Mengen verarbeiten

565

16. 3. 2. Mengentests

569

17. Dynamisches XSLT

574

17. 1. Grundlagen

574

17. 1. 1. Besonderheiten von XSLT

574

17. 1. 2. Besonderheiten von XML-Technologien

576

17. 2. XSLT erzeugen

584

17. 2. 1. Neu-Erzeugung aus XML Schema

584

17. 2. 2. Allgemeiner Programmaufbau

592

17. 3. XSLT zusammensetzen

595

17. 3. 1. Grundlagen

595

17. 3. 2. Dateien verbinden

598

17. 3. 3. Datenbank-Einsatz

606

18. Reguläre Ausdrücke

619

18. 1. Einfache Ausdrücke

619

18. 1. 1. Meta-Zeichen

619

18. 1. 2. Flucht-Zeichen

621

18. 1. 3. Unicode-Zeichenklassen (Kategorien)

622

18. 2. XPath-Unterstützung

625

18. 3. XSLT-Unterstützung

628

18. 3. 1. Grundlagen

628

18. 3. 2. Beispiel

630

19. XQuery

634

19. 1. Grundsyntax und einfache Umwandlungen

634

19. 1. 1. Einführung

634

19. 1. 2. FLWOR

636

19. 1. 3. XML-Erzeugung

641

19. 1. 4. Fallunterscheidungen

645

19. 1. 5. Eigene Funktionen

646

19. 2. Anwendungsfälle von XQuery

648

19. 2. 1. Hierarchien und flexible Dokumente

648

19. 2. 2. Sequenzen und Reihenfolgen

652

19. 2. 3. Relationale Daten

654

19. 2. 4. Berechnungen

660

20. XSLT in Programmiersprachen

664

20. 1. PHP 5

665

20. 1. 1. Übersicht über die Bibliothek

665

20. 1. 2. Beispiel

667

20. 2. Oracle und PL/SQL

670

20. 2. 1. Übersicht über die Bibliothek

670

20. 2. 2. Beispiel

673

20. 3. C#.NET

676

20. 3. 1. Übersicht über die Bibliothek

676

20. 3. 2. Beispiel

679

20. 4. MS SQL Server und T-SQL

681

20. 4. 1. XSLT-Einsatz

682

20. 4. 2. XQuery

685

20. 5. Java und JAXP

688

20. 5. 1. Übersicht über die Bibliothek

688

20. 5. 2. Beispiel

690

Index

694