Top Banner
XML Schema Kurzpräsentation von Herbert Schlechta
23

XML Schema Kurzpräsentation von Herbert Schlechta.

Apr 06, 2015

Download

Documents

Werther Alder
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: XML Schema Kurzpräsentation von Herbert Schlechta.

XML Schema

Kurzpräsentation von Herbert Schlechta

Page 2: XML Schema Kurzpräsentation von Herbert Schlechta.

DTD und die Nachteile

• keine Einschränkung auf den Inhalt• hoher Programmieraufwand um die korrekte

Dateneingabe zu erzwingen• DTDs sind nicht in XML definiert• kein Zugriff auf Schnittstellen wie DOM

Page 3: XML Schema Kurzpräsentation von Herbert Schlechta.

XML Schema Aufgabe

Ein Schema beschreibt und definiert• die Bedeutung• die mögliche Verwendung• die Beziehungder Teile innerhalb eines XML-Dokuments.

Page 4: XML Schema Kurzpräsentation von Herbert Schlechta.

Teile eines XML-Dokuments

• Datentypen• Elemente und deren Inhalte• Attribute und deren mögliche Werte• Entitäten und ihr Inhalt und Notation

Page 5: XML Schema Kurzpräsentation von Herbert Schlechta.

Datentypenbaum

Page 6: XML Schema Kurzpräsentation von Herbert Schlechta.

Einfache Datentypen

• xsd:string• xsd:boolean• xsd:dateTime• xsd:integer

Page 7: XML Schema Kurzpräsentation von Herbert Schlechta.

Einfacher Datentype selbst erstellt

<xsd:element name=“preis”><xsd:simpleType>

<xsd:restriction base=“xsd:decimal”/><xsd:minExclusive value=“0”/><xsd:maxExclusive value=“100”/>

</xsd:restriction></xsd:simpleType>

</xsd:element>

Page 8: XML Schema Kurzpräsentation von Herbert Schlechta.

Komplexer Datentyp<xsd:element name=“adresse”>

<xsd:complexType><xsd:sequence>

<xsd:element name=“strasse” type=“xsd:string”/>

<xsd:element name=“hausnummer” type=“xsd:string”/>

<xsd:element name=“plz” type=“xsd:string”/>

<xsd:element name=“ort” type=“xsd:string”/>

</xsd:sequence><xsd:attribute name=“vorhanden”

type=“xsd:boolean”/></xsd:complexType>

</xsd:element>

Page 9: XML Schema Kurzpräsentation von Herbert Schlechta.

Benannte Datentype

<xsd:schema xmlns…….>…<xsd:element name=“preis”>

<xsd:simpleType><xsd:restriction base=“xsd:decimal”/>

<xsd:minExclusive value=“0”/><xsd:maxExclusive value=“100”/>

</xsd:restriction></xsd:simpleType>

</xsd:element>…</xsd:schema>

<xsd:element name=“neuerPreis” type=“preis”/>

Page 10: XML Schema Kurzpräsentation von Herbert Schlechta.

Aufbau eines XML-Schemas<?xml version=“1.0” encoding=“ISO-8859-1”?><xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema>

<xsd:element name=“adresse”><xsd:complexType>

<xsd:sequence><xsd:element name=“strasse”

type=“xsd:string”/><xsd:element name=“hausnummer”

type=“xsd:string”/><xsd:element name=“plz”

type=“xsd:string”/><xsd:element name=“ort”

type=“xsd:string”/></xsd:sequence><xsd:attribute name=“vorhanden”

type=“xsd:boolean”/></xsd:complexType>

</xsd:element></xsd:schema>

Page 11: XML Schema Kurzpräsentation von Herbert Schlechta.

Einfache Elemente

• hat kein Kindelement• hat keine Attribute

Page 12: XML Schema Kurzpräsentation von Herbert Schlechta.

Komplexe Elemente

• alles was kein einfaches Element ist!!!

Page 13: XML Schema Kurzpräsentation von Herbert Schlechta.

Kompositor 1

<xsd:complexType name=“adresse”><xsd:sequence>

<xsd:element name=“strasse” type=“xsd:string”/><xsd:element name=“hausnummer” type=“xsd:string”/><xsd:element name=“plz” type=“xsd:string”/><xsd:element name=“ort” type=“xsd:string”/>

