E-Book, Deutsch, 680 Seiten
Reihe: mitp Professional
Grupe XML
1. Auflage 2018
ISBN: 978-3-95845-755-3
Verlag: mitp Verlags GmbH & Co.KG
Format: PDF
Kopierschutz: 0 - No protection
Grundlagen | Technologien| Validierung | Auswertung
E-Book, Deutsch, 680 Seiten
Reihe: mitp Professional
ISBN: 978-3-95845-755-3
Verlag: mitp Verlags GmbH & Co.KG
Format: PDF
Kopierschutz: 0 - No protection
Einer der wichtigsten technischen Standards der heutigen Zeit umfassend erklärt Daten sinnvoll strukturieren, ausgeben und analysieren Von den Grundlagen bis hin zu Informationen u.a. für Self-Publisher XML ist eine erweiterbare, flexible und einfach stukturierte Markup-Sprache, die in unterschiedlichsten Bereichen zum Einsatz kommt. Mittlerweile hat sich XML zu einem der am häufigsten verwendeten Formate entwickelt, in dem Daten gespeichert und transportiert werden. Dabei bietet XML beinahe unendliche Möglichkeiten, die Daten zu strukturieren, zu interpretieren oder zu konvertieren. Das umfassende Werk von Autor Wilfried Grupe bietet Ihnen einen fundierten Überblick und schlägt einen Bogen von den XML Basics über XPath, XQuery und Co. bis hin zu Best Practices.
Zielgruppe
Einsteiger, Interessierte, Studenten
Autoren/Hrsg.
Weitere Infos & Material
1;Inhalt;5
1.1;Einleitung;11
1.2;XML;13
1.2.1;XML-Basics;19
1.2.2;XML: Wohlgeformte Dokumente;23
1.2.3;XML-Version;23
1.2.4;XML Encoding;24
1.2.5;XML-Entitäten;26
1.2.6;XML-Kommentare;29
1.2.7;XML: Processing-Instruction;36
1.2.8;XML-Datenstrukturen;40
1.2.9;XML: Die Sache mit den Namespaces;48
1.2.9.1;Namespaces in XML-Dokumenten;53
1.2.9.2;Die XML-Namespace-Flut;56
1.2.9.3;Versionierung;59
1.2.9.4;XML: Automatischer Namespace-Report;61
1.2.10;Wie kommt XML überhaupt zustande?;64
1.2.11;XML auswerten mit VisualBasic.NET;67
1.3;XML-Validierung;70
1.3.1;XML-Validierung: Wozu?;73
1.3.2;XML: Klare Strukturen;79
1.3.3;Hohe Fehlertoleranz und die Folgen;80
1.3.4;So etwas brauche ich nicht ...;81
1.3.5;Interessenkonflikte;84
1.3.6;RelaxNG compact - Beispiel;89
1.3.7;RelaxNG - Beispiel;89
1.3.8;DTD - Beispiel;90
1.3.9;XML-Schema - Beispiel;91
1.3.10;DTD;92
1.3.11;XML-Schema;94
1.3.11.1;XML-Schema 1.0;97
1.3.11.1.1;xs:element name;101
1.3.11.1.2;xs:complexType;102
1.3.11.1.3;xs:simpleType;103
1.3.11.1.4;xs:element ref;105
1.3.11.1.5;xs:group;107
1.3.11.1.6;xs:unique, xs:key, xs:keyref, xs:selector, xs:field;111
1.3.11.1.7;xs:any, xs:anyType;113
1.3.11.1.8;xs:element abstract, substitutionGroup;117
1.3.11.1.9;elementFormDefault, attributeFormDefault;118
1.3.11.2;XML-Schema 1.1;118
1.3.11.3;XML-Schema Validierung in Java;130
1.3.11.4;XML-Schema: Datenvalidierung mit VisualBasic.NET;132
1.3.11.5;XML-Schema-Validierung mit ANT;135
1.3.11.6;XML-Schema-Datenvalidierung mit XProc;136
1.3.11.7;NVDL;137
1.4;XPath;139
1.4.1;XPath 3.0, XPath 2.0, XPath 1.0;140
1.4.2;XPath-Achsen;141
1.4.2.1;ancestor::*;143
1.4.2.2;ancestor-or-self::*;144
1.4.2.3;attribute::*;145
1.4.2.4;child::*;147
1.4.2.5;descendant::*;149
1.4.2.6;descendant-or-self::*;150
1.4.2.7;Verschachtelungstiefe;153
1.4.2.8;following::*;154
1.4.2.9;following-sibling::*;157
1.4.2.10;Positionsbestimmung bei following-sibling;157
1.4.2.11;namespace::*;160
1.4.2.12;parent::*;162
1.4.2.13;preceding::*;162
1.4.2.14;preceding-sibling::*;164
1.4.2.15;self::*;166
1.4.2.16;Automatische Generierung des XPath-Statements;166
1.4.2.17;XPath: Pfade, Prädikate;168
1.4.2.18;XPath-Operatoren;171
1.4.3;XPath-Funktionen;178
1.4.3.1;Zahlenfunktionen;200
1.4.3.1.1;avg();202
1.4.3.1.2;max();203
1.4.3.1.3;min();205
1.4.3.1.4;sum();207
1.4.3.1.5;Zahlen-Rundungsfunktionen;210
1.4.3.2;Zeit ist Geld;212
1.4.3.2.1;Toll, ein Kalender;219
1.4.3.3;Stringfunktionen;220
1.4.3.3.1;XPath: analyze-string;222
1.4.3.3.2;XPath: Codepoints;225
1.4.3.3.3;XPath: compare;229
1.4.3.3.4;XPath: concat;233
1.4.3.3.5;XPath: contains;234
1.4.3.3.6;XPath ends-with;238
1.4.3.3.7;XPath: lower-case;238
1.4.3.3.8;XPath: matches;239
1.4.3.3.9;XPath: normalize-space;240
1.4.3.3.10;Reguläre Ausdrücke;242
1.4.3.3.11;Reguläre Ausdrücke in Java;244
1.4.3.3.12;Reguläre Ausdrücke in C#.NET;245
1.4.3.3.13;XPath: replace;248
1.4.3.3.14;XPath: starts-with;249
1.4.3.3.15;XPath: string oder xs:string?;251
1.4.3.3.16;XPath: string-join;256
1.4.3.3.17;XPath: substring, string-length;258
1.4.3.3.18;XPath: substring-after;259
1.4.3.3.19;XPath: substring-before;260
1.4.3.3.20;XPath: tokenize;260
1.4.3.3.21;XPath: translate;264
1.4.3.3.22;XPath: upper-case;265
1.4.3.4;XPath: Sequenz-Funktionen;266
1.4.3.4.1;XPath: copy-of;267
1.4.3.4.2;count();268
1.4.3.4.3;XPath: data;268
1.4.3.4.4;XPath: distinct-values;271
1.4.3.4.5;XPath: exactly-one;272
1.4.3.4.6;XPath Sequenzen: concat, union, except, intersect;273
1.4.3.4.7;XPath: deep-equal;275
1.4.3.4.8;Der Vergleich von leeren Sequenzen mit leeren Strings;276
1.4.3.4.9;XPath: empty;277
1.4.3.4.10;XPath: exists;278
1.4.3.4.11;XPath: filter;279
1.4.3.4.12;XPath: for-each;280
1.4.3.4.13;XPath: for-each-pair;282
1.4.3.4.14;XPath: fold-left;284
1.4.3.4.15;XPath: fold-right;285
1.4.3.4.16;Anonyme Funktionen;287
1.4.3.4.17;head, tail, snapshot;288
1.4.3.4.18;XPath: index-of(), position(), last();291
1.4.3.4.19;XPath: in-scope-prefixes;293
1.4.3.4.20;XPath: insert-before;294
1.4.3.4.21;JSON;295
1.4.3.4.22;XPath: json-to-xml, xml-to-json;304
1.4.3.4.23;XPath: fn:json-doc;307
1.4.3.4.24;XPath: one-or-more;309
1.4.3.4.25;XPath: fn:parse-json;309
1.4.3.4.26;XPath 3.0: path;310
1.4.3.4.27;XPath: remove;311
1.4.3.4.28;XPath: reverse;313
1.4.3.4.29;RESTful Webservice;315
1.4.3.4.30;XPath: serialize;325
1.4.3.4.31;XPath: subsequence;326
1.4.3.4.32;unparsed-text-lines: CSV in XML konvertieren;328
1.4.3.4.33;XPath: zero-or-one;329
1.4.3.5;XPath 3.1: Map, xsl:map;330
1.4.3.6;XPath: transform;342
1.4.3.7;XPath 3.1: Array;345
1.4.3.8;available-environment-variables;357
1.4.3.9;system-properties;358
1.4.4;Der Namespace System.Xml.XPath;359
1.4.5;XPath in C#.NET;360
1.5;XSL;363
1.5.1;XSL-Übersicht;366
1.5.2;Funktionale Programmierung;368
1.5.3;XSL-Prozessoren;369
1.5.4;XSLT 3.0, XPath 3.0;372
1.5.5;xsl:accumulator;373
1.5.6;xsl:analyze-string;376
1.5.7;xsl:assert;377
1.5.8;xsl:attribute;378
1.5.9;xsl:attribute-set;379
1.5.10;xsl:apply-templates, xsl:next-match;381
1.5.11;xsl:apply-templates: Teilkonvertierung;386
1.5.12;xsl:for-each vs. xsl:apply-templates;388
1.5.13;xsl:call-template;389
1.5.14;xsl:character-map;390
1.5.14.1;Liste der Sonderzeichen selbst erstellen;391
1.5.14.2;Zeichensätze generieren mit C#.NET;395
1.5.15;xsl:choose;396
1.5.16;XSL-Analyse mit Collections;397
1.5.17;xsl:copy, xsl:copy-of;403
1.5.18;xsl:decimal-format;406
1.5.19;xsl:element;410
1.5.20;xsl:evaluate;412
1.5.21;xsl:fallback;414
1.5.22;xsl:fork;415
1.5.23;xsl:for-each select;416
1.5.24;xsl:for-each-group;419
1.5.25;xsl:function;430
1.5.26;xsl:if;431
1.5.27;xsl:include, xsl:import, xsl:apply-imports;432
1.5.28;xsl:import-schema;434
1.5.29;xsl:iterate, xsl:break;437
1.5.30;xsl:key;438
1.5.31;xsl:merge;440
1.5.32;xsl:message;443
1.5.33;xsl:namespace;444
1.5.34;xsl:number;446
1.5.35;Arbeiten mit optionalen Elementen;451
1.5.36;xsl:output;457
1.5.37;xsl:param;461
1.5.38;xsl:preserve-space, xsl:strip-space;467
1.5.39;xsl:result-document;469
1.5.40;sitemap.xml mit XSLT 3.0 generieren;470
1.5.41;xsl:sort, xsl:perform-sort, fn:sort;473
1.5.42;xsl:template;478
1.5.43;xsl:text;479
1.5.44;xsl:try/xsl:catch;480
1.5.45;xsl:value-of;482
1.5.46;xsl:variable;483
1.5.47;Schattenkabinett;486
1.5.48;XSLT 2.0: Erweiterte Syntax;488
1.5.49;XSLT-Konvertierung von XML nach HTML;490
1.5.49.1;Arbeiten mit xsl:for-each;490
1.5.49.2;Einbindung externer XML-Dokumente;493
1.5.49.3;Arbeiten mit xsl:apply-templates;496
1.5.49.4;Arbeiten mit xsl:template name/xsl:call-template;498
1.5.49.5;Spaltenweises Programmieren einer Tabelle;500
1.5.49.6;Spaltenweises Programmieren: pro Ort;505
1.5.50;Konvertierung von XML nach XML;507
1.5.50.1;Konvertierung von Elementen in Attribute;512
1.5.50.2;Arbeit mit temporären Bäumen;513
1.5.50.3;Erzeugen von skalierbaren Vektor-Grafiken (SVG);516
1.5.50.4;C#.NET in XSLT aufrufen;522
1.5.51;Konvertierung von XML nach Text;525
1.5.52;XSL-Transformationsaufrufe;529
1.6;XQuery;532
1.6.1;Was ist XQuery?;534
1.6.2;Arbeit mit Sequenzen;534
1.6.3;XSD-Type-Cast;535
1.6.4;Sortierung einer Sequenz;536
1.6.5;Arbeiten mit Variablen;539
1.6.6;XQuery: Arbeiten mit XML-Input;540
1.6.7;WHERE;541
1.6.8;XQuery: WHERE und Nummerierung;542
1.6.9;Geschachtelte Schleifen;545
1.6.10;FLOWR;546
1.6.11;XQuery: Element-Konstruktor;547
1.6.12;Vereinigte Sequenzen;548
1.6.13;XQuery: concat, union, intersect, except;549
1.6.14;XQuery: Generierung von 3erGruppen;551
1.6.15;XQuery: Arbeiten mit Namespaces und Funktionen;552
1.6.16;XPath 3.1: Arrays in XQuery;555
1.6.17;XQuery 3.0: switch/case;559
1.6.18;XQuery 3.0: try/catch;560
1.6.19;XQuery 3.0: Gruppierungen mit group by;560
1.7;XML-Datenbanken;564
1.7.1;XML und Datenbanken;566
1.7.2;Der relationale Ansatz;566
1.7.3;XML-Dokumente in ORACLE 11g verwalten;575
1.7.4;XML-Datenbank: BaseX;577
1.7.5;Datenbank: INSERT und UPDATE;581
1.8;XProc;583
1.9;XML testen;588
1.9.1;Geistreich, aber falsch gerechnet?;590
1.9.2;Selenium;598
1.9.3;Detailtests mit Schematron;600
1.9.4;XSLT Unit Tests mit XSpec;605
1.10;XML-Datenaustausch;607
1.10.1;XML als Datenaustauschformat;607
1.10.2;Datenübertragung;610
1.10.3;XÖV: XML in der öffentlichen Verwaltung;613
1.10.4;Internet der Dinge (IoT);614
1.10.5;Objekt-Serialisierung mit C#.NET;616
1.10.6;Objekt-Serialisierung mit VisualBasic.NET;623
1.10.7;Objektserialisierung mit Java;627
1.10.8;JAXB;630
1.10.9;JAXB - XSLT - JAXB;638
1.10.10;XML auswerten mit Java-SAX;640
1.10.11;Java: DOM-Programmierung;642
1.10.12;JDOM-Programmierung;644
1.10.13;StAX;646
1.10.14;Maintenance;648
1.10.15;Best Practices;653
1.11;Formatting Objects (FO);655
1.11.1;Die Struktur von Formatting Objects (FO);658
1.11.2;XSL-FO;662
1.11.3;Arbeiten mit XSL 3.0 und FOP;664
1.11.4;FOP mit ANT;667
1.12;Ratschläge für einen schlechten Programmierer;670