XML -Tutorial

XML-HOME XML-Einführung XML-Wie zu verwenden XML-Baum XML-Syntax XML-Elemente XML-Attribute XML-Namespaces XML-Anzeige XML-HttpRequest XML-Parser XML-DOM XML-XPath XML-XSLT XML-XQuery XML-XLink XML-Validator XML-DTD XML-Schema XML-Server XML-Beispiele XML-Quiz XML-Zertifikat

XML-AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

XML-DOM

DOM-Einführung DOM-Knoten DOM-Zugriff DOM-Knoten-Info DOM-Knotenliste DOM-Traversierung DOM-Navigation DOM Get-Werte DOM-Änderungsknoten DOM-Knoten entfernen DOM-Ersetzungsknoten DOM-Knoten erstellen DOM-Knoten hinzufügen DOM-Klonknoten DOM-Beispiele

XPath -Tutorial

XPath-Einführung XPath-Knoten XPath-Syntax XPath-Achsen XPath-Operatoren XPath-Beispiele

XSLT -Tutorial

XSLT-Einführung XSL-Sprachen XSLT-Transformation XSLT <Vorlage> XSLT <Wert von> XSLT <für-jeden> XSLT <sortieren> XSLT <wenn> XSLT <auswählen> XSLT anwenden XSLT auf dem Client XSLT auf dem Server XSLT XML bearbeiten XSLT-Beispiele

XQuery- Tutorial

XQuery-Einführung XQuery-Beispiel XQuery FLWOR XQuery-HTML XQuery-Bedingungen XQuery-Syntax XQuery hinzufügen XQuery-Auswahl XQuery-Funktionen

XML -DTD

DTD-Einführung DTD-Bausteine DTD-Elemente DTD-Attribute DTD-Elemente vs. Attr DTD-Entitäten DTD-Beispiele

XSD- Schema

XSD-Einführung XSD-Anleitung XSD <Schema> XSD-Elemente XSD-Attribute XSD-Einschränkungen

XSD- Komplex

XSD-Elemente XSD leer Nur XSD-Elemente Nur XSD-Text XSD gemischt XSD-Indikatoren XSD <beliebig> XSD <beliebiges Attribut> XSD-Ersetzung XSD-Beispiel

XSD -Daten

XSD-String XSD-Datum XSD Numerisch XSD Sonstiges XSD-Referenz

Webdienste _

XML-Dienste XML-WSDL XML-SOAP XML-RDF XML-RSS

Verweise

DOM-Knotentypen DOM-Knoten DOM-Knotenliste DOM NamedNodeMap DOM-Dokument DOM-Element DOM-Attribut DOM-Text DOM-CDATA DOM-Kommentar DOM-XMLHttpRequest DOM-Parser XSLT-Elemente XSLT/XPath-Funktionen

XSD- Einschränkungen/Facetten


Einschränkungen werden verwendet, um akzeptable Werte für XML-Elemente oder -Attribute zu definieren. Beschränkungen für XML-Elemente werden als Facetten bezeichnet.


Einschränkungen für Werte

Das folgende Beispiel definiert ein Element namens "age" mit einer Einschränkung. Der Wert des Alters darf nicht kleiner als 0 oder größer als 120 sein:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="120"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Einschränkungen für einen Satz von Werten

Um den Inhalt eines XML-Elements auf einen Satz akzeptabler Werte zu beschränken, würden wir die Aufzählungsbeschränkung verwenden.

Das folgende Beispiel definiert ein Element namens "car" mit einer Einschränkung. Die einzig akzeptablen Werte sind: Audi, Golf, BMW:

<xs:element name="car">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Audi"/>
      <xs:enumeration value="Golf"/>
      <xs:enumeration value="BMW"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Das obige Beispiel hätte auch so geschrieben werden können:

<xs:element name="car" type="carType"/>

<xs:simpleType name="carType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="Audi"/>
    <xs:enumeration value="Golf"/>
    <xs:enumeration value="BMW"/>
  </xs:restriction>
</xs:simpleType>

Hinweis: In diesem Fall kann der Typ „carType“ von anderen Elementen verwendet werden, da er nicht Teil des Elements „car“ ist.



Einschränkungen für eine Reihe von Werten

Um den Inhalt eines XML-Elements zu begrenzen, um eine Reihe von Zahlen oder Buchstaben zu definieren, die verwendet werden können, würden wir die Musterbeschränkung verwenden.

Das folgende Beispiel definiert ein Element namens "letter" mit einer Einschränkung. Der einzig akzeptable Wert ist EINER der KLEINBUCHSTABEN von a bis z:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Das nächste Beispiel definiert ein Element namens "Initialen" mit einer Einschränkung. Der einzig akzeptable Wert sind DREI GROSSBUCHSTABEN von a bis z:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Das nächste Beispiel definiert auch ein Element namens "initials" mit einer Einschränkung. Der einzig akzeptable Wert sind DREI Klein- oder Großbuchstaben von a bis z:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Das nächste Beispiel definiert ein Element namens „choice“ mit einer Einschränkung. Der einzig akzeptable Wert ist EINER der folgenden Buchstaben: x, y, ODER z:

