XML für Eilige
()
About this ebook
Related to XML für Eilige
Related ebooks
Software entwickeln mit C#, WPF und dem MVVM-Konzept Rating: 0 out of 5 stars0 ratingsBootstrap kurz & gut Rating: 0 out of 5 stars0 ratingsC++-Standardbibliothek - kurz & gut Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 16 Rating: 0 out of 5 stars0 ratingsLDAP für Java-Entwickler: Einstieg und Integration (Neuauflage) Rating: 0 out of 5 stars0 ratingsDynamische Webseiten: Einstieg in HTML, PHP und MySQL Rating: 0 out of 5 stars0 ratingsC# 10 – kurz & gut Rating: 0 out of 5 stars0 ratingsKompaktkurs C# 7 Rating: 0 out of 5 stars0 ratingsHTML5 kurz & gut Rating: 0 out of 5 stars0 ratingsJava – kurz & gut Rating: 0 out of 5 stars0 ratingsBigData mit JavaScript visualisieren: D3.js für die Darstellung großer Datenmengen einsetzen Rating: 0 out of 5 stars0 ratingsUML @ Classroom: Eine Einführung in die objektorientierte Modellierung Rating: 0 out of 5 stars0 ratingsTypo 3: Das Praxisbuch für Entwickler Rating: 0 out of 5 stars0 ratingsC++ – kurz & gut: Aktuell zu C++17 Rating: 4 out of 5 stars4/5Routineaufgaben mit Python automatisieren: Praktische Programmierlösungen für Einsteiger Rating: 0 out of 5 stars0 ratingsC++17: Praxiswissen zum neuen Standard. Von C++11 bis 17 Rating: 0 out of 5 stars0 ratingsWeb-Applikationen entwickeln mit NoSQL: Das Buch für Datenbank-Einsteiger und Profis! Rating: 0 out of 5 stars0 ratingsWindows PowerShell 5 – kurz & gut Rating: 0 out of 5 stars0 ratingsC# 8.0 – kurz & gut Rating: 0 out of 5 stars0 ratingsEinführung in SQL: Daten erzeugen, bearbeiten und abfragen Rating: 0 out of 5 stars0 ratingsPrinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Rating: 0 out of 5 stars0 ratingsModerne Datenzugriffslösungen mit Entity Framework 6 Rating: 0 out of 5 stars0 ratingsHitchhiker's Guide für Python: Best Practices für Programmierer Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsSQL-Abfragen optimieren: Was Entwickler über Performance wissen müssen Rating: 0 out of 5 stars0 ratingsTextverarbeitung mit Word 2013: Eingeben · Gestalten · Ausdrucken Rating: 0 out of 5 stars0 ratingsWindows PowerShell: Grundlagen & Scripting-Praxis für Einsteiger – Für alle Versionen Rating: 0 out of 5 stars0 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratingsEinstieg in HTML und Javascript: Mit vielen Beispielen und einfachen Browsergames Rating: 0 out of 5 stars0 ratings
Programming For You
Git kurz & gut Rating: 0 out of 5 stars0 ratingsDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Python kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5JavaScript kurz & gut Rating: 3 out of 5 stars3/5Weniger schlecht programmieren Rating: 4 out of 5 stars4/5Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsProgrammieren von Kopf bis Fuß Rating: 4 out of 5 stars4/5Python | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratingsSQL – kurz & gut Rating: 0 out of 5 stars0 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratingsLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsSQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Linux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsC++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsRichtig einsteigen: Excel VBA-Programmierung: Für Microsoft Excel 2007 bis 2016 Rating: 0 out of 5 stars0 ratingsAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5Einstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratingsC von Kopf bis Fuß Rating: 3 out of 5 stars3/5
Reviews for XML für Eilige
0 ratings0 reviews
Book preview
XML für Eilige - Helmut Vonhoegen
Helmut Vonhoegen
Teutoburger Straße
10 50678 Köln
E-Mail: hv@helmut-vonhoegen.de
Web: www.helmut-vonhoegen.de
ISBN: 978-3-00-043336-8
Copyright © 2013 Helmut Vonhoegen – Alle Rechte vorbehalten
E-Book Distribution: XinXii
www.xinxii.com
XML für Eilige
Helmut Vonhoegen
2. erweiterte Auflage
Inhaltsverzeichnis
Was ist XML?
Datenformat und Metasprache
Parser und Editoren
XML-Vokabulare
Die Sprachfamilie XML
XML-Dokumente
XML-Syntax
Namensräume
Erstes Beispiel für ein XML-Dokument
Prüfen der Wohlgeformtheit
Was ist XML-Schema?
Dokumenttyp-Definitionen
Von DTD zu XML-Schema
Schema für ein Bestellformular
Komplexe Typen
Abgeleitete Datentypen
Verknüpfung mit Dokumentinstanz
Komponenten und Datentypen
Inhaltsmodelle
Definition der Dokumentstruktur
Umgang mit Namensräumen
Regelung der Häufigkeit
Kompositoren
Entwurfswerkzeuge
Datentypen in XML Schema
Eingebaute und eigene Datentypen
Komplexe Typen
Benannt oder anonym?
Einfache Typen
Facetten
Ableitung durch Einschränkung
Liste erlaubter Werte
Muster und reguläre Ausdrücke
Listen und Vereinigungen
Ableitung von komplexen Typen
Offene Datentypen
Abstrakte Typen
Datentypen importieren
Warum sich Typisierung lohnt
Was ist XPath?
Knotenadressierung mit XPath
Vom Dokument zum Knotenbaum
Die verschiedenen Knotentypen
Lokalisierungspfade
Zugriff auf Attribute
Lokalisierungsstufen
Knotentest
Filtern mit Prädikaten
Was ist XSLT?
XSLT Basics
Elemente und Attribute von XSLT
Das Element
Template-Regeln
XSLT-Anweisungen
Zugriff auf Quelldaten
Ablauf der Transformation
Verzweigungen und Wiederholungen
Zahlenformatierung
XSLT–Stylesheets im Praxiseinsatz
XML-Übersetzer
Stylesheet-Design
Knotenkontrolle
Eingebaute Templates
Konfliktlösung
Benannte Templates
Template-Suchmuster
Datenübernahme
Iterationen
Parameterübergabe
Lokale und globale Variablen
Was sind XSL-Formatting Objects?
Transformation und Formatierung
Formatierungsobjekte
XSL-Bereichsmodell
Testumgebung für XSL
Aufbau eines XSL-Stylesheets
Baum der Formatierungsobjekte
Seitenaufbau
Seitenfolgen
Einfügen von Fließtext
Inline-Formatierungsobjekte
Verknüpfung mit dem Dokument
Ausgabe von Tabellen
Zellinhalte
Listen
Exkurs zu HTML5 und XHTML
Die Wiederbelebung von HTML
HTML vs XHTML
Aussichten
Kleines XML-Glossar
Was ist XML?
Alle arbeiten mit XML; es ist gut, sich damit auszukennen. Der Kern ist einfach und schnell erklärt. Seit nun mehr zehn Jahren hat sich XML, die Extensible Markup Language, als plattform-übergreifendes Datenformat und Basistechnologie unaufhaltsam ausgebreitet. Das hat in wachsendem Umfang die IT-Welt verändert.
Datenformat und Metasprache
Der Erfolg des Internets wäre ohne offene Standards wie TCP/IP, HTTP und HTML nicht möglich gewesen. Dieser Philosophie ist auch XML verpflichtet, ein Standard, mit dessen Hilfe beliebige Inhalte strukturiert und beschrieben werden, unabhängig von bestimmten Anwendungen und Plattformen. Die weltweite Geltung der XML-Sprachfamilie wird vom W3C - dem unabhängigen World Wide Web Consortium - gewährleistet und inzwischen von allen maßgeblichen Akteuren in der IT-Industrie anerkannt.
Zwei Motive haben die Entwicklung von XML befördert. Zum einen war die bereits seit 1969 für die Beschreibung von Dokumentstrukturen verwendete Standard Generalized Markup Language (SGML) für den Alltagsgebrauch zu komplex. Zum anderen erwies sich HTML, die einflussreichste der aus SGML abgeleiteten Auszeichnungssprachen, wegen des weitgehend fixierten Satzes von Elementtypen als nicht flexibel genug. Es fehlte ein solider Erweiterungsmechanismus. Neu hinzugefügte, aber nicht standardisierte HTML-Tags führten häufig zu Inkompatibilitäten mit vorhandenen Browserversionen.
XML ist dagegen von vornherein auf Erweiterung angelegt. Es gibt keine festgelegte Tag-Liste. Entwickler definieren ihre eigenen Tags oder greifen auf öffentlich verfügbare Vokabulare zurück, die für immer mehr Anwendungsbereiche angeboten werden. Sie werden mithilfe von Dokumenttyp-Definitionen (DTDs) oder XML-Schemas festgelegt.
Mit XML ist eine Syntax verfügbar, um strukturierte Datenbestände jeder Art mit verständlichen Auszeichnungen zu versehen. Diese sind nicht nur für Benutzer lesbar, sondern auch von Programmen auswertbar. Die Syntax ist einfach, aber streng. Daten und Auszeichnungen werden in Textform abgelegt. Damit steht zugleich ein Datenaustauschformat zur Verfügung, das universal einsetzbar ist. XML ist keine Programmiersprache, Elemente für die Steuerung von Programmabläufen fehlen. Meist wird XML als Auszeichnungssprache bezeichnet, aber von einer einfachen Auszeichnungssprache unterscheidet sie sich gerade durch die freie Erweiterbarkeit. XML ist deshalb im Kern eine Meta-Sprache zur Erzeugung von konkreten Auszeichnungssprachen. Ihre Stärke liegt darin, dass inhaltliche Strukturen in einer beliebigen Tiefe verschachtelt werden dürfen. XML wurde 1998 zum ersten Mal als Standard spezifiziert, die aktuellste Edition von 2008 finden Sie unter www.w3.org/TR/2008/REC-xml-20081126/.
Mit Hilfe von XML ist es zugleich möglich, den Inhalt und die Form eines Dokuments streng zu trennen. Während die Tag-Namen in HTML in der Regel über den Inhalt wenig aussagen, allenfalls etwas über die Gewichtung und die Art der Darstellung, erlaubt es XML, über die verwendeten Tag-Namen die Bedeutung von Daten zu benennen. Dagegen wird die Art der Darstellung, also die formale Seite, offen gelassen. So zusammengestellte Inhalte lassen sich in ganz unterschiedliche Darstellungsformen einkleiden. Unterschiedliche Stylesheets erlauben es beispielsweise, dieselben Inhalte auf einem PC oder einem Handy in der jeweils passenden Form auszugeben.
XML eignet sich gleichzeitig als universales Austauschformat zwischen unterschiedlichen Anwendungen und Plattformen. Während Text-Formate wie CSV nur zweidimensionale Tabellenstrukturen handhaben, erlaubt XML auch komplexe hierarchische Inhaltsmodelle, die ein Sachgebiet wesentlich gehaltvoller abbilden.
Parser und Editoren
XML wurde zunächst hauptsächlich für strukturierte Textdokumente eingesetzt. Heute gilt XML als Datenformat in allen Bereichen, in denen es um strukturierte Daten geht. Die Zahl der Programme, die XML-Dokumente erzeugen oder importieren, nimmt ständig zu. Die führenden Office-Anwendungen verwenden inzwischen für ihre Dokumente XML-Formate als Standard. Aufgrund des Textformats lassen sich XML-Dokumente im Prinzip mit jedem Texteditor erstellen. Komfortabler ist allerdings der Einsatz von XML-Editoren, etwa XMLSpy von Altova oder dem freien XML Notepad 2007 von Microsoft.
Um XML-Dokumente zu verarbeiten, sind XML-Prozessoren notwendig sind, die die Daten einlesen, auf formale Korrektheit und bei Bedarf auch auf inhaltliche Gültigkeit prüfen. Sie werden als Parser bezeichnet. Für die Ausgabe von XML-Dokumenten mit Hilfe von Stylesheets werden spezielle XSL(T)- und XPath-Prozessoren benötigt. All diese Prozessoren sind allgemein verwendbare Werkzeuge, die für beliebige XML-Dokumente nutzbar sind.
XML-Vokabulare
XML-Anwendung wird jede spezielle Auszeichnungssprache genannt, die in XML definiert ist. Es handelt sich um XML-Vokabulare oder Dokumenttyp-Definitionen für bestimmte Bereiche. Tabelle 1 enthält einige wichtige Beispiele:
Tabelle 1: Wichtige XML-Anwendungen
Die Sprachfamilie XML
Wer von XML spricht, meint häufig das ganze Bündel der Standards, die die Sprachfamilie XML bilden. Den schnellsten Zugang dazu finden Sie über www.w3.org/TR/#Recommendations. Dort sind alle Standards des W3C, die als Empfehlungen bezeichnet werden, zusammengestellt. Tabelle 2 gibt einen kurzen Überblick über die wichtigsten Standards.
Tabelle 2: Prominente Mitglieder der XML-Familie
XML-Dokumente
Laut der Empfehlung des W3C beschreibt XML eine Klasse von Datenobjekten, die XML-Dokumente genannt werden. Der vage Begriff Datenobjekt
bezieht sich dabei darauf, dass ein XML-Dokument nicht unbedingt eine Datei sein muss, sondern auch ein Teil einer Datenbank oder eines Datenstromes im Netz sein kann.
Physikalisch bestehen XML-Dokumente aus Speichereinheiten. Zunächst ist ein XML-Dokument nichts anderes