33
Tutorial zu Kapitel WT:III III. Dokumentsprachen HTML CSS XML-Grundlagen XML-Dokumentstruktur Document Type Definition (DTD) Namespaces XML-Schema XSL-Familie XPath XSLT Die nach folgenden Erklärungen basieren auf W3C XML 1.0. Vereinfachungen an verschiedenen Stellen sollen das grundsätzliche Verständnis erleichtern. T–WT:III-24 Document Languages © Lettmann 2014-2016

Tutorial zu Kapitel WT:III - cs.uni-paderborn.de fileJedes Attribut besteht aus der Angabe des Attributnamens und einer Wertzuweisung. q Der Wert ist in einfache oder doppelte Anführungszeichen

  • Upload
    vuhanh

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Tutorial zu Kapitel WT:III

III. Dokumentsprachenq HTMLq CSSq XML-Grundlagen

– XML-Dokumentstruktur– Document Type Definition (DTD)– Namespaces

q XML-Schemaq XSL-Familie

– XPath– XSLT

Die nach folgenden Erklärungen basieren auf W3C XML 1.0. Vereinfachungen an verschiedenen

Stellen sollen das grundsätzliche Verständnis erleichtern.

T–WT:III-24 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur

0. Vorbemerkung

(a) Angabe von URIs

Wenn in einem XML-Dokument die Angabe einer URI erforderlich ist, kann diese Angabein Form einer relativen URL erfolgen.

Eine relative URL wird mit Hilfe der Document Base URL (URL, unter der dasXML-Dokument selbst im Web verfügbar ist) zu einer absoluten URL vervollständigtwerden.

T–WT:III-25 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur (Fortsetzung)

0. Vorbemerkung

(c) Namen

XML erlaubt in Namen neben lateinischen Buchstaben eine Vielzahl von Zeichen,darunter Umlaute und andere sprachspezifische Zeichen, z.B. griechische oderkyrillische Buchstaben mit und ohne Betonungsangaben wie Akzenten.

Einschränkung für Namen

Um Falschinterpretationen von Namensbestandteilen und Zeichensatzprobleme beiDateien zu vermeiden, schränken wir Namen ein. Erlaubt sind nur lateinische Groß- undKleinbuchstaben und Unterstrich, zusätzlich Ziffern und Trennzeichen, wenn sie nicht amAnfang stehen. Zur Kompatibilität mit Namensräumen können zwei Namen ohneDoppelpunkt (Präfix und lokaler Name) mit Hilfe des Doppelpunktes zu einem Namenverknüpft werden.

Eingeschränkte Grammatik:Name ::=

NCName | NCName ":" NCName

NCName ::=NameStartChar NameChar*

NameStartChar ::=[A-Z] | [a-z] | "_"

NameChar ::=[A-Z] | [a-z] | [0-9] | "_" | "-"

T–WT:III-26 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur: Gesamtdokument

1. XML-Dokument

Grammatik:document ::=

prolog element misc*

prolog ::=XMLDecl misc* doctypedecl? misc*

misc ::=( comment | processing-instruction )*

Eine XML-Dokument besteht aus einem Prolog mit zumindest einer XML-Deklaration. Aufden Prolog folgt genau eine Elementinstanz.Vor und nach der Elementinstanz (aber auch darin) sind Kommentare undVerarbeitungsanweisungen möglich.

Beispiel:<?xml version="1.0"?>

<!-- A very simple example! -->

<myRoot></myRoot>

T–WT:III-27 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur: Dokumenten-Prolog

2. XML-Deklaration

Grammatik:XMLDecl ::=

"<?xml" VersionInfo EncodingDecl? StandaloneDecl? "?>"

Eine XML-Deklaration kennzeichnet ein Dokument als XML Dokument.

q VersionInfo

Die Versionsinformation hat meist die Form version="1.0" oder version="1.1".

q EncodingDecl

Als Zeichensatzkodierung findet sich oft encoding="UTF-8" oderencoding="ISO-8859-1".

q StandaloneDecl

