XSLT Kochbuch

XSLT Kochbuch

By (author)  , Translated by  , Translated by 

List price: US$60.32

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks

Description

XSLT (Extensible Stylesheet Language Transformations) ist die Schlüsseltechnik, um XML zu verarbeiten. Viele Programmierer finden die Sprache aber nach wie vor gewöhnungsbedürftig, sie passen lieber bestehende Lösungen an ihre Aufgaben an als eigene Stylesheets neu zu entwickeln. Für unzählige solcher typischen Aufgaben gibt es im XSLT Kochbuch fertige Lösungsrezepte, die sich leicht übernehmen lassen. Zu den behandelten Themen gehören unter anderem:

* String-Manipulation
* Mathematische Funktionen
* Datums- und Zeitangaben verarbeiten
* Dokumentinhalte auswählen
* HTML erzeugen
* Grafiken und Diagramme erzeugen mit SVG und XSLT
* Code automatisch erzeugen
* Visio- und Excel-Daten verarbeiten
* XSLT testen und debuggen

Mehr als eine Codesammlung
In jedem der mehr als 100 Rezepte wird ein typisches Problem analysiert und natürlich eine Lösung präsentiert. Die Autoren erklären aber auch immer die verwendeten Techniken und begründen, warum gerade diese Methode sinnvoll ist. Bei vielen Rezepten werden zudem Alternativen vorgestellt und Performance-Aspekte diskutiert.

Vom einfachen Kniff zu komplexen Lösungen
Entwickler, die sich gerade erst mit dem Template-Konzept von XSLT vertraut machen, finden hier konkrete Beispiele, an denen sie die Arbeitsweisen schnell verinnerlichen können. Und Profis haben einen voll ausgestatteten Werkzeugkasten zur Hand, aus dem sich in jeder Situation der richtige Schlüssel zücken lässt.

XSLT 1.0 und XSLT 2.0
Da XSLT 2.0 zwar einige wesentliche Verbesserungen mit sich bringt, dafür noch nicht überall unterstützt wird, werden, wo nötig, Lösungen für beide XSLT-Versionen gezeigt. Zudem widmet sich ein komplettes Kapitel diesen Unterschieden und Kompatibilitätsfragen.
show more

Product details

  • Paperback | 760 pages
  • 177 x 235 x 42mm | 1,263g
  • German
  • 3897214571
  • 9783897214576

Table of contents

Vorwort XV





1
Best Practices 1

Drei Ziele 3
Dieses Buch 6
Das Verhalten ändern 7




2
Code-Layout 9

Klammerung 10
Schlüsselwörter 12
Unterroutinen und Variablen 13
Built-ins 14
Schlüssel und Indizes 15
Operatoren 16
Semikolons 17
Kommas 19
Zeilenlängen 20
Einrückung 21
Tabulatoren 22
Blöcke 24
Segmentierung ("Chunking") 25
Else-Konstrukte 26
Vertikale Ausrichtung 28
Umbrechen langer Zeilen 30
Nichtterminale Ausdrücke 32
Nach Vorrang umbrechen 32
Zuweisungen 33
Ternäre Operatoren 34
Listen 35
Automatisiertes Layout 36




3
Namenskonventionen 39

Identifier 40
Boolesche Werte 44
Referenzvariablen 45
Arrays und Hashes 46
Unterstriche 48
Groß-/Kleinschreibung 49
Abkürzungen 50
Mehrdeutige Abkürzungen 51
Mehrdeutige Namen 52
Utility-Routinen 53




4
Werte und Ausdrücke 55

Trennzeichen für Strings 56
Leerstrings 57
Strings mit nur einem Zeichen 58
Escaping von Zeichen 59
Konstanten 60
Führende Nullen 63
Lange Zahlen 65
Mehrzeilige Strings 65
Here-Dokumente 66
Einrückung von Here-Dokumenten 67
Terminatoren für Here-Dokumente 68
Quoting bei Here-Dokumente 70
Barewords 71
Fette Kommas 72
Dünne Kommas 74
Operatoren mit niedrigem Vorrang 76
Listen 77
Listen-Zugehörigkeit 78




5
Variablen 80

Lexikalische Variablen 80
Paketvariablen 82
Lokalisierung 84
Initialisierung 85
Interpunktionsvariablen 86
Lokalisierung von Interpunktionsvariablen 89
Matching-Variablen 90
Dollar-Unterstrich 93
Array-Indizes 96
Slicing 97
Slice-Layout 98
Slices auslagern 99




