1 / 20

XML-Schema

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.

kent
Download Presentation

XML-Schema

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke

  2. 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.

  3. 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

  4. 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

  5. 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 2001.“ (Zitate: www.w3schools.com)

  6. XML-Schema XML-Schema basiert auf XML-Syntax - keine andere Sprache als XML notwendig - </oxygen> Editor verwendbar - Zugriff auf XML-Instanz durch XSLT (Extensible Stylesheet Language Transformation) → XML-Schema muss well-formed und valide sein (case-sensitive wie XML!)

  7. XML-Schema XML-Deklaration zu Beginn des XML-Schema Abspeichern als: xyz.xsd <?xml version="1.0" encoding=“UTF-8“?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> … ... </xs:schema>

  8. XML-Schema Einbinden des XML-Schema in XML-Instanz <?xml version="1.0"?> <note xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="eigene.xsd"> … … </note>

  9. XML-Schema Elemente: simple type - kann nur einen Datentyp und keine weiteren Elemente oder Attribute enthalten <xs:element name="nachname"type="..."/>

  10. XML-Schema Elemente: simple type – data types Unterschied: Datentyp-Definition „type=...“ anstatt „#PCDATA“ (einfache „parseable character data“). in XSD: <xs:element name="nachname" type="..." default=“mueller“> in DTD: <!ELEMENT nachname (#PCDATA)>

  11. 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: <xs:element name="nachname" type="xs:string"/> <xs:element name="alter" type="xs:integer"/>

  12. XML-Schema Elemente: complex type enthält – im Gegensatz zum simple type – weitere Elemente oder Attribute weitere Elemente – Beispiel: <xs:element name="kuenstler"> <xs:complexType> <xs:sequence> <xs:element name="vorname" type="xs:string"/> <xs:element name="nachname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>

  13. 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

  14. XML-Schema Indicators Beispiel: <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="Vorname" type="xs:string"/> <xs:element name="Zweitname" type="xs:string" maxOccurs="10" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>

  15. XML-Schema Elemente: complex type enthält – im Gegensatz zum simple type – weitere Elemente oder Attribute type attribute – Beispiel: <xs:element name="kuenstler" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="vorname" type="xs:string"/> <xs:element name="nachname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="darsteller" type="personinfo"/>

  16. XML-Schema Complex type – attributes Beispiel: Attribut-Deklaration: <xs:attribute name="anrede" type="xs:string" use="required/> in XML-Instanz: <name anrede="Herr">Mueller</name>

  17. XML-Schema Restrictions - „Einschränkungen“ - definieren Vorgabe-Bereiche für Datentypen - eigene restrictions werden auch als facets bezeichnet Beispiel: <xs:element name="alter"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="120"/> </xs:restriction> </xs:simpleType> </xs:element>

  18. XML-Schema Restrictions - „Einschränkungen“ Weitere restriction-types: - enumeration - fractionDigits - length - maxExclusive - maxInclusive - maxLength - minExclusive - minInclusive - minLength - pattern - totalDigits - whiteSpace

  19. XML-Schema Anwendungsbeispiel

  20. XML-Schema Quellen: http://www.edition-w3.de/TR/2001/REC-xmlschema-0-20010502/ http://www.edition-w3.de/TR/2001/REC-xmlschema-1-20010502/ http://www.edition-w3.de/TR/2001/REC-xmlschema-2-20010502/ http://www.w3schools.com/schema/default.asp http://de.wikipedia.org/wiki/XML_Schema http://www.oxygenxml.com/xml_schema_editor.html

More Related