Für die Angabe, ob externe Ressourcen verwendet werden, ist als Wert nurstandalone="yes" oder standalone="no" möglich.

Beispiel:<?xml version="1.0" encoding="UTF-8" standalone="no"?>

T–WT:III-28 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur: Dokumenten-Prolog (Fortsetzung)

3. XML-Dokumenttyp-Deklaration

Grammatik:doctypedecl ::=

"<!DOCTYPE" Name ("SYSTEM" URL-External-DTD)?("[" DTD-intSubset "]")? ">"

Optional legt eine XML-Dokumenttyp-Deklaration eine DTD für ein XML Dokument fest.

q URL-External-DTD

Die Angabe einer DTD in einer externen Ressource erfolgt durch eine URI, also i.d.R.durch eine URL.

q DTD-intSubset

Als internes Subset wird eine DTD angegeben, die genauso aufgebaut ist wie in einerexternen Datei.

q Wenn eine externe DTD angegeben wird und ein internes Subset, werden beide Teile zueiner DTD zusammengefasst.

Beispiel:<!DOCTYPE myRoot SYSTEM "http://www.upb.de/webis2016-example.dtd">

oder<!DOCTYPE myRoot [ <!ELEMENT myRoot (#PCDATA)> ]>

T–WT:III-29 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur: Dokumenten-Body

4. Elementinstanz

Grammatik:element ::=

EmptyElemTag | STag content ETag

EmptyElemTag ::="<" Name ( Attribute )* "/>"

STag ::="<" Name ( Attribute )* ">"

ETag ::="</" Name ">"

Ein XML-Dokument besteht aus nur genau einer Elementinstanz, dem sogenanntenWurzelelement. Eine Elementintanz wird durch öffnendes und schließendes Tag oder durchein Kombi-Tag gekennzeichnet. Im Inhalt content einer Elementinstanz können weitereElementinstanzen und/oder textueller Inhalt geschachtelt sein.

Beispiel:<myRoot>

Some text. <myChild> Some more text. </myChild></myRoot>

T–WT:III-30 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur: Dokumenten-Body (Fortsetzung)

5. Attribute in Elementinstanzen

Grammatik:Attribute ::=

Name "=" AttValue

Im öffnenden Tag oder im Kombi-Tag einer Elementinstanz können Attribute enthalten sein.Jedes Attribut besteht aus der Angabe des Attributnamens und einer Wertzuweisung.

q Der Wert ist in einfache oder doppelte Anführungszeichen eingeschlossen.

q Enthält der Attributwert doppelte Anführungszeichen, so muss er in der Zuweisung ineinfache Anführungszeichen eingeschlossen werden und umgekehrt. Beide Arten vonAnführungszeichen darf er nicht enthalten.

q Attributwerte können Entityreferenzen (z.B. &le;) und Zeichenreferenzen (z.B. &#x20)enthalten.

q Ein Attributname darf innerhalb eines Tag nur einmal auftreten, mehrfache Verwendungin einem Tag ist nicht erlaubt.

Beispiel:<myElement1 myAttribute1="value" ... > ... </myElement1>

oder<myElement2 myAttribute1="value" myAttribute2="a second value"/>

T–WT:III-31 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur: Dokumenten-Body (Fortsetzung)

6. Verarbeitungsanweisungen (Processing Instructions)

Grammatik:processing-instruction ::=

"<?" PITarget Char* "?>"

Eine XML-Verarbeitungsanweisungen veranlasst die Bearbeitung eines XML-Dokumentes miteiner Applikation.

q PITarget

Die Applikation wird durch einen Namen angegeben. Dieser Name darf aber nicht "XML"sein (oder Varianten davon mit Kleinbuchstaben).

q Char*Auf den Namen der Applikation kann eine beliebige Zeichenkette folgen, die z.B.Parameter der Applikation spezifiziert. In dieser Zeichenkette dürfen keine Entitiesverwendet werden und auch nicht die Zeichenkette "?>".

Beispiel:<?xml-stylesheet type="text/xsl" href="personen2html.xsl"?>

T–WT:III-32 Document Languages © Lettmann 2014-2016

XML-GrundlagenXML-Dokumentstruktur: Dokumenten-Body (Fortsetzung)

7. Kommentare

Grammatik:comment ::=

"<!--" Char* "-->"

Eine XML-Kommentar wird beim Einlesen eines Dokumentes mit verarbeitet und nichteinfach ignoriert. Auf diese Weise können Kommentare bei der Bearbeitung vonXML-Dokumenten berücksichtigt werden. Allerdings ist nicht sichergestellt, das derKommentartext für eine Applikation zugreifbar ist.

q Char*Als Kommentartext kann eine beliebige Zeichenkette verwendet werden. In dieserZeichenkette dürfen keine Entities verwendet werden und auch nicht die Zeichenkette"--" (zwei Bindestriche).

Beispiel:<!-- Ein Beispielkommentar. -->

T–WT:III-33 Document Languages © Lettmann 2014-2016

XML-GrundlagenWohlgeformte XML-Dokumente

1. XML-Prolog im Dokument

2. genau ein Wurzelelement

3. balancierte und geschachtelte (unverschränkte) Tags

4. Attributnamen eindeutig pro Element, Wertzuweisungen in Anführungszeichen

5. keine Kommentare und Verarbeitungsanweisungen in Tags

...

Valide XML-Dokumente

1. wohlgeformtes Dokument

2. DTD oder Referenz auf DTD im Dokument

3. Dokumenteninhalt ist konform mit angegebener DTD

T–WT:III-34 Document Languages © Lettmann 2014-2016

DTDDocument Type Definition (DTD)

Eine DTD deklariert die Textauszeichnungen (Markups) für ein XML-Dokument.

1. Namen in Auszeichnungen (Elementnamen und Attributnamen),

2. Modell der Inhalte von Elementen,

3. Datentypen von Attributwerten und Verwendung von Attributen,

4. Entities als Abkürzungen für Zeichenketten (Sonderzeichen oder oft benötigte langeZeichenketten) im Inhalt von Elementinstanzen oder Attributwerten.

Die Deklaration erfolgt im XML-Dokument (internal subset) oder in einer Datei (Inhalt wie internalsubset).

Grammatik:

DTD-intSubset ::=MarkupDecl*

MarkupDecl ::=ElementDecl | AttListDecl | EntityDecl | Comment

Kommentare nach XML-Syntax können in der DTD verwendet werden, aber nicht innerhalb von

Deklarationen.

T–WT:III-35 Document Languages © Lettmann 2014-2016

XML-GrundlagenDocument Type Definition (DTD): Elementdeklaration

Grammatik:

ElementDecl ::="<!ELEMENT" Name ContentSpec ">"

ContentSpec ::="(#PCDATA)" | "EMPTY" | "ANY" | Children | Mixed

Eine DTD-Elementdeklaration legt fest, welcher Inhalt zwischen öffnendem und schließendem Tagfür den Elementtyp / das Element mit dem angegebenen XML-Namen Name erwartet wird.Insgesamt fünf Inhaltsmodelle sind möglich.

q "(#PCDATA)" – einfacher InhaltZwischen öffnendem und schließendem Tag sind Zeichenketten erlaubt (auch Länge 0, aberkein Markup, d.h. Verwendung von "&lt;" statt "<" und von "&amp;" statt "&").

q "EMPTY" – leerer InhaltZwischen öffnendem und schließendem Tag ist kein Inhalt (auch keine Leerzeichen) erlaubt.Es kann das Kombitag <..../> verwendet werden.

q "ANY" – beliebiger InhaltZwischen öffnendem und schließendem Tag sind Zeichenketten (wie bei einfachem Inhalt)und beliebige Elementinstanzen erlaubt. Die Kindelemente müssen in der DTD deklariertsein und gemäß ihren jeweiligen Deklarationen aufgebaut sein.

T–WT:III-36 Document Languages © Lettmann 2014-2016

XML-GrundlagenDocument Type Definition (DTD): Elementdeklaration (Fortsetzung)

Grammatik:

ElementDecl ::="<!ELEMENT" Name Children ">"

Children ::= (Choice | Sequence) ("?" | "*" | "+")?

Choice ::= "(" cp ( "|" cp )+ ")"

Sequence ::= "(" cp ( "," cp )* ")"

cp ::= (Name | Choice | Sequence) ("?" | "*" | "+")?

Eine DTD-Elementdeklaration legt fest, welcher Inhalt zwischen öffnendem und schließendem Tagfür den Elementtyp / das Element mit dem angegebenen XML-Namen Name erwartet wird.Insgesamt fünf Inhaltsmodelle sind möglich.

q Children – explizite KindelementeErlaubt sind Listen (Sequence, mindestens ein Element) oder Alternativen (Choice,mindestens zwei Alternativen) von Kindelementen.

Listen und Alternativen können geschachtelt werden sowie mit Anzahl-Constraints versehenwerden(ohne Angabe genau einmal, "*" beliebig oft, "+" mindestens einmal, "?" keinmaloder einmal, d.h. optional).

(Auch bei Schachtelung von Listen und Alternativen sind die angegebenen Elemente immerdirekte Kindelemente.)

T–WT:III-37 Document Languages © Lettmann 2014-2016

XML-GrundlagenDocument Type Definition (DTD): Elementdeklaration (Fortsetzung)

Grammatik:

ElementDecl ::="<!ELEMENT" Name Mixed ">"

Mixed ::="(" "#PCDATA" ("|" Name)* ")*"

Eine DTD-Elementdeklaration legt fest, welcher Inhalt zwischen öffnendem und schließendem Tagfür den Elementtyp / das Element mit dem angegebenen XML-Namen Name erwartet wird.Insgesamt fünf Inhaltsmodelle sind möglich.

q Mixed – gemischter InhaltZwischen öffnendem und schließendem Tag sind Zeichenketten (wie bei einfachem Inhalt)und Elementinstanzen erlaubt. Die möglichen Kindelemente sind aufgelistet, sie können aberin beliebiger Reihenfolge und Anzahl auftreten.

Beispiel:<!ELEMENT a ( #PCDATA | b | c | d )* >

In eine Elementinstanz von a können Zeichenketten und beliebig viele Kindelemente vom Typb, c und d in beliebiger Reihenfolge und Häufigkeit auftreten.

T–WT:III-38 Document Languages © Lettmann 2014-2016

XML-GrundlagenDocument Type Definition (DTD): Attribut(listen)deklaration

Grammatik:

AttListDecl ::="<!ATTLIST" ElementName AttDef* ">"

AttDef ::=AttributeName AttType DefaultDecl

Eine DTD-Attributlistendeklaration legt fest, welche Attribute für einen Elementtyp / dein Elementerlaubt sind. Außer dem Namen der Attribute werden die möglichen Werte (Attributtyp) und dieVerwendung (Default-Deklaration) festgelegt.

q ElementName, AttributeName

Für Element und Attribut sind nur XML-Namen zulässig.

q DefaultDeclDefault-Deklaration SemantikKeyword Default Verwendung Wert, falls Attribut fehlt

#IMPLIED optional unbekannt#REQUIRED obligatorisch —

Attribut darf nicht fehlen."Wert " optional Default-Wert

#FIXED "Wert " optional Default-WertAttributwert darf nur Default-Wert sein.

T–WT:III-39 Document Languages © Lettmann 2014-2016

XML-GrundlagenDocument Type Definition (DTD): Attribut(listen)deklaration (Fortsetzung)

Grammatik:

AttListDecl ::="<!ATTLIST" ElementName AttDef* ">"

AttDef ::=AttributeName AttType DefaultDecl

Eine DTD-Attributlistendeklaration legt fest, welche Attribute für einen Elementtyp / dein Elementerlaubt sind. Außer dem Namen der Attribute werden die möglichen Werte (Attributtyp) und dieVerwendung (Default-Deklaration) festgelegt.

q AttType (vereinfacht)

Datentyp für Attribut mögliche WerteCDATA beliebige ZeichenkettenID, IDREF NamenNMTOKEN Zeichenketten fast wie NamenIDREFS Listen von Namen, durch Leerzeichen getrenntNMTOKENS Listen von Zeichenketten fast wie Namen,

durch Leerzeichen getrennt(Wert1|Wert2|Wert3) nur aufgezählte Werte, Werte selbst

jeweils Zeichenketten fast wie Namen

T–WT:III-40 Document Languages © Lettmann 2014-2016

XML-GrundlagenDocument Type Definition (DTD): Entitydeklaration

Grammatik:

EntityDecl ::="<!ENTITY" Name EntityValue ">"

EntityRef ::="&" Name";"

Eine DTD-Entitydeklaration legt einen Namen für eine Zeichenfolge fest.

Enities werden verwendet, indem eine Entityreferenz angegeben wird. Dies kann überall dortgeschehen, wo Zeichenketteninhalt vorgesehen ist (in Elementen zwischen öffendem undschließendem Tag und in Attributwerten).

q Der Wert in EntityValue ist in einfache oder doppelte Anführungszeichen eingeschlossen.

q Enthält die Zeichenfolge doppelte Anführungszeichen, so muss sie in der Deklaration ineinfache Anführungszeichen eingeschlossen werden und umgekehrt. Beide Arten vonAnführungszeichen darf die Zeichenkette nicht enthalten.

q Der Wert in EntityValue kann Entityreferenzen (z.B. &le;) und Zeichenreferenzen (z.B.&#x20) enthalten.

T–WT:III-41 Document Languages © Lettmann 2014-2016

Tutorial zu Kapitel WT:III

III. Dokumentsprachenq HTMLq CSSq XML-Grundlagen

– XML-Dokumentstruktur– Document Type Definition (DTD)– Namespaces

q XML-Schemaq XSL-Familie

– XPath– XSLT

Die nach folgenden Erklärungen basieren auf W3C Namespaces in XML 1.1. Vereinfachungen an

verschiedenen Stellen sollen das grundsätzliche Verständnis erleichtern.

T–WT:III-42 Document Languages © Lettmann 2014-2016

NamespacesNamensräume ...

q sind ein Konzept, d.h. rein virtuell, ohne reale Umsetzungen,

q sind eine Sammlung von Namen,

Beachte:Bei Verwendung von Namensräumen dürfen die Namen KEINEN Doppelpunkt enthalten.Es gibt keine Liste der Namen, die zu einem Namensraum gehören.Grundsätzlich sind alle Namen gleichzeitig in ALLEN Namensräumen enthalten.

q werden identifiziert über eine URI, d.h. in der Regel über eine URL,

q können auch in Form anonymer Namensräume, d.h. ohne URI-Bezeichnungauftreten.

Beachte:Zur Vereinfachung fassen wir alle anonymen Namensräume zusammenund betrachten sie als nur einen anonymen Namensraum.

T–WT:III-43 Document Languages © Lettmann 2014-2016

NamespacesNamensräume in XML-Dokumenten ...

q stehen ohne Deklaration nur in Form des anonymen Namensraumes zurVerfügung, der auch Default-Namensraum ist,

q müssen (außer Default-Namensraum) für die Verwendung inXML-Dokumenten deklariert werden,

q werden bei der Deklaration an ein Präfix gebunden (leeres Präfix beiFestlegung als neuer Default-Namensraum),

q werden durch Verwendung qualifizierter Namen angesprochen.

T–WT:III-44 Document Languages © Lettmann 2014-2016

NamespacesDeklaration von Namensräumen [W3C Technical Report]

q Ohne Deklaration eines Namensraumes ist nur der anonyme Namensraum verfügbar.

q Deklaration eines Namensraumes durch Angabe der URL und Bindung an ein Präfix<elem xmlns:prefix="http://www.books.com"> ... </elem>

q Deklaration eines neuen Default-Namensraumes (anstelle des anonymen Namensraumes)durch Angabe der URL (Präfix bleibt leer)<elem xmlns="http://www.books.com"> ... </elem>

q Als Präfix ist jeder Name ohne Doppelpunkt möglich außer Namen, die mit xml beginnen(Groß- oder Kleinbuchstaben).

q Die Festlegung eines Default-Namensraumes ist als eine Bindung an ein leeres Präfixaufzufassen. Man spart dadurch Schreibarbeit und kann Übersichtlichkeit gewinnen.

q Ohne eine Deklaration des Default-Namensraumes ist der anonyme Namensraum derDefault-Namensraum.

q Wurde ein Default-Namensraum deklariert, kann durch die Deklaration<elem xmlns=""> ... </elem>

im Scope dieser Deklaration wieder der anonyme Namensraum zum Default-Namensraumgemacht werden.

q Eine URI als Bezeichner eines Namensraumes darf in einer Deklaration mit Präfixbindungnicht leer (leere Zeichenkette) sein (XML 1.0).

T–WT:III-45 Document Languages © Lettmann 2014-2016

NamespacesGültigkeit einer Namensraumdeklaration [W3C Technical Report]

q Eine Präfix-Bindung ist gültig innerhalb des Elements (einschließlich), in dem die Bindungdeklariert ist.

q <prefixA:elemA xmlns:prefixA="http://www.example.com/X"xmlns:prefixB="http://www.example.com/Y">

<prefixB:elemB> ... </prefixB:elemB><prefixA:elemB> ... </prefixA:elemB>

</prefixA:elemA>

orange: Gültigkeitsbereich Bindung an Präfix prefixAorange: Gültigkeitsbereich Bindung an Präfix prefixB

q <prefixA:elemA xmlns:prefixA="http://www.example.com/X"><prefixB:elemB xmlns:prefixB="http://www.example.com/Y"> ... </prefixB:elemB><prefixA:elemB> ... </prefixA:elemB>

</prefixA:elemA>

orange und grün: Gültigkeitsbereich Bindung an Präfix prefixAgrün: Gültigkeitsbereich Bindung an Präfix prefixB

q Präfix-Bindungen können überschrieben werden.

q <prefixA:elemA xmlns:prefixA="http://www.example.com/X"><prefixB:elemB xmlns:prefixB="http://www.example.com/Y"> ... </prefixB:elemB><prefixA:elemB xmlns:prefixA="http://www.example.com/Z"> ... </prefixA:elemB>

</prefixA:elemA>

orange und grün: Gültigkeitsbereich erste Bindung an Präfix prefixAgrün: Gültigkeitsbereich Bindung an Präfix prefixBviolett: Gültigkeitsbereich zweite Bindung an Präfix prefixA

T–WT:III-46 Document Languages © Lettmann 2014-2016

NamespacesQualifizierte Namen: Verwendung von Namen eines Namensraumes [W3C TR]

q Qualifizierte Namen treten in einem XML-Dokument in zwei Versionen auf

– mit Präfix: prefixA:elemA– ohne Präfix: elemB

q Ein qualifizierter Name mit Präfix darf nur auftreten im Gültigkeitsbereich einerNamensraumdeklaration mit Bindung an dieses Präfix.

q Präfix und lokaler Name werden durch einen Doppelpunkt zu einem qualifizierten Namenzusammengesetzt.

q Präfix und lokaler Name sind Namen ohne Doppelpunkt (beginnen mit Buchstaben undUnterstrich, können danach zusätzlich auch Ziffern, Bindestriche und Punkte enthalten).

q Qualifizierte Namen mit Präfix werden dem Namensraum zugeschlagen, an den das Präfix inder Deklaration gebunden wurde.

q Qualifizierte Namen ohne Präfix gehören dem anonymen Namensraum oder demDefault-Namensraum an.

q Zwei qualifizierte Namen sind gleich, wenn lokaler Name und Namensraum gleich sind. Eineventueller Unterschied in den Präfixen (ein Namensraum gebunden an zwei verschiedenePräfixe) hat keinen Einfluss.

T–WT:III-47 Document Languages © Lettmann 2014-2016

NamespacesQualifizierte Namen: Zuordnung zu Namensräumen

Ist der qualifizierte Name ein ...

q Elementname und ...

– hat er KEIN Präfix und ...

• tritt der Name im Gültigkeitsbereich einer Default-Namensraumdeklaration auf,

· dann gehört der Name zu dem Default-Namensraum,

• tritt der Name NICHT im Gültigkeitsbereich einer Default-Namensraumdeklarationauf,

· dann gehört er zum anonymen Namensraum,

– hat er EIN Präfix und ...

• tritt der Name im Gültigkeitsbereich einer Namensraumdeklaration mit Bindung andieses Präfix auf,

· dann gehört der Name zu dem Namensraum, an den das Präfix gebunden wurde,

• tritt der Name NICHT im Gültigkeitsbereich einer Namensraumdeklaration mitBindung an dieses Präfix auf,

· dann liegt eine fehlerhafte Verwendung des qualifizierten Namens vor.

T–WT:III-48 Document Languages © Lettmann 2014-2016

NamespacesQualifizierte Namen: Zuordnung zu Namensräumen

Ist der qualifizierte Name ein ...

q Attributname und ...

– hat er KEIN Präfix,

• dann gehört er zum anonymen Namensraum.

– hat er EIN Präfix und ...

• tritt der Name im Gültigkeitsbereich einer Namensraumdeklaration mit Bindung andieses Präfix auf,

· dann gehört der Name zu dem Namensraum, an den das Präfix gebunden wurde,

• tritt der Name NICHT im Gültigkeitsbereich einer Namensraumdeklaration mitBindung an dieses Präfix auf,

· dann liegt eine fehlerhafte Verwendung des qualifizierten Namens vor.

T–WT:III-49 Document Languages © Lettmann 2014-2016

NamespacesVordefinierte Namensräume

Namespace: http://www.w3.org/2000/xmlns/Namespace: http://www.w3.org/XML/1998/namespaceNamespace: http://www.w3.org/2007/XMLSchema-datatypesNamespace: http://www.w3.org/2007/XMLSchema-versioningNamespace: http://www.w3.org/2001/XMLSchema-hasFacetAndPropertyNamespace: http://www.w3.org/2001/XMLSchema-instanceNamespace: http://www.w3.org/2001/XMLSchema

T–WT:III-50 Document Languages © Lettmann 2014-2016

NamespacesVordefinierte Namensräume

nil

Attributes: Type or enumerated values:

anyType

Commonly used prefix: xsiFile: http://www.w3.org/2001/XMLSchema-instance.xsd

Namespace: http://www.w3.org/2001/XMLSchema-instance

noNamespaceSchemaLocation anyType

type anyTypeschemaLocation anyType

Namespace: http://www.w3.org/2000/xmlns/Namespace: http://www.w3.org/XML/1998/namespaceNamespace: http://www.w3.org/2007/XMLSchema-datatypesNamespace: http://www.w3.org/2007/XMLSchema-versioningNamespace: http://www.w3.org/2001/XMLSchema-hasFacetAndProperty

Namespace: http://www.w3.org/2001/XMLSchema

T–WT:III-51 Document Languages © Lettmann 2014-2016

NamespacesVordefinierte Namensräume

Namespace: http://www.w3.org/2001/XMLSchema-hasFacetAndProperty

hasFacet

Elements:

name

Attributes:

length, minLength, maxLength, patternenumeration, maxInclusive, maxExclusiveminInclusive, minExclusivetotalDigits,fractionDigitswhiteSpace, maxScale, minScale

Type or enumerated values:

hasProperty name ordered, bounded, cardinality, numeric

value normalizedString

Commonly used prefix: hfp (internal use)File: http://www.w3.org/2001/XMLSchema-hasFacetAndProperty.xsd

Namespace: http://www.w3.org/2000/xmlns/Namespace: http://www.w3.org/XML/1998/namespaceNamespace: http://www.w3.org/2007/XMLSchema-datatypesNamespace: http://www.w3.org/2007/XMLSchema-versioning

Namespace: http://www.w3.org/2001/XMLSchema-instanceNamespace: http://www.w3.org/2001/XMLSchema

T–WT:III-52 Document Languages © Lettmann 2014-2016

NamespacesVordefinierte Namensräume

T–WT:III-53 Document Languages © Lettmann 2014-2016

Namespace: http://www.w3.org/2000/xmlns/Namespace: http://www.w3.org/XML/1998/namespaceNamespace: http://www.w3.org/2007/XMLSchema-datatypesNamespace: http://www.w3.org/2007/XMLSchema-versioningNamespace: http://www.w3.org/2001/XMLSchema-hasFacetAndProperty

all, annotation, any, anyAttribute, appinfo, attribute, attributeGroup, choice, complexContent, complexType, documentation, element, enumeration, field, fractionDigits, group, import, include, key, keyref, length, list, maxExclusive, maxInclusive, maxLength, minExclusive, minInclusive, minLength, notation, pattern, redefine, restriction, schema, selector, sequence, simpleContent, simpleType, totalDigits, union, unique, whiteSpace

Elements:

Attributes:

Commonly used prefix: xs or xsdFile: http://www.w3.org/2001/XMLSchema.xsd

Types:

string, boolean, decimal, float, double, duration, dateTime, time, date, gYearMonth, gYear,gMonthDay, gDay, gMonth, hexBinary, base64Binary, anyURI, QName, NOTATION

normalizedString, token, language, NMTOKEN, NMTOKENS, Name, NCName, ID, IDREF,IDREFS, ENTITY, ENTITIES, integer, nonPositiveInteger, negativeInteger, long, int, short, byte, nonNegativeInteger, unsignedLong, unsignedInt, unsignedShort, unsignedByte, positiveInteger

length, minLength, maxLength, pattern, enumeration, whiteSpace, minInclusive, minExclusive,maxInclusive, maxExclusive, totalDigits, fractionDigits

Namespace http://www.w3.org/2001/XMLSchema

T–WT:III-54 Document Languages © Lettmann 2014-2016

NamespacesVordefinierte Namensräume

vc:minVersion

Attributes: Type or enumerated values:

decimal

Commonly used prefix: vcUsed for conditional inclusion of datatype definitions.

Namespace: http://www.w3.org/XML/1998/namespace

vc:typeUnavailable list of qualified type names

vc:maxVersion decimalvc:typeAvailable list of qualified type names

For convenience only: Nanespace containing only the built-in datatypes of XML Schema

Namespace: http://www.w3.org/2000/xmlns/

Namespace: http://www.w3.org/2007/XMLSchema-datatypes

Namespace: http://www.w3.org/2007/XMLSchema-versioningNamespace: http://www.w3.org/2001/XMLSchema-hasFacetAndPropertyNamespace: http://www.w3.org/2001/XMLSchema-instanceNamespace: http://www.w3.org/2001/XMLSchema

vc:facetUnavailablevc:facetAvailable

list of qualified facet nameslist of qualified facet names

T–WT:III-55 Document Languages © Lettmann 2014-2016

NamespacesVordefinierte Namensräume

xml:lang

Attributes: Type or enumerated values:

language (restriction of string)

Fixed prefix: xml (not to be declared)File: http://www.w3.org/2001/xml.xsd

Namespace: http://www.w3.org/XML/1998/namespace

xml:id ID

xml:space default, preservexml:base anyURI

Fixed prefix: xmlns (not to be declared)

Namespace: http://www.w3.org/2000/xmlns/

Namespace: http://www.w3.org/2007/XMLSchema-datatypesNamespace: http://www.w3.org/2007/XMLSchema-versioningNamespace: http://www.w3.org/2001/XMLSchema-hasFacetAndPropertyNamespace: http://www.w3.org/2001/XMLSchema-instanceNamespace: http://www.w3.org/2001/XMLSchema

T–WT:III-56 Document Languages © Lettmann 2014-2016