6
Kontrollstrukturen 101

If-Blöcke 101
Postfix-Selektoren 102
Andere Postfix-Modifikatoren 104
Negative Kontrollanweisungen 105
Schleifen im C-Stil 108
Unnötige Indizes 110
Notwendige Indizes 112
Iteratorvariablen 114
Nicht-lexikalische Schleifen-Iteratoren 116
Generierung von Listen 119
Auswahl von Listenelementen 121
Listentransformation 122
Komplexe Abbildungen 123
Nebeneffekte der Listenverarbeitung 124
Mehrteilige Auswahl 127
Werte-Switches 127
Tabellarische Ternäre 131
do/while-Schleifen 133
Lineare Codierung 135
Verteilte Kontrolle 137
Redo 138
Schleifen-Label 140




7
Dokumentation 143

Arten der Dokumentation 144
Schablonen 145
Erweiterte Schablonen 149
Speicherort 151
Kontiguität 151
Position 152
Technische Dokumentation 152
Kommentare 153
Algorithmische Dokumentation 154
Erläuternde Dokumentation 155
Defensive Dokumentation 156
Indikative Dokumentation 157
Diskursive Dokumentation 157
Korrekturlesen 160




8
Fest eingebaute Funktionen 161

Sortieren 161
Listen umkehren 165
Skalare umkehren 166
Daten mit fester Breite 166
Getrennte Daten 170
Daten variabler Länge 171
Evaluierung von Strings 174
Das Sortieren automatisieren 177
Teilstrings 178
Hashwerte 179
Globbing 180
Sleep 181
Mapping und Grepping 183
Utilities 184




9
Unterroutinen 189

Aufruf-Syntax 190
Homonyme 192
Argumentlisten 193
Benannte Argumente 196
Fehlende Argumente 198
Standardwerte für Argumente 199
Skalare Rückgabewerte 201
Kontextabhängige Rückgabewerte 203
Kontextabhängige Rückgabewerte 206
Prototypen 209
Implizite Returns 212
Fehler zurückgeben 215




10
I/O 217

Dateihandles 218
Indirekte Dateihandles 220
Lokalisierung von Dateihandles 221
Sauberes Öffnen 222
Fehlerprüfung 224
Aufräumen 225
Eingabeschleifen 226
Zeilenbasierte Eingaben 228
Einfaches Saugen 229
Power-Saugen 230
Standardeingabe 232
Ausgabe an Dateihandles 233
Einfaches Prompting 233
Interaktivität 234
Power-Prompting 236
Fortschrittsanzeigen 238
Automatische Fortschrittsanzeigen 240
Autoflushing 241




11
Referenzen 243

Dereferenzierung 244
Geklammerte Referenzen 245
Symbolische Referenzen 246
Ringförmige Referenzen 248




12
Reguläre Ausdrücke 252

Erweiterte Formatierung 253
Zeilengrenzen 255
String-Grenzen 256
Ende des Strings 257
Alles verarbeiten 258
"Faule" Flags 259
Klammern als Trennsymbole 260
Andere Trennsymbole 263
Metazeichen 264
Benannte Zeichen 265
Eigenschaften 266
Whitespace 267
Beliebige Wiederholungen 268
Einfangende Klammern 270
Eingefangene Werte 271
Capture-Variablen 271
Stückweises Matching 275
Tabellarische Regexes 277
Konstruktion regulärer Ausdrücke 279
Vorgefertigte Regexes 281
Alternierungen 283
Alternierungen ausgliedern 284
Backtracking 287
Stringvergleiche 290




13
Fehlerbehandlung 292

Ausnahmen 293
Fehler bei Built-ins 298
Kontextabhängige Fehler 299
Systemische Fehler 300
Behebbare Fehler 301
Fehler melden 302
Fehlermeldungen 304
Fehler dokumentieren 306
OO-Ausnahmen 307
Volatile Fehlermeldungen 310
Ausnahmehierarchien 311
Ausnahmen verarbeiten 312
Exception-Klassen 313
Ausnahmen entpacken 317




14
Kommandozeilen-Verarbeitung 320

