XSD egenskaper
- Föregående sida XSD element
- Nästa sida XSD begränsningar
Alla attribut deklareras som enkla typer.
Vad är ett attribut?
Enkel element kan inte ha attribut. Om ett element har attribut, betraktas det som en komplex typ. Men attributet själv deklareras alltid som en enkel typ.
Hur deklarerar man attribut?
Syntaxen för att definiera attribut är:
<xs:attribute name="xxx" type="yyy"/>
Här hänvisar xxx till attributnamnet, yyy specificerar attributets datatyp. XML Schema har många inbyggda datatyper.
De mest använda typerna är:
- xs:string
- xs:decimal
- xs:integer
- xs:boolean
- xs:date
- xs:time
Exempel
Detta är ett XML-element med attribut:
<lastname lang="EN">Smith</lastname>
Detta är motsvarande attributdefinitionen:
<xs:attribute name="lang" type="xs:string"/>
Attributets standardvärde och fixerade värde
Attribut kan ha en specificerad standardvärde eller fixerat värde.
Om inget annat värde specificeras, tilldelas standardvärdet automatiskt till elementet.
I följande exempel är den standardvärdet "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Den fixerade värdet tilldelas också automatiskt till elementet, och du kan inte specificera ett annat värde.
I följande exempel är den fixerade värdet "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Valfria och obligatoriska attribut
Som standard är attribut valfria. Om du vill specificera att attributet är obligatoriskt, använd "use"-attributet:
<xs:attribute name="lang" type="xs:string" use="required"/>
Begränsning av innehållet
När XML-elementet eller attributet har ett definierat datatyp, läggs en begränsning till innehållet i elementet eller attributet.
Om XML-elementets typ är "xs:date" och dess innehåll är en sträng som "Hello World", kommer elementet inte att validera.
Genom XML schema kan du också lägga till dina egna begränsningar till dina XML-element och egenskaper. Dessa begränsningar kallas facet (författarens anmärkning: meningen är (polyhederns) yta, som kan översättas till begränsningsyta). Du kommer att lära dig mer om facet i nästa avsnitt.
- Föregående sida XSD element
- Nästa sida XSD begränsningar