Einleitung
XML Sprachkonstrukte
XML Anwendungen
Stand und Ausblick
XML Helfer im Detail
Namensräume und XLink
HTML
SGML
XML
eXtensible
Markup
Language
W3C Recommendation,
10. Feb. 1998
von SGML, TEI, HTML Leuten
Basis für viele Dinge
nicht erweiterbar
nur einfache Struktur
keine Validierung
HTML Beispiel (1)
<HTML>
<HEAD>
<TITLE>Beispiel
</TITLE>
</HEAD>
<BODY>
<H1>Überschrift</H1>
<P>Ein Paragraph
mit Text ...</P>
</BODY>
</HTML>
HTML Beispiel (2)
<UL> <LI>Eine ungeordnete <LI>Liste <LI>it verschiedenen <LI>Punkten </UL>
total Erweiterbar
komplexe Struktur
strenge Validierung
Spezifikation: 200+ Seiten
XML Spezifikation: 40 Seiten
SGML Beispiel (1)
<!ELEMENT COMPANY - - (NAME?,PRODUCT?) > <!ELEMENT NAME - O (#PCDATA)> <!ELEMENT PRODUCT - - (ITEM*)> <!ELEMENT ITEM - O (#PCDATA)> <!ENTITY ... > <!ATTLIST COMPANY type (non-profit | limited | corp) >
SGML Beispiel (2)
<COMPANY type=corp > <NAME>All you want <PRODUCT> <ITEM>Apartments <ITEM>Automobiles <ITEM>... </PRODUCT> </COMPANY>
Teilmenge von SGML
einfache Spezifikation
offener Standard
HTML ähnlich
International, Unicode
Syntax Prüfbar
Validierbar
erweiterbar
effizient
schon Verfügbar
MS IE, Netscape
verbesserte Links, XLL
Style Sheets, XSL
kein Ersatz für SGML
kein Ersatz für HTML

Beispiel: .xml .dtd
<p secret="false">This sentence is in the content of an element whose type is "p"; the content is found between the start-tag and the end-tag. The paragraph has an attribute named "secret" whose value is "false". <IMG SRC="icon.jpg"/> is an empty element, distinguished by the fact that it ends with "/>".</p>
<!doctype book SYSTEM "book.dtd" [<!entity toc SYSTEM "toc.xml"> <!entity chap1 SYSTEM "d/c1.xml"> ]> <book> <head>&toc;</head> <body> &chap1; &chap2; </body></book>
<!doctype eg [<!entity xml "Extensible Markup Language"> ]>
<eg>The new &xml; standard is fully internationalized; the following are all examples of the digit "1": 1 (in ASCII), ١ (in Devanagari), १ (in Arabic), and ൧ (in Malayalam).</eg>
XML-Namespace,
Namensräume

XLink, XML Linking Language,
Verweise aus XML Dokumenten heraus

XPointer, XML Pointer Language,
Zeiger in XML Dokumente hinein

XPath, XML Path Language,
Wird in XSLT und XPointer benötigt,
Zeichenketten die einen bestimten Teil
eines XML Dokuments bezeichnen

XSL, Extensible Stylesheet Language
Stildefinitionen
XSLT, XSL Transformatons
XML Stiltransformationen

XML Schema: Structures, Datatypes
Bedingungen (Constraints) für Dokumentstrukturen und Datentypen

Document Type Definition
"wellformed" XML Dokumente
geht ohne DTD
"valid" XML Dokumente
nur bezüglich einer DTD
Referenz per URI oder Inline
XML verlangt korrekte Schachtelung der Elemente
leere Elemente sind speziell gekennzeichnet
nur ein einziges "root" Element
Attributwerte in Quotes
Entities brauchen eine DTD
Elementnamen sind Case-sensitiv
White-Space im Inhalt ist relevant
mehrere Zeichensätze sind verwendbar
es gibt nur wenige reservierte Zeichen
XML Deklaration
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
Deklaration des Dokumenttyps
<!doctype book SYSTEM fileurl > <!doctype memo [ ... ] > <!doctype html PUBLIC bezeichner url >
Dokument-Instanz
<book> <head> ... </head> <body> ... </body> </book>
Elemente
<!ELEMENT name Inhalt > <name> ... </name>
Attribute
<!ATTLIST element AttName AttTyp Default > <element AttName="wert" >
Entities
<!ENTITY name wert > &name; <!ENTITY % name wert > %name;
Character Data, CDATA
<![CDATA[ dies ist kein <tag/> ]]>
Parsed Character Data, PCDATA
Mischung aus CDATA und Elementen
Anweisungen, Processing Instructions
<?PHP ... ?>
Kommentare
<!-- ... -->
Leerraum, White-Space
ist im Inhalt signifikant
Folgen
(from, to, subject, message, signature)
Auswahl
(para|list|image)
Wiederholungsoperatoren
+ einmal oder mehr* nullmal oder mehr? nullmal oder einmal
beliebiger Inhalt
(#PCDATA)
beliebige Zusammensetzungen
(head, (p|list|image)*, div+, (#PCDATA|em|strong))
leeres Element
EMPTY
beliebiges Element
ANY
Attribut Typ
CDATA ZeichenkettenID BezeichnerIDREF Verweis auf BezeichnerIDREFS Folge von IDREFENTITY ENTITIES Folge von ENTITYsNMTOKEN NMTOKENS Folge von NMTOKENsENUMERATION Aufzählung von WertenNOTATION Festlegung von Wertformaten(EN|FR|GR) Enumeration, AufzählungAttribut Default
#IMPLIED wird von der Anwendung erkannt#REQUIRED muss angegeben werden#FIXED wert fester Wertwert DefaultwertBeispiel
jahr #FIXED "2000" lang (EN|FR|GR) "EN" bez #ID #IMPLIED href #CDATA #REQUIRED
Beschreibung des Dokumententyps
<?xml encoding="US-ASCII"?> <!ELEMENT personals (person)+> <!ELEMENT person (name,email*,url*,link?)> <!ATTLIST person id ID #REQUIRED> <!ELEMENT family (#PCDATA)> <!ELEMENT given (#PCDATA)> <!ELEMENT name (#PCDATA|family|given)*> <!ELEMENT email (#PCDATA)> <!ELEMENT url EMPTY> <!ATTLIST url href CDATA #REQUIRED> <!ELEMENT link EMPTY> <!ATTLIST link manager IDREF #IMPLIED subordinates IDREFS #IMPLIED>
XML Dokument entsprechend dieser DTD
<?xml version="1.0"?>
<!DOCTYPE personals SYSTEM "personal.dtd">
<personals>
...
<person id="K.TAMURA">
<name>
<family>TAMURA</family>
<given>Kent</given>
</name>
<!-- This URL is mail address.-->
<url href="mailto:kent@trl.ibm.co.jp"/>
<url href="mailto:tkent@jp.ibm.com"/>
<link manager="H.MARUYAMA"/>
</person>
</personals>
SVG Scalable Vector Graphics, Vektorgrafik
SMIL Synchronized Multimedia Integration Language
CML Chemical Markup Language
MML Mathematical Markup Language
RDF
Resource Description Framework
PICS, CDF, CRP
OSD Open Software Distribution
OASIS, Organization for the Advancement of Structured Information Standards
OFX, Open Financial Exchange
CommerceNet, EDI B2B, e-Commmerce Framework, EDI via XML
Ariba - cXML, Transaktionen: Aufträge, Rechnungen, Änderungsaufträge
finXML, XML für Finanzmärkte, Zinssätze, Währungsumtausch, Bonds, Geldmärkte, Anlagen, Optionen
Acord, XML Standards für die Versicherungswirtschaft
Rosettanet, IT supply chain alignment, server-to-server business exchange
OBI, Open Buying Initiative
Open Travel Alliance
Open Trading Protocol
Open Financial Excange
SAX
Simple API for XML
XML4J
XML-Parser in Java von IBM, mit DTD und DOM1,
ist in Xerces aufgegangen
msxml
XML-Parser in Java von Microsoft, mit DOM1 ohne DTD
Xalan,
Xerces
Tools der Apache XML Aktivitäten
Koala
XSL Processor, wird nicht mehr weiter entwickelt
Lotus
XSL Processor, ist in Xalan aufgegangen
14. Dezember 2000
XML 1.0,
W3C Recommendation, 10. Feb. 1998
Second Edition, 6. October 2000
XSL Transormations (XSLT) 1.0,
W3C Recommendation, 16. Nov. 1999
XML Path Language (XPath) 1.0,
W3C Recommendation, 16. Nov. 1999
XML Names, Namespaces in XML
W3C Recommendation, 17. Jan. 1999
Associating Style Sheets with XML documents
W3C Recommendation, 29. June 1999
XSL 1.0, (jetzt aufgeteilt)
W3C Candidate Recommendation, 21. November 2000
XML Linking Language (XLink),
W3C Candidate Recommendation, 3. July 2000
XML Base (XBase),
W3C Candidate Recommendation, 7. June 2000
XML Pointer Language (XPointer),
W3C Candidate Recommendation, 7. June 2000
XML Schema, Part 1 Structures, Part 2 Datatypes,
W3C Candidate Recommendation, 24. October 2000
XML Protocol,
W3C Working Group
XML Query,
W3C Working Group, Requirements Draft
XML Signature,
W3C and IETF Working Group
XML Forms,
W3C Working Group

Erleichtert die Verwendung verschiedener DTDs im gleichen Dokument.
Vordefinierte Namensräume
xml immer auf w3c/XML/namespace
und xmlns immer leer
Default Namespace xmlns="..."
Definierte Namespaces xmlns:spec="..."
Definition von spec,
xsl und html:
<X xmlns:spec="http://www.w3.org/specpath/" > <spec:tag ...> ... </spec:tag> </X>
<xml:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:html="http://www.w3.org/TR/REC-html40/" >
Verwendung
<em> ... </em> <latex:em> ... </latex:em> <HTML:A HREF="...">Beschreibung</HTML:A> <person HTML:href="..."> ... </person>

Am Anfang XLL, jetzt aufgeteilt in XLink und XPointer.
Verweise zwischen mehreren 'Resourcen'. Metadaten für Verweise. Eignung für Link-Datenbanken.
Auswahl des Namensraums für XLink
xmlns:xlink="http://www.w3.org/1999/xlink/namespace/"
Definition durch Attribut
<A xlink:type="simple" ... >oder Element
<xlink:simple href="..." ... > Inhalt </xlink:simple>
mögliche Typen sind
simple wie A in HTML extended erweitert, volles XLinklocator nur externer Verweisarc Mit Hinweisen über die Richtung von Linksresource lokaler Verweistitle nur zur BeschreibungLocator Attribut, Verweis
xlink:href="connector"
Verbinder, Connectors
URI#XPointer Client kümmert sich um Auflösung
URI|Xpointer Server kümmert sich um Auflösung
URI?CGI-Parameter
Anwendung
<L xmlns:xlink="http://www.w3.org/1999/xlink/namespace/" xlink:type="simple" xlink:href="http://host/path/doc.html#xyz" > text </L>
Verhaltensattribute von Links
xlink:show="..." Anzeigeverhalten
new Anzeige in neuem Fenster
replace Anzeige im aktuellen Fenster
embed Einfügen in das aktuelle Fenster
xlink:actuate="..." Aktivierungsverhalten
onLoad automatische AnzeigeonRequest Anzeige nur nach Benutzerwunschxlink:from="NMTOKEN"
xlink:to="NMTOKEN"
Beschreibung der Verlinkung bei arc
Verwendung zusammen mit xlink:role
xlink:role="NMTOKEN"
freie Zusatzinformationen, maschinenverwendbar
xlink:title="CDATA"
freie Zusatzinformationen für Menschen verwendbar
simple |
extended |
locator |
arc |
resource |
title |
|
|---|---|---|---|---|---|---|
type
|
X | X | X | X | X | X |
href
|
X | X | ||||
role
|
X | X | X | X | ||
title
|
X | X | X | X | ||
show
|
X | X | X | |||
actuate
|
X | X | X | |||
from
|
X | |||||
to
|
X |
<X xlink:type="extended" > <L xlink:type="locator" ROLE="TR" TITLE="Übersetzung" SHOW="NEW" HREF="/cgi-bin/xlate?term=Verweis" /> <L xlink:type="locator" ROLE="Kontext" TITLE="Links im Kontext" SHOW="REPLACE" HREF="link-spec.html#verweis" /> <L xlink:type="locator" ROLE="Bild" TITLE="Links in Bildern" SHOW="EMBED" HREF="bild.gif" /> <L xlink:type="locator" ROLE="Tutorium" TITLE="Link Tutorium" SHOW="NEW" HREF="xml-tut.html#ID(def-link)..DITTO,NEXT(3,P)" /> Verweise </X>
mit der DTD
<!ELEMENT X (#PCDATA|L)* > <!ELEMENT L EMPTY > <!ATTLIST X xlink:type CDATA #FIXED "extended" > <!ATTLIST L xlink:type CDATA #FIXED "locator" >
erzeugt (abhängig vom UA) u.U. folgendes Menue
- Übersetztung - Links im Kontext - Links in Bildern - Link Tutorium
<!ELEMENT A (#PCDATA) > <!ATTLIST A xmlns:xlink="http://www.w3.org/1999/xlink/namespace/" > <!ATTLIST A xlink:type "simple" > <!ATTLIST A xlink:href CDATA #REQUIRED > <!ATTLIST A xlink:show "replace" > <!ATTLIST A xlink:actuate "onRequest" >
Keine starke Veränderungen mehr in den Working Drafts des W3C.
© Universität Mannheim, Rechenzentrum, 1998-2001.
Heinz Kredel Last modified: Tue Feb 20 20:40:00 MET 2001