Element attribute XML Schema
Definicja i użycie
Element attribute definiuje atrybut.
Informacje o elemencie
Liczba wystąpień | 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=optional|prohibited|required any attributes > (annotation?,(simpleType?)) </attribute>
(? znak oznacza, że element ten może występować zero lub jeden raz w elementach 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ć określony za pomocą prefiksu przestrzeni nazw i bezprefiksu nazwy (NCName) tego atrybutu.
- "unqualified" - wskazuje, że atrybut ten nie wymaga prefiksu przestrzeni nazw i nie musi pasować do jego bezprefiksu 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 ref występuje, element simpleType, form i type nie mogą występować.
type
Opcjonalnie. Określ wbudowany typ danych lub prosty typ. Atrybut type może występować 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ż wartość stałą. Gdy nie zostanie określona żadna inna wartość, wartość domyślna zostanie automatycznie przypisana do atrybutu. W poniższym przykładzie wartością domyślną jest "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Gdy nie zostanie określona żadna inna wartość, wartość domyślna zostanie automatycznie przypisana do atrybutu. Jednak w przeciwieństwie do wartości domyślnej, jeśli określisz inną wartość niż wartość stała dla atrybutu, dokument zostanie zweryfikowany jako nieważny. W poniższym przykładzie wartością stałą 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 wymagany:
<xs:attribute name="lang" type="xs:string" use="required"/>