Sichere templategestützte Verarbeitung von XML-Dokumenten
-
Upload
falk-hartmann -
Category
Documents
-
view
451 -
download
2
description
Transcript of Sichere templategestützte Verarbeitung von XML-Dokumenten
![Page 1: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/1.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie
Dresden, 1. Juli 2011
Falk Hartmann
Verteidigung der Dissertation
![Page 2: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/2.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Motivierendes Beispiel
Fehler Nicht-wohlgeformtes XML Verletzung einfacher Typen Strukturell falsches XHTML
Folie 2
![Page 3: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/3.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Begrifflichkeiten
Folie 3
![Page 4: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/4.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Begrifflichkeiten
Folie 4
![Page 5: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/5.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Agenda
▪ Motivierendes Beispiel und Begrifflichkeiten
Sichere Template-VerarbeitungEntwurf einer generischen Slot Markup-Sprache Unterstützung der sicheren Template-ErstellungFlexible, effiziente und sichere Template-AusprägungValidierung
▪ Beiträge der Arbeit und Fazit
Folie 5
![Page 6: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/6.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Agenda
▪ Motivierendes Beispiel und Begrifflichkeiten
Sichere Template-Verarbeitung
Entwurf einer generischen Slot Markup-Sprache Unterstützung der sicheren Template-ErstellungFlexible, effiziente und sichere Template-AusprägungValidierung
▪ Beiträge der Arbeit und Fazit
Folie 6
![Page 7: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/7.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Ziele
Sichere ErstellungRückmeldung an den Autor über die Richtigkeit des Ausprägungsergebnisses in Bezug auf die Zielsprache
Sichere AusprägungKlare und ausreichende Rückmeldung von bei der Ausprägung auftretenden Problemen
Trennung der BelangeMöglichkeit arbeitsteiliger Entwicklung
Breite AnwendbarkeitVermeidung von Einschränkungen in Bezug auf Ziel- und Anfragesprachen sowie Anwendungsgebiete
Nutzung existierender StandardsWiederverwendung bestehender Sprachen, Werkzeuge und Prozesse
Folie 7
Sichere template-gestützte Verarbeitung
![Page 8: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/8.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Anforderungen
Erhaltung der Einschränkungen der ZielspracheÜbernehmen von Verboten der Zielsprache in die Templatesprache
Abdeckung der ZielspracheErmöglichen der Erzeugung aller Sätze der Zielsprache
AbleitbarkeitAutomatisches Ableiten der Grammatik der Templatesprache aus der Grammatik der Zielsprache
SteueranweisungenErlauben bedingter und wiederholter Ausprägung von Teilen der Templates
Typsicherheit der AusprägungsdatenErzwingen oder Überprüfen der korrekten Typen der Ausprägungsdaten
Unabhängigkeit von der AnfragespracheVermeiden von Annahmen über die Anfragesprache
Folie 8
![Page 9: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/9.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Ziele → Anforderungen
Beispiel:Trennung der Belange → Steueranweisungen:
Fehlende Steueranweisungen resultieren i.d.R. in mangelnder Trennung der Belange
Folie 9
![Page 10: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/10.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Lösungsarchitektur
Folie 10
![Page 11: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/11.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Anforderungen → Lösungsarchitektur
Beispiel:Unabhängigkeit von der Anfragesprache → Bestimmung der Ausprägungsdaten:
Spezielle Lösungsarchitekturkomponente zur Bestimmung der Ausprägungsdaten erleichtert Anpassung an Anfragesprachen
Folie 11
![Page 12: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/12.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Agenda
▪ Motivierendes Beispiel und Begrifflichkeiten
Sichere Template-VerarbeitungEntwurf einer generischen Slot Markup-Sprache
Unterstützung der sicheren Template-ErstellungFlexible, effiziente und sichere Template-AusprägungValidierung
▪ Beiträge der Arbeit und Fazit
Folie 12
![Page 13: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/13.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Entwurf einer generischen Slot Markup-Sprache
XTL – XML Template LanguageUniversell, syntax- und semantik-erhaltendAdressiert Fehlertyp
Sprachumfang• Erzeugung von Attributwerten, Text (xtl:attribute, xtl:text)• Bedingte und wiederholte Ausführung (xtl:if, xtl:for-each)• Makros • Einbettung kompletter XML-Fragmente• Unterstützung für multiple Ausprägungsdatenquellen• Unterstützung für mehrschrittige Ausprägung
Syntax• XML Schema
Semantik• Denotationell formuliert in Haskell• Zusätzlich translationale und operationelle Beschreibung
Folie 13
![Page 14: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/14.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Agenda
▪ Motivierendes Beispiel und Begrifflichkeiten
Sichere Template-VerarbeitungEntwurf einer generischen Slot Markup-Sprache Unterstützung der sicheren Template-Erstellung
Flexible, effiziente und sichere Template-AusprägungValidierung
▪ Beiträge der Arbeit und Fazit
Folie 14
![Page 15: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/15.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Grundidee der sicheren Erstellung
Adressiert Fehlertypen und
Folie 15
![Page 16: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/16.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Aufteilung der Einschränkungen
Folie 16
XML Schema ist nicht ausdrucksstark genug zur Beschreibung der Templatesprache → CXSD!
![Page 17: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/17.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Aufteilung der Einschränkungen
Zielsprachengrammatik
Erforderliche oder optionale Attribute
Templatesprachengrammatik
• Umwandlung in optionale Attribute• Erlauben von xtl:attribute im
Inhaltsmodell des Elternknotens• Einschränkung der erzeugbaren
Attribute (Namen)
Einschränkung der Ausprägungsdaten
• Typüberprüfung entsprechend Typ des Attributes
Folie 17
![Page 18: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/18.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Aufteilung der Einschränkungen
Zielsprachengrammatik
Simple Content (durch “einfache” Inhaltstypen eingeschränkter Elementinhalt)
Templatesprachengrammatik
• Umwandeln in Mixed Content• Erlauben von xtl:text im
Inhaltsmodell• Einschränkung des Textinhalts
entsprechend Inhaltstyp
Einschränkung der Ausprägungsdaten
• Typüberprüfung entsprechend Inhaltstyp
Folie 18
![Page 19: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/19.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Aufteilung der Einschränkungen
Zielsprachengrammatik
Elemente mit Kardinalität {0,1} oder {n,m}
Templatesprachengrammatik
• Ersetzen durch Alternative zwischen Ursprungselement und xtl:if oder xtl:for-each
• Einschränkung des Inhalts von xtl:if bzw. xtl:for-each auf Ursprungselement
Einschränkung der Ausprägungsdaten
• Überprüfung der Anzahl der Wiederholungen
Folie 19
![Page 20: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/20.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Agenda
▪ Motivierendes Beispiel und Begrifflichkeiten
Sichere Template-VerarbeitungEntwurf einer generischen Slot Markup-Sprache Unterstützung der sicheren Template-ErstellungFlexible, effiziente und sichere Template-Ausprägung
Validierung
▪ Beiträge der Arbeit und Fazit
Folie 20
![Page 21: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/21.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Eigenschaften der Template-Ausprägung
Flexibel• Plug in-Mechanismus für Anfragesprachen• Implementierungen für XPath, SPARQL, OCL
Effizient• Implementierung mit StAX (JSR-173)• Speicherbedarf wächst linear mit Anzahl der Knoten in größter zu
wiederholender Einheit im Template• Zeit wächst linear mit Größe des Ausprägungsergebnisses
Sicher• Ausprägungsdaten werden auf Typ und Multiplizität geprüft• Alternativer Ansatz: Generierung einer Template-Schnittstelle
Folie 21
![Page 22: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/22.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Generierung einer Template-Schnittstelle
Grundidee• Nutzung der Ausdrücke der Anfragesprache zur Erzeugung eines Modells
der Ausprägungsdaten• Gewährleistung der Richtigkeit der Ausprägungsdaten durch Transfer der
Datentypen aus dem XML- in das Java-Typsystem• Analog zur XML binding-Technologien (z.B. JAXB), aber neu für Templates
Konsequenzen• Einschränkung der Abfragesprache XPath auf umkehrbare Ausdrücke
• Beispiel:XPath-Ausdruck //a -> nicht anwendbar auf Java-Objekt-Modell
• Umkehrung der Datenbezugsrichtungpush statt pull-Strategie
Folie 22
![Page 23: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/23.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Agenda
▪ Motivierendes Beispiel und Begrifflichkeiten
Sichere Template-VerarbeitungEntwurf einer generischen Slot Markup-Sprache Unterstützung der sicheren Template-ErstellungFlexible, effiziente und sichere Template-AusprägungValidierung
▪ Beiträge der Arbeit und Fazit
Folie 23
![Page 24: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/24.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Validierungsmittel
Implementierung eines PrototypsAufteilung der Einschränkungen, Template-Validierung und -Ausprägung, Template Schnittstellen-Generierung
Testsuiteentsprechend ImplementierungÜbereinstimmung Template-Ausprägung mit denotationeller und translationaler Semantik
Anwendung der ImplementierungEinsatz in den Projekten SNOW, FeasiPLe und EMODE
Beweis der Erhaltung der Einschränkungen der ZielspracheInduktionsbeweis ausgehend von Algorithmus zur Aufteilung der Einschränkungen
Performance-MessungenLaufzeit der Template-Validierung, Laufzeit und Speicherbedarf der Template-Ausprägung, Vergleichsmessung mit JSP und XSL-T
Folie 24
![Page 25: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/25.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Validierungsmittel → Ziele
Beispiel:Performance-Messungen → Breite Anwendbarkeit:
Ist der Einsatz des Ansatzes praktisch vertretbar?
Folie 25
![Page 26: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/26.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Testsuite
Überprüfung der Implementierung im Hinblick auf die Ziele Sichere Erstellung und Sichere Ausprägung
• Vergleich der Ergebnisse der verschiedenen Komponenten mit hinterlegten, geprüften Ergebnissen
• Prüfung der Aufteilung der Einschränkungen, Validierung, Ausprägung, Generierung von Template-Schnittstellen und Round-Trip-Test
Folie 26
![Page 27: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/27.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Beweis der Erhaltung der Einschränkungen
VoraussetzungTemplate, welches der Template-Grammatik genügtAusprägungsdaten, welche den entsprechenden Einschränkungen genügen
BehauptungAusprägungsergebnis genügt der Zielsprachengrammatik
Folie 27
![Page 28: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/28.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Performance-Messungen
Laufzeit der TemplatevalidierungBasis: Template mit 2n Kindknoten mit erforderlichem Attribut,
• n Attribute direkt spezifiziert• n-1 Attribute mittels xtl:attribute erzeugt• 1 Attribute fehlt und wird nicht erzeugt
(Messung auf Intel 2 Duo 2.8 GHz, 4 MB RAM, MacOS 10.6.7, JDK 1.6.0_24)
Folie 28
![Page 29: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/29.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Agenda
▪ Motivierendes Beispiel und Begrifflichkeiten
Sichere Template-VerarbeitungEntwurf einer generischen Slot Markup-Sprache Unterstützung der sicheren Template-ErstellungFlexible, effiziente und sichere Template-AusprägungValidierung
▪ Beiträge der Arbeit und Fazit
Folie 29
![Page 30: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/30.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Beiträge
Weitere Beiträge• Definition des Begriffes Template• Klassifikation existierender Template-Ansätze
Entwurf einer universellen Slot Markup-Sprache• Syntax- und semantik-erhaltend• Unabhängig von konkreter XML-Zielsprache• Unabhängig von Anfragesprache• Denotationell definierte Semantik
Sichere Erstellung und Ausprägung• Überprüfung der Ausprägungsergebnisse soweit als möglich zur
Erstellungszeit• Direkte Überprüfung der Ausprägungsdaten zur Ausprägungszeit• Alternative: Generierung einer Template-Schnittstelle
Folie 30
![Page 31: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/31.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Fazit
Sichere Erstellung und Ausprägung sind mit dem gezeigten Ansatz möglich!
- Trennung der Belange, Breite Anwendbarkeit gegeben- Nutzung existierender Standards eingeschränkt erreicht
- Fehlerklasse adressiert durch Sprachentwurf der XTL- Fehlerklassen und adressiert durch Aufteilung der Einschränkungen
Folie 31
![Page 32: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/32.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Vielen Dank für Ihre Aufmerksamkeit!
Folie 32
![Page 33: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/33.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Verwandte Arbeiten
Templates: Mittel zur Erzeugung konkreter Syntax- Modell-zu-Text Transformationen- Anwendungsgebiete: Webapplikationen, Codegenerierung- Einfache Nutzung existierender Fragmente der konkreten Syntax
Verwandte Ansätze- Aspekt-orientierte Programmierung (XUpdate)
- Sicherheit ist Forschungsthema
- Transformationstechniken (XSL-T)- Erhalten die Syntax der Zielsprache nicht- Hoher Lernaufwand
- Binding-Techniken (JAXB)- Sicher per Definition- Fragmente konkreter Syntax müssen in anderen technologischen
Raum übersetzt werden- Verletzung der Trennung der Belange
Folie 33
![Page 34: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/34.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Verwandte Arbeiten (Vergleich)
Quelle 1 Quelle 2
Ziel
+
JSP
XUpd
ate
XSL-T
JAXB
XML Java any XML
XML(core)
XML(advice)XUpdate XML
XSL-T + XML XML’XPath XML
Java anyJava XML
Folie 34
![Page 35: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/35.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Definition Template-Begriff
Folie 35
![Page 36: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/36.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Klassifikation Template-Ansätze (1)
1. Target Language Awareness of Slot Markup- Syntax preserving
- Semantic preserving (TAL)- Semantic abusing (XMLC)
- Syntax destructing (Perl)2. Generality of Slot Markup
- Specific for a particular target language- Generic
3. Entanglement Index [Parr, 2006]- No modification of the model- No computations- No comparisons- No type assumptions- Separation of concerns
4. Instantiation Data Access Strategy- Push- Pull
Folie 36
![Page 37: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/37.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Klassifikation Template-Ansätze (2)
5. Query Language- Opaque vs. significant- Declarative vs. imperative- Domain specific vs. general purpose
6. Instantiatian Technique- Compiler- Interpreter
7. Reuse- Macros- Group inheritance
8. Further Features- Group interfaces- Newline handling
Folie 37
![Page 38: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/38.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
XTL - Beispiel
Folie 38
![Page 39: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/39.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Anwendung der Implementierung
SNOW- Benutzung der XTL als einfache Sprache für Dokumentationsautoren bei
EADS- Zwei Hauptkomponenten basierend auf der XTLEngine (Datenschicht,
Controller)- EADS Ingenieure schätzen Einfachheit der XTL
EMODE- Komplexe Transformationen auf Basis der XTLEngine- Nutzung der XTL zur Erzeugung von MXML (Flex) Applikationen
FeasiPLe- Codegenerierung aus Ontologien mittels SPARQL-Abfragen- Emulation der transitiven Hülle innerhalb eines PHP → Erweiterung von
SPARQL um die Fähigkeit zur Hüllenbildung
Folie 39
![Page 40: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/40.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
SNOW-Architektur
Folie 40
![Page 41: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/41.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Zeitbedarf Validierung
Folie 41
![Page 42: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/42.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Zeitbedarf Ausprägung
Folie 42
![Page 43: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/43.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Vergleich Zeitbedarf Ausprägung
Folie 43
![Page 44: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/44.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Speicherbedarf (1)
Folie 44
![Page 45: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/45.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Speicherbedarf (2)
Folie 45
![Page 46: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/46.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Fallunterscheidung Sichere Erstellung
Folie 46
![Page 47: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/47.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Klassifikation von Schemasprachen
1. Regular Tree Grammars (Relax NG)2. Restrained-Competition Tree Grammars3. Single-Type Tree Grammars (XML Schema)4. Local Tree Grammars (DTD)
Folie 47
![Page 48: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/48.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Vertikale und horizontale XML-Pipeline
Folie 48
![Page 49: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/49.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Pull parser vs. Push parser
Folie 49
![Page 50: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/50.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Push strategy vs. Pull strategy
Folie 50
![Page 51: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/51.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
ReadWindow Operationen
Folie 51
![Page 52: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/52.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Auswirkungen unpassender Ausdrucksstärke
Folie 52
![Page 53: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/53.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Sichere Erstellung: Prozessänderung
Folie 53
![Page 54: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/54.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Grundlage der operationellen Semantik
Folie 54
![Page 55: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/55.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Prinzip der translationalen Semantik
Folie 55
![Page 56: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/56.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Round-trip Test
Folie 56
![Page 57: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/57.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
OCL Constraint für erforderliche Attribute
Folie 57
![Page 58: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/58.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
OCL Constraint für Textinhalte
Folie 58
![Page 59: Sichere templategestützte Verarbeitung von XML-Dokumenten](https://reader033.fdocument.pub/reader033/viewer/2022061112/545708b8af795994188b4f68/html5/thumbnails/59.jpg)
Sichere templategestützte Verarbeitung von XML-Dokumenten
Unique Particle Attribution
XML Schema Part 1: StructuresA content model must be formed such that during validation of an element information item sequence, the particle component content contained directly, indirectly or implicitly therein with which to attempt to validate each item in the sequence in turn can be uniquely determined without examining the content or attributes of that item, and without any information about the items in the remainder of the sequence.
Folie 59