Wszystkie atrybuty są deklarowane jako prostych typów.
Co to jest atrybut?
Proste elementy nie mogą mieć cech. Jeśli element ma cechy, uważa się, że jest typu złożonego. Ale sam atrybut jest zawsze zadeklarowany jako prostego typu.
Jak zdefiniować atrybut?
Składnia definiowania atrybutu jest:
<xs:attribute name="xxx" type="yyy"/>
gdzie xxx to nazwa atrybutu i yyy określa typ danych atrybutu.
XML Schema ma wiele wbudowanych typów danych. Najczęstsze typy to:
- xs: string
- xs: decimal
- xs: integer
- xs: boolean
- xs: date
- xs: czas
Przykład
Tutaj jest elementem XML z atrybutem:
<lastname lang="EN">Smith</lastname>
I tu jest corresponding definicja atrybutu:
<xs:attribute name="lang" type="xs:string"/>
Domyślne i stałych wartości dla atrybutów
Atrybuty mogą mieć wartość domyślną lub stałej wartości określonej.
Wartość domyślna jest automatycznie przypisany do atrybutu, gdy żadna inna wartość nie jest określona.
W poniższym przykładzie wartość domyślną jest "EN" :
<xs:attribute name="lang" type="xs:string" default="EN"/>
Stała wartość jest automatycznie przypisany do atrybutu, a nie można określić inną wartość.
W poniższym przykładzie stała wartość "EN" :
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Atrybuty opcjonalne i wymagane
Atrybuty są opcjonalne domyślnie. Aby określić, że wymagane jest atrybut, należy użyć "use" atrybut:
<xs:attribute name="lang" type="xs:string" use="required"/>
Ograniczenia dotyczące treści
Gdy element XML lub atrybut ma typ danych zdefiniowany, stawia ograniczeń dotyczących zawartości elementu lub atrybutu.
Jeśli element XML jest typu "xs:date" i zawiera ciąg jak "Hello World" , element nie zweryfikuje.
Z schematów XML, można również dodawać własne ograniczenia do elementów XML i atrybutów. Ograniczenia te są zwane aspekty. Możesz przeczytać więcej o aspektach w następnym rozdziale.