XML -zelfstudie

XML HOME XML-introductie XML Hoe te gebruiken XML-structuur XML-syntaxis XML-elementen XML-kenmerken XML-naamruimten XML-weergave XML HTTP-verzoek XML-parser XML-DOM XML XPath XML XSLT XML XQuery XML XLink XML-validator XML-DTD XML Schema XML-server XML-voorbeelden XML-quiz XML-certificaat

XML AJAX

Ajax-introductie AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

XML-DOM

DOM-introductie DOM-knooppunten DOM-toegang DOM Node Info Lijst met DOM-knooppunten DOM doorkruisen DOM-navigatie DOM Waarden ophalen DOM-wijzigingsknooppunten DOM Knooppunten verwijderen DOM Knooppunten vervangen DOM Knooppunten maken DOM Knooppunten toevoegen DOM-kloonknooppunten DOM-voorbeelden

XPath- zelfstudie

XPath-introductie XPath-knooppunten XPath-syntaxis XPath-assen XPath-operators XPath-voorbeelden

XSLT- zelfstudie

XSLT-introductie XSL-talen XSLT-transformatie XSLT <sjabloon> XSLT <waarde-van> XSLT <voor elk> XSLT <sorteren> XSLT <if> XSLT <kiezen> XSLT toepassen XSLT op de client XSLT op de server XSLT Bewerk XML XSLT-voorbeelden

XQuery- zelfstudie

XQuery-introductie XQuery-voorbeeld XQuery FLWOR XQuery HTML XQuery-voorwaarden XQuery-syntaxis XQuery toevoegen XQuery selecteren XQuery-functies

XML -DTD

DTD Introductie DTD-bouwstenen DTD-elementen DTD-kenmerken DTD Elements vs Attr DTD-entiteiten DTD-voorbeelden

XSD- schema

XSD-introductie XSD Hoe kan ik? XSD <schema> XSD-elementen XSD-kenmerken XSD-beperkingen

XSD- complex

XSD-elementen XSD Leeg Alleen XSD-elementen Alleen XSD-tekst XSD gemengd XSD-indicatoren XSD <elke> XSD <anyAttribute> XSD-vervanging XSD-voorbeeld

XSD- gegevens

XSD-string XSD-datum XSD Numeriek XSD Diversen XSD-referentie

Webservices _

XML-services XML-WSDL XML SOAP XML-RDF XML-RSS

Referenties

Typen DOM-knooppunten DOM Node DOM-knooppuntlijst DOM NamedNodeMap DOM-document DOM-element DOM-kenmerk DOM-tekst DOM CDATA DOM-opmerking DOM XMLHttpRequest DOM-parser XSLT-elementen XSLT/XPath-functies

XSD- beperkingen/facetten


Beperkingen worden gebruikt om acceptabele waarden voor XML-elementen of attributen te definiëren. Beperkingen op XML-elementen worden facetten genoemd.


Beperkingen op waarden

Het volgende voorbeeld definieert een element met de naam "age" met een beperking. De waarde van leeftijd kan niet lager zijn dan 0 of hoger dan 120:

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

Beperkingen op een reeks waarden

Om de inhoud van een XML-element te beperken tot een reeks acceptabele waarden, zouden we de opsommingsbeperking gebruiken.

Het onderstaande voorbeeld definieert een element met de naam "auto" met een beperking. De enige acceptabele waarden zijn: 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>

Het bovenstaande voorbeeld had ook zo kunnen worden geschreven:

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

Opmerking: In dit geval kan het type "carType" door andere elementen worden gebruikt omdat het geen deel uitmaakt van het element "car".



Beperkingen op een reeks waarden

Om de inhoud van een XML-element te beperken om een ​​reeks cijfers of letters te definiëren die kunnen worden gebruikt, zouden we de patroonbeperking gebruiken.

Het onderstaande voorbeeld definieert een element genaamd "letter" met een beperking. De enige acceptabele waarde is EEN van de kleine letters van a tot z:

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

Het volgende voorbeeld definieert een element genaamd "initialen" met een beperking. De enige acceptabele waarde is DRIE van de HOOFDLETTERS van a tot 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>

Het volgende voorbeeld definieert ook een element genaamd "initialen" met een beperking. De enige acceptabele waarde is DRIE van de KLEINE OF HOOFDLETTERS van a tot 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>

Het volgende voorbeeld definieert een element genaamd "choice" met een beperking. De enige acceptabele waarde is EEN van de volgende letters: x, y, OR z:

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

Het volgende voorbeeld definieert een element genaamd "prodi" met een beperking. De enige acceptabele waarde is VIJF cijfers in een reeks, en elk cijfer moet tussen 0 en 9 liggen:

<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 beperkingen op een reeks waarden

Het onderstaande voorbeeld definieert een element genaamd "letter" met een beperking. De acceptabele waarde is nul of meer kleine letters van a tot z:

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

Het volgende voorbeeld definieert ook een element genaamd "letter" met een beperking. De acceptabele waarde is een of meer letterparen, waarbij elk paar bestaat uit een kleine letter gevolgd door een hoofdletter. Bijvoorbeeld, "sToP" wordt gevalideerd door dit patroon, maar niet "Stop" of "STOP" of "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>

Het volgende voorbeeld definieert een element met de naam "geslacht" met een beperking. De enige acceptabele waarde is mannelijk OF vrouwelijk:

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

Het volgende voorbeeld definieert een element genaamd "wachtwoord" met een beperking. Er moeten precies acht tekens op een rij zijn en die tekens moeten kleine letters of hoofdletters zijn van a tot z, of een cijfer van 0 tot 9:

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

Beperkingen op witruimtetekens

Om te specificeren hoe witruimte-tekens moeten worden verwerkt, zouden we de whiteSpace-beperking gebruiken.

Dit voorbeeld definieert een element met de naam "adres" met een beperking. De whiteSpace-beperking is ingesteld op "preserve", wat betekent dat de XML-processor GEEN witruimtetekens zal verwijderen:

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

Dit voorbeeld definieert ook een element genaamd "adres" met een beperking. De whiteSpace-beperking is ingesteld op "vervangen", wat betekent dat de XML-processor alle witruimtetekens (regelinvoer, tabs, spaties en regelterugloop) ZAL VERVANGEN door spaties:

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

Dit voorbeeld definieert ook een element genaamd "adres" met een beperking. De whiteSpace-beperking is ingesteld op "collapse", wat betekent dat de XML-processor alle witruimtetekens ZAL VERWIJDEREN (regelinvoer, tabs, spaties, regelterugloops worden vervangen door spaties, voorloop- en volgspaties worden verwijderd en meerdere spaties worden gereduceerd tot een enkele spatie):

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

Beperkingen op lengte

Om de lengte van een waarde in een element te beperken, zouden we de lengte-, maxLength- en minLength-beperkingen gebruiken.

Dit voorbeeld definieert een element met de naam "wachtwoord" met een beperking. De waarde moet exact acht tekens lang zijn:

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

Dit voorbeeld definieert een ander element genaamd "wachtwoord" met een beperking. De waarde moet minimaal vijf tekens en maximaal acht tekens bevatten:

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

Beperkingen voor gegevenstypen

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