Elemen attribute XML Schema

Definisi dan penggunaan

Elemen attribute mendefinisikan atribut.

Informasi elemen

Kali muncul Didefinisikan sekali di dalam elemen schema. Diindeks beberapa kali dalam tipe kompleks atau grup atribut.
Elemen induk attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Isi 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 menunjukkan bahwa elemen ini dapat muncul nol atau satu kali dalam elemen attribute.)

Atribut

default

Pilihan. Menentukan nilai default atribut. Attribute default dan fixed tidak dapat muncul bersamaan.

fixed

Pilihan. Menentukan nilai tetap atribut. Attribute default dan fixed tidak dapat muncul bersamaan.

form

Pilihan. Menentukan format atribut. Nilai default adalah nilai atribut attributeFormDefault elemen schema yang berisi atribut.

  • "qualified" - Menunjukkan bahwa atribut ini harus ditentukan melalui prefix namespace dan nama atribut tanpa tanda koma (NCName).
  • "unqualified" - Menunjukkan bahwa atribut ini tidak memerlukan prefix namespace dan tidak perlu untuk cocok dengan nama atribut tanpa tanda koma (NCName), yaitu nama lokal.

id

Pilihan. Tentukan ID unik elemen ini.

name

Pilihan. Tentukan nama atribut. Atribut name dan ref tidak dapat muncul bersamaan.

ref

Pilihan. Tentukan referensi untuk atribut yang ditentukan. Atribut name dan ref tidak dapat muncul bersamaan. Jika ref muncul, elemen simpleType, form, dan type tidak dapat muncul.

type

Pilihan. Tentukan tipe data bawaan atau tipe sederhana. Atribut type hanya muncul jika konten tidak mengandung elemen simpleType.

use

Pilihan. Tentukan cara penggunaan atribut ini. Dapat diatur nilai berikut:

  • Pilihan - Atribut adalah pilihan dan dapat memiliki setiap nilai (standar).
  • Dilarang - Tidak dapat digunakan atribut.
  • Diperlukan - Atribut wajib.

any attributes

Pilihan. Tentukan atribut lain yang terdapat di dalam 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 bahwa atribut "code" memiliki batasan. Hanya nilai yang dapat diterima adalah dua huruf besar A sampai Z.

Contoh 2

Untuk menggunakan definisi atribut yang sudah ada dalam tipe kompleks untuk mendeklarasikan atribut, 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

Atribut dapat memiliki nilai standar pula nilai tetap yang ditentukan. Jika tidak ada nilai lain yang ditentukan, nilai standar akan diset otomatis ke atribut. Dalam contoh di bawah ini, nilai standar adalah "EN":

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

Jika tidak ada nilai lain yang ditentukan, nilai tetap akan diset otomatis ke atribut. Tetapi berbeda dengan nilai standar, jika Anda menentukan nilai lain selain nilai tetap untuk atribut, dokumen akan divalidasi sebagai tidak sah. Dalam contoh di bawah ini, nilai tetap adalah "EN":

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

Contoh 4

所有属性默认都是可选的。如需明确地规定属性为可选,请使用 "use" 属性:

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

使属性成为必需的属性:

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