Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort zur zweiten Auflage
11
1 Einleitung
15
1.1 Anwendungsgebiete von XML-Technologien
16
1.1.1 XML für den Austausch von Daten und Dokumenten
16
1.1.2 XML im E-Business
18
1.1.3 XML in der Anwendungsintegration
19
1.2 XML innerhalb von SAP NetWeaver
19
1.2.1 XML im Datenaustausch
19
1.2.2 XML in ABAP-Anwendungen
21
1.2.3 XML in der ABAP-Entwicklung
22
1.2.4 XML als Integrationstechnologie
23
1.2.5 XML für die Generierung und das Parsen von Dokumenten
25
1.2.6 XML in Webanwendungen
25
1.3 XML-Verarbeitung durch String-Manipulation
27
1.3.1 Verwendung von String-Operationen
27
1.3.2 Parsen mit regulären Ausdrücken
28
1.3.3 Softwaretechnische Gründe für Application Programming Interfaces
29
1.4 Zusammenfassung
29
2 XML-Standards und XML-Middleware
31
2.1 Einführung in XML
31
2.1.1 XML-Syntax
32
2.1.2 XML-Semantik
39
2.2 XML-Vokabulare
40
2.2.1 Really Simple Syndication
40
2.2.2 WordML, ODF und OOXML
42
2.2.3 XSL Formatting Objects
42
2.2.4 Scalable Vector Graphics
44
2.2.5 XHTML
45
2.2.6 XML-Linking
45
2.3 XSL-Transformationen
46
2.3.1 Lokalisierungen mit XPath
48
2.3.2 Template-Verarbeitung mit XSLT
49
2.3.3 Stärken und Schwächen von XSLT
51
2.4 XML-Schemasprachen
51
2.4.1 Document Type Definitions
52
2.4.2 XML Schema
53
2.4.3 Schematron
59
2.4.4 Grundregeln für die Erstellung eigener Vokabulare
61
2.5 XML als Basis des Semantic Web
62
2.5.1 Resource Description Framework
62
2.5.2 Web Ontology Language
66
3 XML-Library
71
3.1 Einführung
72
3.1.1 Erzeugen eines DOM-Baumes
72
3.1.2 Filter und Iteratoren
74
3.2 Wichtige Interfaces
76
3.3 Datenquellen
78
3.4 DOM-API
79
3.4.1 Zugriff auf den DOM-Baum
79
3.4.2 Manipulation eines DOM-Baumes
80
3.5 Rendern von XML-Dokumenten
82
3.6 Validierung gegen Document Type Definitions
83
3.6.1 Interner Verweis auf eine Document Type Definition
84
3.6.2 Validierung bei internen Document Type Definitions
85
3.6.3 Validierung bei externen Document Type Definitions
85
3.7 Unterstützung von Namensräumen
86
3.7.1 Namensraumunterstützung der XML-Library
87
3.7.2 Elementidentifikation mit Namensräumen
90
3.8 Ereignisbasiertes Parsen
91
3.8.1 SAX-Schnittstelle
91
3.8.2 Fallstricke
93
3.9 Service-Schnittstellen zur XML-Library
94
4 SXML-Parser
97
4.1 Reader- und Writer-Klassen
98
4.2 SXML-Parser
101
4.2.1 Zugriff über das Interface IF_SXML_NODE
102
4.2.2 Token-Modus
104
4.3 Anwendungsbeispiele
105
4.3.1 Verwendung von Binary XML
105
4.3.2 Ermittlung des Headers eines XML-Dokumentes
106
5 XSL-Transformationen
109
5.1 Integration von XSLT in die ABAP Workbench
110
5.1.1 Tag Browser
111
5.1.2 XSLT-Tester
111
5.1.3 Übergabe von Parametern im XSLT-Tester
112
5.1.4 XSLT-Debugger
113
5.2 Integration von XSLT in ABAP
114
5.2.1 Aufruf von XSLT aus ABAP
115
5.2.2 Aufruf von ABAP aus XSLT
117
5.2.3 Ausnahmebehandlung bei ABAP-Aufrufen von XSLT
122
5.3 Transformation von ABAP-Daten
123
5.4 SAP-spezifische Erweiterungen
127
5.4.1 Numerische Funktionen
127
5.4.2 String-Funktionen
128
5.4.3 XPath-Operatoren und Pfadausdrücke aus XPath 2.0
129
5.4.4 Kommandos für Nodesets
130
5.4.5 Weitere Funktionen
130
5.4.6 SAP-spezifische Einschränkungen
133
5.5 XSLT-2.0-Unterstützung
134
5.5.1 Definitionen von XPath-Funktionen und bedingte XPath-Ausdrücke
134
5.5.2 Gruppierung von XML-Elementen
135
5.5.3 Mehrere Ein- und Ausgabedokumente
139
5.5.4 Ausgabeformatierung
141
5.6 Generierung von Code
141
5.6.1 Text-Templates
142
5.6.2 Abstrakte Syntaxbäume von XPath-Ausdrücken
144
5.7 Tipps für die Praxis
145
5.7.1 Encoding
145
5.7.2 Performance
145
5.7.3 Erweiterungen
146
5.7.4 Modularisierung von Transformationsprogrammen
146
5.7.5 Konstruktion portabler Transformationen
147
6 Simple Transformations
149
6.1 Grundstruktur
150
6.2 Zugriff auf Datenobjekte
153
6.2.1 Zugriff auf elementare Datenobjekte
153
6.2.2 Datenwurzeln und Datenknoten
154
6.2.3 Attribute
156
6.2.4 Strukturen
156
6.2.5 Interne Tabellen
157
6.2.6 XML-Repräsentation von ABAP-Daten
160
6.3 Variablen und Parameter
161
6.3.1 Zuweisungen von Variablen und Parametern
161
6.3.2 Fallunterscheidungen mit Variablen
162
6.4 Bedingte Transformationen
162
6.4.1 Optionale Elemente und Attribute
163
6.4.2 Vorbedingungen, Bedingungen und Zusicherungen
165
6.4.3 tt:cond im Detail
168
6.4.4 Fallunterscheidung
171
6.4.5 Gruppierung
175
6.5 Mappings
180
6.5.1 Mapping-Attribut
181
6.5.2 Mapping mit Fallunterscheidungen
181
6.5.3 Bedingte Transformationen mit Variablen
183
6.5.4 Struktur-Mappings
184
6.6 Modulare Transformationsprogramme
185
6.6.1 Unter-Templates
186
6.6.2 Einbindung von Transformationen
186
6.6.3 Aufruf externer ST-Programme
186
6.7 Weitere Themen
186
6.7.1 Literale Inhalte
187
6.7.2 Namensräume
188
6.7.3 Typisierung
190
6.7.4 Best Practices
193
6.7.5 Ausblick auf weitere Entwicklungen
193
7 XML-Anwendungsbeispiele
195
7.1 Unit-Tests von XSLT-Programmen
195
7.1.1 Fallbeispiel: Komplexe Operation auf Knotenmengen
197
7.1.2 Zusammenfassung
201
7.2 Schematron-Implementierung
202
7.2.1 Speicherung der Schemata in eCATT-Containern
202
7.2.2 Ablauf der Generierung
205
7.2.3 Generierung der Validierungstransformation
207
7.2.4 Erzeugung von XSLT-Entwicklungselementen
210
7.2.5 Zusammenfassung
211
7.3 XSLT-Erweiterungen durch EXSLT
212
7.3.1 Überprüfung regulärer Ausdrücke
213
7.3.2 Zusammenfassung
215
7.4 REST-Webservices
215
7.4.1 Wiedergabe von Informationen über Kurzdumps
216
7.4.2 REST-Webservices in der Praxis
218
7.4.3 Zusammenfassung
221
7.5 Objektserialisierung
221
7.5.1 Anwendungsbeispiel Terminverwaltung
221
7.5.2 Stärken und Schwächen
225
7.5.3 Zusammenfassung
226
7.6 Domänenspezifische Sprachen
226
7.6.1 Anwendungsbeispiel Datumsberechnung
227
7.6.2 Zusammenfassung
232
7.7 XML als Dokumentenformat
232
7.7.1 Parsen von Excel-Dokumenten
233
7.7.2 Erstellung von WordML-Dokumenten
235
7.7.3 Erzeugung von PDF-Dateien mittels XSL-FO
237
7.7.4 Zusammenfassung
237
8 Metadaten und Semantic-Web-Technologien
239
8.1 Realisierung eines RSS-Feeds
241
8.1.1 Exponieren von ABAP-Kurzdumps als RSS-Feed
242
8.1.2 Erzeugung der RSS-Daten
246
8.1.3 Zusammenfassung
249
8.2 Resource Description Framework
249
8.2.1 Metainformationen für XML-Transformationen
250
8.2.2 Exponieren der Metadaten als REST-Webservice
258
8.2.3 Integration von Metadaten in XML-Dokumente
258
8.2.4 Zusammenfassung
263
8.3 Ontologien
263
8.3.1 Verwendungen zwischen Transformationen im AS ABAP
264
8.3.2 Reasoning in OWL
267
8.3.3 Generierung der Ontologie
269
8.3.4 Zusammenfassung
273
A Literaturverzeichnis
275
B Der Autor
278
Index
279