Elemen attribute XML Schema

Definisi dan penggunaan

Elemen attribute mendefinisikan atribut.

Informasi elemen

Kali muncul Didefinisikan sekali di dalam elemen schema. Di refrensi beberapa kali dalam tipe kompleks atau grup atribut.
Elemen induk attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Konten annotation、simpleType

Gramatika

<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 menyatakan bahwa elemen ini dapat muncul 0 atau 1 kali dalam elemen attribute.)

Atribut

default

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

fixed

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

form

Pilihan. Menentukan format atribut. Nilai default adalah nilai dari atribut attributeFormDefault elemen schema yang mengandung atribut ini.

  • "qualified" - Menunjukkan bahwa atribut ini harus ditentukan melalui prefiks namespace dan nama tanpa tanda kolom (NCName) dari atribut ini.
  • "unqualified" - Menunjukkan bahwa atribut ini tidak perlu ditandai dengan awalan ruang nama, dan tidak perlu cocok dengan nama tanpa awalan (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 ketika konten tidak mengandung elemen simpleType.

use

Pilihan. Tentukan cara penggunaan atribut ini. Dapat diset dengan nilai berikut:

  • pilihan - Atribut adalah pilihan dan dapat memiliki setiap nilai (default).
  • dilarang - Tidak dapat digunakan atribut.
  • diperlukan - Atribut wajib.

any attributes

Pilihan. Tentukan atribut lain yang memiliki 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 hingga 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 default maupun nilai tetap yang ditentukan. Bila tidak ada nilai lain yang ditentukan, akan otomatis menugaskan nilai default ke atribut. Dalam contoh di bawah ini, nilai default adalah "EN":

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

Bila tidak ada nilai lain yang ditentukan, akan otomatis menugaskan nilai tetap ke atribut. Tetapi berbeda dengan nilai default, 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

Semua atribut secara default adalah opsional. Jika ingin menentukan atribut secara jelas sebagai opsional, gunakan atribut "use":

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

Buat atribut menjadi atribut wajib:

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