</xsd:sequence></xsd:complexType>

Page 14: XML Schema Kurzpräsentation von Herbert Schlechta.

Kompositor 2

<xsd:complexType name=“erreichbarkeit”><xsd:all>

<xsd:element name=“festnetz” type=“xsd:string”/><xsd:element name=“handy” type=“xsd:string”/><xsd:element name=“e-mail” type=“xsd:string”/><xsd:element name=“fax” type=“xsd:string”/>

</xsd:all></xsd:complexType>

Page 15: XML Schema Kurzpräsentation von Herbert Schlechta.

Kompositor 3

<xsd:complexType name=“familienstand”><xsd:choice>

<xsd:element name=“ledig”/><xsd:element name=“verheiratet”/><xsd:element name=“geschieden”/><xsd:element name=“verwitwet”/>

</xsd:choice></xsd:complexType>

Page 16: XML Schema Kurzpräsentation von Herbert Schlechta.

Wildcards

<xsd:complexType name=“notizen”><xsd:sequence>

<xsd:element name=“uhrzeit” type=“xsd:time”/>

<xsd:element name=“datum” type=“xsd:date”/>

<xsd:any processContents=“skip”></xsd:sequence><xsd:anyAttribute/>

</xsd:complexType>

Page 17: XML Schema Kurzpräsentation von Herbert Schlechta.

Attribute 1

<xsd:complexType name=“notizen”><xsd:sequence>

<xsd:element name=“uhrzeit” type=“xsd:time”/>

<xsd:element name=“datum” type=“xsd:date”/>

</xsd:sequence><xsd:attribute name=“eingangszeit”

type=“xsd:string”/></xsd:complexType>

Page 18: XML Schema Kurzpräsentation von Herbert Schlechta.

Attribute 2

<xsd:element name=“einband”><xsd:simpleType>

<xsd:restriction base=“xsd:string”/><xsd:enumeration value=“Gebundene

Ausgabe”/><xsd:enumeration

value=“Taschenbuch”/><xsd:enumeration

value=“Broschüre”/></xsd:restriction>

</xsd:simpleType></xsd:element>

Page 19: XML Schema Kurzpräsentation von Herbert Schlechta.

Attribute 3

<xsd:element name=“ISBN”><xsd:simpleType>

<xsd:restriction base=“xsd:string”/><xsd:pattern value=“\d{1}-\d{4}-d{4}-\

d{1}”/></xsd:restriction>

</xsd:simpleType></xsd:element>

Page 20: XML Schema Kurzpräsentation von Herbert Schlechta.

Attribute 4

<xsd:complexType name=“notizen”><xsd:sequence>

<xsd:element name=“uhrzeit” type=“xsd:time”/><xsd:element name=“datum” type=“xsd:date”/>

</xsd:sequence><xsd:attribute name=“vorhanden” type=“xsd:boolean”

use=“required”/></xsd:complexType>

Page 21: XML Schema Kurzpräsentation von Herbert Schlechta.

Namensraum

Namensraum:www.verein.at

namebeitragadresse…

Namensraum:www.planung.at

projektbeitragleitung…

Namensraum:www.medien.at

zeitschriftbeitragverlag…

Page 22: XML Schema Kurzpräsentation von Herbert Schlechta.

Namensraumdeklaration 1

Namensraum:www.verein.at

namebeitragadresse…

<xsd:schemaxmlns:ve=“www.verein.at”>xmlns:me=“www.medien.at”>

<ve.element name=“name”/><ve.element name=“beitrag”/>…<me.element name=“beitrag”/>

Namensraum:www.medien.at

zeitschriftbeitragverlag…

Page 23: XML Schema Kurzpräsentation von Herbert Schlechta.

Namensraumdeklaration 2

Namensraum:www.verein.at

namebeitragadresse…

xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:ve=“www.verein.at”>xmlns:me=“www.medien.at”>

<ve.element name=“name” type=“xsd:string”/><ve.element name=“beitrag” type=“xsd:integer/>…<me.element name=“beitrag” type=“xsd:string”/>

Namensraum:www.medien.at

zeitschriftbeitragverlag…