XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke
Seminarkontext bisher: Erstellen von Document Type Definitions (DTDs), z.B. Cocktailsammlung, Immobilienanzeigen. XML-Schema als leistungsfähigere Alternative zur DTD, um die Regeln für eine XML-Instanz festzulegen.
Seminarkontext Ausblick auf Möglichkeit 1 der Semesterarbeit: Wirklichkeitsbereich durch XML-Schema abbilden und dazugehörige XML-Instanz verfassen. Bedingungen an das XML-Schema: - mindestens 30 tags - mindestens 5 complex types - mindestens 5 restrictions - mindestens für 5 Tags einen über die vorgegebenen Datentypen hinaus spezifizierten - in zugehöriger XML-Instanz soll jedes vordefinierte Tag mindestens fünfmal vorkommen
Definition XML-Schema auch: XSD (XML Schema Definition) - auf XML basierende Alternative zu DTD - beschriebt die Struktur einer XML-Instanz - definiert die Anzahl der Elemente, Kind-Elemente, Attribute, sowie deren Reihenfolge - definiert zulässige Inhalte und (Ausgangs-)Werte für Elemente und Attribute
Definition XML-Schema Neu: - definiert den Datentyp, sowie dessen Einschränkungen für Elemente und Attribute - unterstützt das Einbinden von Namensräumen (namespaces) - unterstützt Vererbbarkeit Forschungsstandpunkt: We think that very soon XML Schemas will be used in most Web applications as a replacement for DTDs. XML Schema became a W3C Recommendation 02. May (Zitate:
XML-Schema XML-Schema basiert auf XML-Syntax - keine andere Sprache als XML notwendig - Editor verwendbar - Zugriff auf XML-Instanz durch XSLT (Extensible Stylesheet Language Transformation) XML-Schema muss well-formed und valide sein (case-sensitive wie XML!)
XML-Schema XML-Deklaration zu Beginn des XML-Schema Abspeichern als: xyz.xsd <xs:schema xmlns:xs=" …...
XML-Schema Einbinden des XML-Schema in XML-Instanz <note xmlns=" xmlns:xsi=" xsi:schemaLocation="eigene.xsd"> …
XML-Schema Elemente: simple type - kann nur einen Datentyp und keine weiteren Elemente oder Attribute enthalten
XML-Schema Elemente: simple type – data types Unterschied: Datentyp-Definition type=... anstatt #PCDATA (einfache parseable character data). in XSD: in DTD:
XML-Schema Elemente: simple type – data types XSD verwendet verschiedene Datentypen, Am häufigsten: - xs:string - xs:decimal - xs:integer - xs:boolean - xs:date - xs:time Beispiel:
XML-Schema Elemente: complex type enthält – im Gegensatz zum simple type – weitere Elemente oder Attribute weitere Elemente – Beispiel:
XML-Schema Indicators - definieren wie einzelne Elemente in complex type verwendet werden können. Reihenfolge: all choice sequence Häufigkeit: maxOccurs minOccurs Gruppen: Group name attributeGroup name
XML-Schema Indicators Beispiel: <xs:element name="Zweitname" type="xs:string" maxOccurs="10" minOccurs="0"/>
XML-Schema Elemente: complex type enthält – im Gegensatz zum simple type – weitere Elemente oder Attribute type attribute – Beispiel:
XML-Schema Complex type – attributes Beispiel: Attribut-Deklaration: in XML-Instanz: Mueller
XML-Schema Restrictions - Einschränkungen - definieren Vorgabe-Bereiche für Datentypen - eigene restrictions werden auch als facets bezeichnet Beispiel:
XML-Schema Restrictions - Einschränkungen Weitere restriction-types: - enumeration - fractionDigits - length - maxExclusive - maxInclusive - maxLength - minExclusive - minInclusive - minLength - pattern - totalDigits - whiteSpace
XML-Schema Anwendungsbeispiel
XML-Schema Quellen: