Elemen atribut XML Schema

Definisi dan penggunaan

Elemen attribute mendefinisikan atribut.

Informasi elemen

Kadaluwarsa Didefinisikan sekali dalam elemen schema. Diambil beberapa kali dalam tipe kompleks atau grup atribut.
Elemen induk attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Kandungan annotation、simpleType

Syarat

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

(? simbol menandakan elemen ini boleh muncul 0 atau 1 kali dalam elemen attribute.)

Atribut

default

Pilihan. Tetapkan nilai baku atribut. Atribut default dan fixed tidak boleh muncul bersamaan.

fixed

Pilihan. Tetapkan nilai tetap atribut. Atribut default dan fixed tidak boleh muncul bersamaan.

form

Pilihan. Tetapkan format atribut. Nilai baku adalah nilai atribut attributeFormDefault elemen schema yang mengandung atribut ini.

  • "qualified" - menunjukkan bahawa perlu melengkapkan atribut ini dengan namespace prefix dan nama tanpa tanda koma (NCName) yang digunakan.
  • "tidak mempunyai kualitas" - Menunjukkan bahawa properti ini tidak memerlukan prefix ruang nama, dan tidak perlu untuk disesuaikan dengan nama tanpa tanda hubung (NCName), iaitu nama lokal.

id

Pilihan. Tetapkan ID unik elemen ini.

name

Pilihan. Tetapkan nama properti. Atribut name dan ref tidak boleh muncul bersamaan.

ref

Pilihan. Tetapkan referensi kepada properti yang ditetapkan. Atribut name dan ref tidak boleh muncul bersamaan. Jika ref muncul, elemen simpleType, form dan type tidak boleh muncul.

jenis

Pilihan. Tetapkan jenis data binaan atau jenis sederhana. Atribut type hanya boleh muncul jika kandungan tidak mengandungi elemen simpleType.

guna

Pilihan. Tetapkan cara penggunaan properti. Dapat diset ke nilai berikut:

  • pilihan - Properti adalah pilihan dan boleh mempunyai mana-mana nilai (baku).
  • dilarang - Tidak boleh digunakan properti.
  • diperlukan - Properti adalah penting.

any attributes

Pilihan. Tetapkan mana-mana properti lain yang mempunyai ruang nama non-schema.

Contoh

Contoh 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>

Contoh di atas menunjukkan bahawa properti "code" mempunyai batasan. Unik nilai yang diterima adalah dua huruf besar A hingga Z.

Contoh 2

Untuk menggunakan definisi properti yang sudah ada dalam jenis kompleks untuk menyatakan properti, gunakan atribut 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>

Contoh 3

Properti boleh mempunyai nilai baku serta nilai tetap yang ditetapkan. Bila tiada nilai lain yang ditetapkan, akan secara automatik memberikan nilai baku kepada properti. Dalam contoh di bawah, nilai baku adalah "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Bila tiada nilai lain yang ditetapkan, akan secara automatik memberikan nilai tetap kepada properti. Tetapi berbeza dengan nilai baku, jika Anda menetapkan nilai lain daripada nilai tetap untuk properti, dokumen akan dipastikan sebagai tidak sah. Dalam contoh di bawah, nilai tetap adalah "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Contoh 4

Semua atribut adalah pilihan secara lalai. Jika ingin menentukan secara jelas atribut adalah pilihan, gunakan atribut "use":

<xs:attribute name="lang" type="xs:string" use="optional"/>

Jadikan atribut menjadi atribut wajib:

<xs:attribute name="lang" type="xs:string" use="required"/>