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"/>