Kommandozeilen-Struktur 321
Kommandozeilen-Konventionen 322
Metaoptionen 324
In-situ-Argumente 325
Kommandozeilen-Verarbeitung 327
Konsistenz der Schnittstelle 332
Konsistenz zwischen verschiedenen Anwendungen 336




15
Objekte 340

OO verwenden 341
Kriterien 342
Pseudohashes 344
Eingeschränkte Hashes 344
Kapselung 345
Konstruktoren 355
Klonen 355
Destruktoren 358
Methoden 360
Zugriffsmethoden 362
Lvalue-Zugriffsmethoden 369
Indirekte Objekte 372
Klassen-Schnittstellen 375
Überladen von Operatoren 378
Implizite Umwandlungen 379




16
Klassenhierarchien 382

Vererbung 383
Objekte 384
Blessing von Objekten 388
Konstruktor-Argumente 391
Initialisierung der Basisklasse 395
Konstruktion und Destruktion 400
Klassenhierarchien automatisieren 408
Attribut-Freigabe 409
Aufbau von Attributen 412
Implizite Umwandlungen 413
Kumulative Methoden 414
Autoloading 419




17
Module 423

Schnittstellen 424
Refactoring 427
Versionsnummern 430
Versionsanforderungen 432
Export 434
Deklarativer Export 436
Schnittstellen-Variablen 438
Module erzeugen 443
Die Standardbibliothek 444
CPAN 446




18
Testen und Debugging 448

Testfälle 448
Modulares Testen 449
Test-Suiten 453
Fehler 454
Was getestet werden soll 454
Debugging und Testen 456
Nehmen Sie es genau 458
Warnungen 460
Korrektheit 461
Überschreiben von strict 462
Der Debugger 466
Manuelles Debugging 466
Halbautomatisches Debugging 468




19
Vermischtes 471

Versionskontrolle 471
Andere Sprachen 472
Konfigurationsdateien 475
Formate 479
Tie 482
Cleverness 484
Gekapselte Cleverness 485
Benchmarking 487
Speicher 490
Caching 491
Memoising 493
Caching zu Optimierungszwecken 494
Profiling 496
Bugs durch Code-Änderungen einführen 498




A
Grundlegende beste Praktiken in Perl 501





B
Beste Praktiken in Perl 504





C
Editor-Konfigurationen 517





D
Empfohlene Module und Utilities 523





E
Bibliografie 529


Index 531
show more

Review quote

"Das Buch sieht sich dem Titel nach als buch mit vielen Rezepten und erfüllt die Erwartungen vollauf. Die inhaltlichen "Diskussionen" der Beispiele sind aufschlussreich und vermitteln gleichzeitig anhand der Beispiele Hintergrundwissen. ..." - Dipl. Mag. Hofstätter, Oktober 2008


"Eine Fundgrube für XML-Entwickler." - Entwickler Magazin, Februar 2007

"Das Buch enthält Hunderte von Lösungen für Probleme, denen sich Entwickler regelmäßig gegenüber sehen, wobei die meisten heute noch auf andere Programmiersprachen ausweichen. [...] Neben der reinen Lösung erläutert der Autor in einer abschließenden Diskussion, warum die jeweilige Vorgehensweise empfehlenswert ist, wo die Grenzen liegen, welche Ausbaumöglichkeiten bestehen. Bei vielen Problemstellungen werden zusätzlich alternative Lösungswege gezeigt und die Performance und Umsetzbarkeit unter die Lupe genommen. Mit dem neuen Buch ändert sich hoffentlich bald die Einstellung der Webprogrammierer und XSLT erhält seinen verdienten Einzug ins WWW. Es enthält Lösungen für die XSLT-Version 1.0 und bereits 2.0 - und die enthaltenen Rezepte wissen den Leser durchaus in den Bann zu ziehen. Schmökern wie im richtigen Kochbuch." - Niels Gründel, Netzkritik.de, August 2006
Lesen Sie die ausführliche Rezension unter: http://www.netzkritik.de/art/482.shtml
show more

About Sal Mangano

Sal Mangano has been developing software for over 12 years and has worked on many mission-critical applications, especially in the area of financial-trading applications. Unlike many XML/XSLT developers, he did not approach the technology from the standpoint of the Internet and Web development but rather from the broader need for a general-purpose, data-transformation framework. This experience has given him a unique perspective that has influenced many of the recipes in his book, the XSLT Cookbook. Sal has a Master's degree in Computer Science from Polytechnic University.
show more