Element attribute w XML Schema
Definicja i użycie
Element attribute definiuje atrybut.
Informacje o elemencie
Częstotliwość występowania | Definiowany raz w elemencie schema. Wskazywany wiele razy w typach złożonych lub grupach atrybutów. |
Rodzic elementu | attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent) |
Zawartość | annotation、simpleType |
Gramatyka
<attribute default=string fixed=string form=qualified|unqualified id=ID name=NCName ref=QName type=QName use=opcjonalne|zakazane|wymagane any attributes > (annotation?,(simpleType?)) </attribute>
(? znak oznacza, że element może występować zero lub jeden raz w elemencie attribute.)
Atrybut
default
Opcjonalne. Określa wartość domyślną atrybutu. Atrybuty default i fixed nie mogą występować jednocześnie.
fixed
Opcjonalne. Określa stałą wartość atrybutu. Atrybuty default i fixed nie mogą występować jednocześnie.
form
Opcjonalne. Określa format atrybutu. Domyślna wartość to wartość atrybutu attributeFormDefault elementu schema. Można ustawić następujące wartości:
- "qualified" - wskazuje, że atrybut musi być zdefiniowany za pomocą prefiksu przestrzeni nazw i bezwskazówkowego nazwiska (NCName).
- "unqualified" - wskazuje, że atrybut nie wymaga prefiksu przestrzeni nazw, ani nie musi pasować do bezprefiksowej nazwy (NCName), czyli lokalnej nazwy.
id
Opcjonalnie. Określ unikalny ID elementu.
name
Opcjonalnie. Określ nazwę atrybutu. Atrybuty name i ref nie mogą występować razem.
ref
Opcjonalnie. Określ odniesienie do określonego atrybutu. Atrybuty name i ref nie mogą występować razem. Jeśli występuje ref, element simpleType, form oraz type nie mogą się pojawić.
type
Opcjonalnie. Określ wbudowany typ danych lub prosty typ. Atrybut type może pojawić się tylko, gdy zawartość nie zawiera elementu simpleType.
use
Opcjonalnie. Określ sposób użycia tego atrybutu. Można ustawić poniższe wartości:
- optional - atrybut jest opcjonalny i może mieć każdą wartość (domyślna).
- prohibited - nie można używać atrybutu.
- required - atrybut jest wymagany.
any attributes
Opcjonalnie. Określ inne atrybuty z non-schema命名空间.
Przykład
Przykład 1
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute>
Powyższy przykład wskazuje, że atrybut "code" ma ograniczenie. Jedynymi akceptowalnymi wartościami są dwie litery wielkie A do Z.
Przykład 2
Aby użyć istniejącej definicji atrybutu w typie złożonym do deklarowania atrybutu, użyj atrybutu ref:
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:complexType name="someComplexType"> <xs:attribute ref="code"/> </xs:complexType>
Przykład 3
Atrybut może mieć wartość domyślną, jak również określone stałe wartości. Gdy nie jest określona żadna inna wartość, automatycznie przypisuje się do atrybutu wartość domyślną. W poniższym przykładzie, wartością domyślną jest "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Gdy nie jest określona żadna inna wartość, automatycznie przypisuje się do atrybutu stałą wartość. Jednak w przeciwieństwie do wartości domyślnej, jeśli dla atrybutu określiłeś inną wartość niż stała, dokument zostanie zweryfikowany jako nieważny. W poniższym przykładzie, stałą wartością jest "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Przykład 4
Wszystkie atrybuty są domyślnie opcjonalne. Aby wyraźnie określić, że atrybut jest opcjonalny, użyj atrybutu "use":
<xs:attribute name="lang" type="xs:string" use="optional"/>
Ustawienie atrybutu jako wymagane:
<xs:attribute name="lang" type="xs:string" use="required"/>