XML
Transcription
XML
h_da WS 2010/2011 XML Seite 1 XML – Was ist das? h_da WS 2010/2011 <html> <head/> <body style="background-color:white; background-image:url(" file:///D:/activities/PAPERS/FH_XML/documents/hg.gif")"> <META http-equiv="Content-Type" content="text/html; charset=UTF-16"> <h1 style="border-color:RED; color:red; font-size:24pt; fontweight:bold"/> CSS <span style="color:green; font-size:24.0pt; font-style:italic; fontweight:bold">Beispiel</span><span style="color:red; font-size:24.0pt; font-weight:bold"> Seite</span></h1> <p><span style="font-size:12.0pt">Saying What it Means: SemiAutomated (News) Media Annotation</span></p> </body> </html> Seite 2 XML – Was ist das? <?xml version="1.0" encoding="UTF-8"?> <!--Sample XML file generated by XML Spy 2007 sp2 (http://www.xmlspy.com)--> <!DOCTYPE memo SYSTEM "D:\BACKUP\PAPERS\documents\example.dtd"> h_da WS 2010/2011 <memo id=“M050001“ confidential =“no“ > <to>Müller</to> <from>Maier</from> <date>31.03.2009</date> <subject>XML-Vorlesung</subject> <para>Die nächste Vorlesung findet in einer Woche statt.</para> <para>Bis nächste Woche.</para> </memo> Seite 3 XML – Was ist das? XML steht für “eXtensible Markup Language“. Eine Auszeichnungssprache hat die Aufgabe: • logischen Bestandteile und den strukturellen Aufbau eines Dokuments zu beschreiben und Attribut-Werte-Paare der logischen Struktur zuzuordnen. h_da WS 2010/2011 XML ist eine • Metasprache für Auszeichnungssprachen, d.h. eine Sprache mit der Sprachen beschrieben werden können. Seite 4 XML – Was ist das? 1. XML steht für strukturierte Daten 2. XML ist Text, aber nicht zum Lesen 3. XML ist eine Familie von Techniken 4. XML ist neu, aber nicht so neu 5. XML ist modular h_da WS 2010/2011 6. XML ist die Basis für RDF und das Semantic Web 7. XML ist lizenzfrei, plattformunabhängig und gut unterstützt Seite 5 XML Extensible Markup Language Standardisierungsaktivitäten seit 1996. Derzeit gültige Spezifikation vom Februar 1998, Version 1.0. Extensible Markup Language (XML) 1.0 (Fifth Edition), 26 Novemer 2008 XML 1.1 (second edition), W3C Recommendation, 16. August 2006 , h_da WS 2010/2011 XML 1.1 ist ein Update von XML , der • XML unabhängig von einer Unicode Version macht. • Bezieht Prüfung auf Normalisierung ein. Seite 6 XML Extensible Markup Language Entwicklungen, die XML stark beeinflusst haben, sind HTML und SGML. HTML: HyperText Markup Language SGML: Standardized General Markup Language h_da WS 2010/2011 Nachteile von HTML - Sehr viele “Layout”-Elemente in HTML (FONT, CENTER, BGCOLOR) - Sehr allgemeiner und beschränkter Satz von Elementen - Sehr wenig Strukturierungsmöglichkeiten Seite 7 SGML - Hintergrund und allgemeiner Ansatz Hintergrund ist die Dokumenterstellung (Text-Dokumente) und die dabei auftretenden Kompatibilitätsprobleme bei Austausch und gemeinsamer Bearbeitung. Die Idee des “generalized markup”: Markup soll die Struktur statt physikalische Eigenschaften beschreiben Markup soll genau sein und unmissverständlich sein für Programme und Menschen (Goldfarb 1970) Ausgangspunkt war DCF/GML von IBM (Document Composition Facility / Generalized Markup Language) h_da WS 2010/2011 Das Ergebnis (SGML) zeichnet sich durch - Funktionale Komplexität und - Syntaktische Komplexität aus Seite 8 XML - Extensible Markup Language Überwindung dieser Nachteile durch: Trennung von Layout und Inhalts-Strukturierung Als Sprache eine Vereinfachung von SGML h_da WS 2010/2011 bessere Unterstützung von Link-Funktionalität (X-Link) Formatierungssprache (XSL) Seite 9 XML – Extensible Markup Language XML die Grundlage für das Definieren verschiedenartiger Dokumenttypen. h_da WS 2010/2011 Bei einem Dokumenttyp handelt es sich um einen Sammelbegriff für Dokumente gleicher Struktur, ähnlich einer Klasse. Der Begriff "erweiterbar" besagt, dass XML nicht auf eine Dokumentstruktur festlegt, sondern vielmehr die Definition einer beliebigen hierarchischen Struktur zulässt. Seite 10 XML – Extensible Markup Language • XML trennt die Form vom Inhalt. Außerdem ist XML • Einfach: Daten im XML-Format sind leicht lesbar, gut verständlich • Offen: XML ist ein W3C-Standard • Erweiterbar: Art und Anzahl der Tags sind nicht begrenzt. h_da WS 2010/2011 • Selbstbeschreibend: kein explizites Schema notwendig. • Maschinell lesbare Kontextinformationen: Der Aufbau der Tags, Attribute und Elemente bieten Kontextinformationen. Seite 11 XML – grundlegende Syntax Start- und End-Tags Die hierarchische Struktur eines XML-Dokuments wird durch Tags beschrieben. Sie - wie auch in HTML - treten paarweise als Start- und End-Tags auf und geben an, welche Rolle der dazwischen liegende Text hat. h_da WS 2010/2011 Beispiel: <xxx> ... Text ... </xxx> Seite 12 XML – grundlegende Syntax Im Gegensatz zu HTML ist XML „case-sensitive“, d.h. es wird zwischen Groß- und Kleinschreibung unterschieden: <xxx> und <Xxx> und <XXX> sind voneinander verschiedene Tags. Wenn ein Tag als <xxx> definiert ist, dann darf man nicht stattdessen <XXX> schreiben, und auch eine Kombination wie h_da WS 2010/2011 <XXX> ... falsch ... </xxx> ist syntaktisch nicht korrekt. Seite 13 XML – grundlegende Syntax Elemente können Attribute besitzen. Sie werden im Start Tag nach dem Tag-Bezeichner als durch „Whitespace“ getrennt Liste aufgeführt. Werte von Attributen werden zwischen Quotes-Zeichen eingeschlossen. Dabei darf entweder das ASCII-Zeichen Double-Quotes " oder das ASCIIZeichen Apostroph ' verwendet werden (natürlich nur paarweise, nicht vermischt). h_da WS 2010/2011 <xxx yyy="zzz" AA ="1"> <xxx yyy='zzz' AA= '1'/> Seite 14 XML – grundlegende Syntax Start- und End-Tags Alle Struktur-Elemente müssen durch paarweise Tags geklammert werden. Ist kein Inhalt vorhanden, gibt es ein spezielles Tag für „leere“ Elemente: h_da WS 2010/2011 <xxx/> Seite 15 XML – Processing Instructions <? PIO ... any text ... beliebiger Text ?> PIC Die Processing Instruction darf nur Text enthalten Der Text wird von einem Verarbeitungssystem interpretiert <? exec voice_recognition?> h_da WS 2010/2011 <?xml version="1.0" encoding="UTF-8"?> Processing Instructions können auch als Entities definiert werden. Seite 16 XML – Kommentare <!-- ... any text CO ... beliebiger Text --> CC Beispiel für einen Kommentar: <!-- declarations for <head> & <body> --> h_da WS 2010/2011 Ein Kommentar darf nicht enden mit: --->. Das Dokument ist in diesem Fall nicht well-formed. <!-- B+, B, or B---> Seite 17 XML – General Entity <!ENTITY S Name S EntityDef GEO S? > GEC Beispiel für eine Entity Deklaration: <!ENTITY Status "Das ist eine vorläufige Version"> h_da WS 2010/2011 Eine Entity Definition kann sein: ● ein Literal (siehe Beispiel) ● eine Entity reference Seite 18 XML – Entity Reference & Name ; Also, bezogen auf die vorhergehende Folie &Status; Ergibt an der referenzierenden Stelle wieder den Text h_da WS 2010/2011 Das ist eine vorläufige Version Seite 19 XML – CDATA Sections <![CDATA[ ... any text ... ]]> CDATA Sections -. Syntax-Definition [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '<![CDATA[‘ [20] CData ::= (Char* - (Char* ']]>' Char*)) h_da WS 2010/2011 [21] CDEnd ::= ']]>‘ Beispiel: <![CDATA[<Hallo>Hello, world!</Hallo>]]> Seite 20 XML – Version 1.0 vs. Version 1.1 • XML 1.0 basiert auf Unicode 2.0, d.h. in Elementbezeichnern, Attributnamen, Aufzählungswerten sind nur Zeichen aus Unicode 2.0 erlaubt. • XML 1.1 ist unabhängig von Unicode-Versionen: Alle Zeichen in h_da WS 2010/2011 Namen, die nicht verboten sind erlaubt. • XML 1.0 hat die LineEnd Konventionen von Mainframe Computern nicht unterstützt → Liste der LineEnd Zeichen wurde erweitert. (X85) Seite 21 XML – Version 1.0 vs. Version 1.1 XML 1.1 definiert Regeln für eine "full normalization". “Fully normalized” Dokumente erlauben Identitätsvergleiche von Namen, Attributwerten und Inhalt auf Binärbasis. Text ist „fully-normalized“, wenn: 1. Ist in UTF-8, UTF-16 oder UTF-32 codiert, enthält keine Zeichen- h_da WS 2010/2011 Escapes oder Includes, die diese Kodierung verletzen. 2. Ist der Text nicht Unicode codiert, und er wird transcodiert, erfüllt er die Bedingung 1. Seite 22 h_da WS 2010/2011 XML Sprachen XML Dialekt Beschreibung CC/PP Description of capabilities and preferences associated with a user and user agents. Servers use this information to customize content. CML Chemical Markup Language ebXML Electronic Business XML. A standard for electronic business. FIXML Financial Information Exchange XML for real time security transactions. Seite 23 h_da WS 2010/2011 XML Sprachen XML Dialekt Beschreibung ICE Information and content exchange. Controlled distribution of content to subscribers. LOTP Layered object transport protocol. MathML Mark up language for mathematical notation. P3P Platform for privacy preferences for websites that gives users more control of their information on websites. Seite 24 h_da WS 2010/2011 XML Sprachen XML Dialekt Beschreibung RDF Resource description framework for describing object relationships to facilitate integration of a variety of applications. SCML Service Creation Markup Language for scripting next generation network services. SMIL XML for authoring interactive audiovisual presentations. SOAP Simple object access protocol for accessing objects and services on the web. Seite 25 h_da WS 2010/2011 XML Sprachen XML Dialekt Beschreibung SVG XML for describing two-dimensional vector and mixed vector/raster graphics. tML Language for telecom network management. UDDI Language for registering and discovering services on the Web VoiceXML Markup language for supporting telephone and web speech applications. Seite 26 h_da WS 2010/2011 XML Sprachen XML Dialekt Beschreibung WML Wireless markup language designed for used with the WAP protocol. It is intended for use primarily with narrowband devices (low bandwidth connectivity and small displays). WSDL Web Services Description Language. WF-XML Workflow interoperability specification language for communicating data and workflow between workflow applications. WIDL Web Interface Definition Language for automating interactions with HTML/XML documents and forms. Seite 27 h_da WS 2010/2011 XML Sprachen XML Dialekt Beschreibung XHTML XML based version of HTML. LXML/EDI XML for electronic data interchange. XML Schemas (XSD) Structure, content, and semantic definition of XML documents. XPath Language for referring to parts of an XML document (used in XLT, XQuery, …). Seite 28 h_da WS 2010/2011 XML Sprachen XML Dialekt Beschreibung XQuery XML database query language. XSL Extensible style language for specifying how XML documents should be viewed. XMLP Peer-to-peer communication. Seite 29