Výukový program XML

XML HOME Úvod do XML XML Jak používat XML strom Syntaxe XML Prvky XML Atributy XML Jmenné prostory XML Zobrazení XML XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLlink XML Validator XML DTD Schéma XML XML server Příklady XML XML kvíz XML certifikát

XML AJAX

Úvod do AJAX AJAX XMLHttp Požadavek AJAX Odpověď AJAX Soubor XML AJAX AJAX PHP AJAX ASP Databáze AJAX Aplikace AJAX Příklady AJAX

XML DOM

Úvod do DOM DOM uzly Přístup k DOM Informace o uzlu DOM Seznam uzlů DOM DOM Traversing Navigace DOM DOM získat hodnoty DOM změnit uzly DOM Remove Nodes DOM nahradit uzly DOM Vytvořte uzly DOM Přidat uzly Klonovací uzly DOM Příklady DOM

Výukový program XPath

Úvod do XPath Uzly XPath Syntaxe XPath osy XPath Operátoři XPath Příklady XPath

Kurz XSLT

Úvod do XSLT Jazyky XSL Transformace XSLT XSLT <šablona> XSLT <hodnota-of> XSLT <pro každého> XSLT <sort> XSLT <if> XSLT <vyberte> Použít XSLT XSLT u klienta XSLT na serveru XSLT Úprava XML Příklady XSLT

Výukový program XQuery

Úvod do XQuery Příklad XQuery XQuery FLWOR HTML XQuery Podmínky XQuery Syntaxe XQuery Přidat XQuery XQuery Select Funkce XQuery

XML DTD

Úvod do DTD Stavební bloky DTD DTD prvky Atributy DTD DTD Elements vs Attr DTD entity Příklady DTD

XSD schéma

Úvod do XSD XSD Jak na to XSD <schéma> XSD prvky XSD atributy Omezení XSD

XSD komplex

XSD prvky XSD Prázdné Pouze prvky XSD Pouze text XSD XSD smíšené XSD indikátory XSD <libovolné> XSD <jakýkoliAtribut> Náhrada XSD Příklad XSD

XSD data

XSD řetězec Datum XSD Číselné XSD XSD Různé XSD reference

Webové služby

Služby XML XML WSDL XML SOAP XML RDF XML RSS

Reference

Typy uzlů DOM Uzel DOM DOM NodeList DOM NamedNodeMap Dokument DOM Prvek DOM Atribut DOM Text DOM DOM CDATA Komentář DOM DOM XMLHttpRequest DOM Parser Prvky XSLT Funkce XSLT/XPath

XSD omezení/fazety


Omezení se používají k definování přijatelných hodnot pro prvky nebo atributy XML. Omezení prvků XML se nazývají fazety.


Omezení hodnot

Následující příklad definuje prvek nazvaný „věk“ s omezením. Hodnota věku nesmí být nižší než 0 nebo vyšší než 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>

Omezení sady hodnot

K omezení obsahu prvku XML na sadu přijatelných hodnot bychom použili omezení výčtu.

Níže uvedený příklad definuje prvek zvaný „auto“ s omezením. Jediné přijatelné hodnoty jsou: 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>

Výše uvedený příklad by mohl být také napsán takto:

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

Poznámka: V tomto případě může být typ "carType" použit jinými prvky, protože není součástí prvku "car".



Omezení řady hodnot

Chcete-li omezit obsah prvku XML na definování řady čísel nebo písmen, které lze použít, použili bychom omezení vzoru.

Níže uvedený příklad definuje prvek nazvaný "dopis" s omezením. Jediná přijatelná hodnota je JEDNO z NÍZKÝCH písmen od a do z:

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

Následující příklad definuje prvek nazvaný „iniciály“ s omezením. Jedinou přijatelnou hodnotou jsou TŘI VELKÁ písmena od a do 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>

Následující příklad také definuje prvek zvaný „iniciály“ s omezením. Jedinou přijatelnou hodnotou jsou TŘI VELKÁ NEBO VELKÁ písmena od a do 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>

Následující příklad definuje prvek nazvaný "volba" s omezením. Jediná přijatelná hodnota je JEDNO z následujících písmen: 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>

Následující příklad definuje prvek nazvaný "prodid" s omezením. Jediná přijatelná hodnota je PĚT číslic v sekvenci a každá číslice musí být v rozsahu od 0 do 9:

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

Další omezení řady hodnot

Níže uvedený příklad definuje prvek nazvaný "dopis" s omezením. Přijatelná hodnota je nula nebo více výskytů malých písmen od a do z:

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

Následující příklad také definuje prvek nazvaný "písmeno" s omezením. Přijatelná hodnota je jeden nebo více párů písmen, přičemž každý pár se skládá z malého písmene následovaného velkým písmenem. Například „sToP“ bude ověřeno tímto vzorem, ale ne „Stop“ nebo „STOP“ nebo „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>

Následující příklad definuje prvek nazvaný „gender“ s omezením. Jediná přijatelná hodnota je muž NEBO žena:

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

Následující příklad definuje prvek zvaný "heslo" s omezením. V řadě musí být přesně osm znaků a tyto znaky musí být malá nebo velká písmena od a do z nebo čísla od 0 do 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>

Omezení mezer pro znaky

Abychom určili, jak se má zacházet se znaky bílých znaků, použijeme omezení whiteSpace.

Tento příklad definuje prvek nazvaný "adresa" s omezením. Omezení whiteSpace je nastaveno na „zachovat“, což znamená, že procesor XML NEODSTRANÍ žádné prázdné znaky:

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

Tento příklad také definuje prvek nazvaný "adresa" s omezením. Omezení whiteSpace je nastaveno na "nahradit", což znamená, že procesor XML NAHRADÍ všechny prázdné znaky (odřádkování, tabulátory, mezery a návraty vozíku) mezerami:

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

Tento příklad také definuje prvek nazvaný "adresa" s omezením. Omezení whiteSpace je nastaveno na „collapse“, což znamená, že procesor XML ODEBRANÍ všechny prázdné znaky (odřádkování, tabulátory, mezery, konce řádku jsou nahrazeny mezerami, mezery na začátku a na konci jsou odstraněny a více mezer se zmenší na jedna mezera):

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

Omezení délky

K omezení délky hodnoty v prvku bychom použili omezení délky, maxLength a minLength.

Tento příklad definuje prvek zvaný "heslo" s omezením. Hodnota musí mít přesně osm znaků:

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

Tento příklad definuje další prvek nazvaný "heslo" s omezením. Hodnota musí mít minimálně pět znaků a maximálně osm znaků:

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

Omezení pro datové typy

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