XSD egenskaper
- Föregående sida XSD element
- Nästa sida XSD begränsningar
Alla egenskaper deklareras som enkla typer.
Vad är en egenskap?
Enkel element kan inte ha egenskaper. Om ett element har egenskaper, anses det vara en komplex typ. Men egenskapen själv deklareras alltid som en enkel typ.
Hur deklarerar man egenskaper?
Syntaksen för att definiera egenskap är:
<xs:attribute name="xxx" type="yyy"/>
Här betyder xxx namnet på egenskapen, yyy specificerar egenskapens 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 egenskaper:
<lastname lang="EN">Smith</lastname>
Detta är motsvarande egenskapsdefinitionen:
<xs:attribute name="lang" type="xs:string"/>
Egenskapens standardvärde och fastställt värde
Egenskapen kan ha en specificerad standardvärde eller fastställt värde.
Om inget annat värde specificeras tilldelas standardvärdet automatiskt till elementet.
I följande exempel är standardvärdet "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Fastställda värden tilldelas också automatiskt till element, och du kan inte specificera ett annat värde.
I följande exempel är den fastställda värdet "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Valfria och obligatoriska egenskaper
I fallet att standardinställningen, är egenskapen valfri. Om du vill specificera att egenskapen är obligatorisk, använd egenskapen "use":
<xs:attribute name="lang" type="xs:string" use="required"/>
Innehålls begränsningar
När XML-element eller egenskap har ett definierat datatyp, läggs begränsningar till innehållet i elementet eller egenskapen.
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 egna begränsningar till dina XML-element och egenskaper. Dessa begränsningar kallas facet (författarens anmärkning: betyder (polyhedra)sida, som kan översättas till begränsningssida). 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