Atrybuty XSD
Wszystkie atrybuty są deklarowane jako typy proste.
Co to jest atrybut?
Proste elementy nie mogą mieć atrybutów. Jeśli element ma atrybuty, uważa się, że należy do typu złożonego. Ale sam atrybut jest zawsze deklarowany jako typ prosty.
Jak zdefiniować atrybut?
Składnia definiowania atrybutu to:
<xs:attribute name="xxx" type="yyy"/>
gdzie xxx to nazwa atrybutu, a yyy określa typ danych atrybutu.
Schemat XML ma wiele wbudowanych typów danych. Najczęstsze typy to:
- xs:ciąg
- xs:dziesiętny
- xs: liczba całkowita
- xs:boolean
- xs:data
- xs:czas
Przykład
Oto element XML z atrybutem:
<lastname lang="EN">Smith</lastname>
A oto odpowiednia definicja atrybutu:
<xs:attribute name="lang" type="xs:string"/>
Wartości domyślne i stałe dla atrybutów
Atrybuty mogą mieć wartość domyślną LUB określoną wartość stałą.
Wartość domyślna jest automatycznie przypisywana do atrybutu, gdy nie określono żadnej innej wartości.
W poniższym przykładzie domyślną wartością jest „EN”:
<xs:attribute name="lang" type="xs:string" default="EN"/>
Stała wartość jest również automatycznie przypisywana do atrybutu i nie można określić innej wartości.
W poniższym przykładzie stała wartość to „EN”:
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Atrybuty opcjonalne i wymagane
Atrybuty są domyślnie opcjonalne. Aby określić, że atrybut jest wymagany, użyj atrybutu „use”:
<xs:attribute name="lang" type="xs:string" use="required"/>
Ograniczenia dotyczące treści
Gdy element lub atrybut XML ma zdefiniowany typ danych, nakłada ograniczenia na zawartość elementu lub atrybutu.
Jeśli element XML jest typu „xs:date” i zawiera ciąg, taki jak „Hello World”, element nie zostanie zweryfikowany.
Dzięki schematom XML możesz również dodawać własne ograniczenia do elementów i atrybutów XML. Te ograniczenia nazywane są aspektami. Więcej o aspektach przeczytasz w następnym rozdziale.