XSD atributy
Všechny atributy jsou deklarovány jako jednoduché typy.
Co je to atribut?
Jednoduché prvky nemohou mít atributy. Pokud má prvek atributy, je považován za komplexního typu. Ale samotný atribut je vždy deklarován jako jednoduchý typ.
Jak definovat atribut?
Syntaxe pro definování atributu je:
<xs:attribute name="xxx" type="yyy"/>
kde xxx je název atributu a yyy určuje datový typ atributu.
XML Schema má mnoho vestavěných datových typů. Nejběžnější typy jsou:
- xs:string
- xs:desítkové
- xs:integer
- xs:boolean
- xs:datum
- xs:čas
Příklad
Zde je prvek XML s atributem:
<lastname lang="EN">Smith</lastname>
A zde je odpovídající definice atributu:
<xs:attribute name="lang" type="xs:string"/>
Výchozí a pevné hodnoty atributů
Atributy mohou mít výchozí hodnotu NEBO stanovenou pevnou hodnotu.
Pokud není zadána žádná jiná hodnota, je atributu automaticky přiřazena výchozí hodnota.
V následujícím příkladu je výchozí hodnota "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Atributu je také automaticky přiřazena pevná hodnota a nelze zadat jinou hodnotu.
V následujícím příkladu je pevná hodnota "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Nepovinné a povinné atributy
Atributy jsou ve výchozím nastavení volitelné. Chcete-li určit, že atribut je povinný, použijte atribut „use“:
<xs:attribute name="lang" type="xs:string" use="required"/>
Omezení obsahu
Když má prvek XML nebo atribut definovaný datový typ, omezuje obsah prvku nebo atributu.
Pokud je prvek XML typu "xs:date" a obsahuje řetězec jako "Hello World", prvek nebude ověřen.
Pomocí schémat XML můžete také přidat svá vlastní omezení do prvků a atributů XML. Tato omezení se nazývají fazety. Více o fazetách si můžete přečíst v další kapitole.