<xs:element name="choice">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[xyz]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Das nächste Beispiel definiert ein Element namens "prodid" mit einer Einschränkung. Der einzig akzeptable Wert sind FÜNF Ziffern in Folge, und jede Ziffer muss in einem Bereich von 0 bis 9 liegen:

<xs:element name="prodid">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Andere Einschränkungen für eine Reihe von Werten

Das folgende Beispiel definiert ein Element namens "letter" mit einer Einschränkung. Der akzeptable Wert ist null oder mehr Vorkommen von Kleinbuchstaben von a bis z:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="([a-z])*"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Das nächste Beispiel definiert auch ein Element namens "letter" mit einer Einschränkung. Der akzeptable Wert sind ein oder mehrere Buchstabenpaare, wobei jedes Paar aus einem Kleinbuchstaben gefolgt von einem Großbuchstaben besteht. Beispielsweise wird „sToP“ durch dieses Muster validiert, aber nicht „Stop“ oder „STOP“ oder „stop“:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="([a-z][A-Z])+"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Das nächste Beispiel definiert ein Element namens "gender" mit einer Einschränkung. Der einzig akzeptable Wert ist männlich ODER weiblich:

<xs:element name="gender">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="male|female"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Das nächste Beispiel definiert ein Element namens "password" mit einer Einschränkung. Es müssen genau acht Zeichen hintereinander stehen und diese Zeichen müssen Klein- oder Großbuchstaben von a bis z oder eine Zahl von 0 bis 9 sein:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z0-9]{8}"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Einschränkungen für Leerzeichen

Um anzugeben, wie Whitespace-Zeichen behandelt werden sollen, würden wir die WhiteSpace-Einschränkung verwenden.

Dieses Beispiel definiert ein Element namens "Adresse" mit einer Einschränkung. Die WhiteSpace-Einschränkung ist auf „preserve“ gesetzt, was bedeutet, dass der XML-Prozessor KEINE Leerzeichen entfernen wird:

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Dieses Beispiel definiert auch ein Element namens "Adresse" mit einer Einschränkung. Die whiteSpace-Einschränkung ist auf „replace“ gesetzt, was bedeutet, dass der XML-Prozessor alle Leerzeichen (Zeilenvorschübe, Tabulatoren, Leerzeichen und Wagenrückläufe) durch Leerzeichen ERSETZEN WIRD:

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="replace"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Dieses Beispiel definiert auch ein Element namens "Adresse" mit einer Einschränkung. Die WhiteSpace-Einschränkung ist auf „collapse“ gesetzt, was bedeutet, dass der XML-Prozessor alle Leerzeichen ENTFERNT (Zeilenvorschübe, Tabulatoren, Leerzeichen, Wagenrückläufe werden durch Leerzeichen ersetzt, führende und nachgestellte Leerzeichen werden entfernt und mehrere Leerzeichen werden auf reduziert ein einzelnes Leerzeichen):

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Längenbeschränkungen

Um die Länge eines Werts in einem Element zu begrenzen, würden wir die Beschränkungen length, maxLength und minLength verwenden.

Dieses Beispiel definiert ein Element namens "password" mit einer Einschränkung. Der Wert muss genau acht Zeichen lang sein:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:length value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Dieses Beispiel definiert ein weiteres Element namens "password" mit einer Einschränkung. Der Wert muss mindestens fünf und höchstens acht Zeichen lang sein:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:minLength value="5"/>
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Einschränkungen für Datentypen

Constraint Description
enumeration Defines a list of acceptable values
fractionDigits Specifies the maximum number of decimal places allowed. Must be equal to or greater than zero
length Specifies the exact number of characters or list items allowed. Must be equal to or greater than zero
maxExclusive Specifies the upper bounds for numeric values (the value must be less than this value)
maxInclusive Specifies the upper bounds for numeric values (the value must be less than or equal to this value)
maxLength Specifies the maximum number of characters or list items allowed. Must be equal to or greater than zero
minExclusive Specifies the lower bounds for numeric values (the value must be greater than this value)
minInclusive Specifies the lower bounds for numeric values (the value must be greater than or equal to this value)
minLength Specifies the minimum number of characters or list items allowed. Must be equal to or greater than zero
pattern Defines the exact sequence of characters that are acceptable
totalDigits Specifies the exact number of digits allowed. Must be greater than zero
whiteSpace Specifies how white space (line feeds, tabs, spaces, and carriage returns) is handled