Atribut XSD

Semua atribut diumumkan sebagai tipe sederhana.

Apa itu atribut?

Elemen sederhana tidak dapat memiliki atribut. Jika suatu elemen memiliki atribut, ia akan dianggap tipe kompleks. Namun, atribut selalu diumumkan sebagai tipe sederhana.

Bagaimana cara mengumumkan atribut?

Syarat penambahan atribut adalah:

<xs:attribute name="xxx" type="yyy"/>

Di sini, xxx adalah nama atribut, yyy menentukan tipe data atribut. XML Schema memiliki banyak tipe data baku.

Tipe yang paling sering digunakan adalah:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

Contoh

Ini adalah elemen XML dengan atribut:

<lastname lang="EN">Smith</lastname>

Ini adalah definisi atribut yang sesuai:

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

Nilai standar dan tetap atribut

Atribut dapat memiliki nilai standar atau tetap yang ditentukan.

Jika tidak ada nilai lain yang ditentukan, nilai standar akan otomatis disediakan untuk elemen.

Dalam contoh di bawah ini, nilai standar adalah "EN":

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

Nilai tetap akan otomatis disediakan untuk elemen, dan Anda tidak dapat menentukan nilai lain.

Dalam contoh di bawah ini, nilai tetap adalah "EN":

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

Atribut yang opsional dan wajib

Dalam hal standar, atribut adalah opsional. Jika ingin mengatur atribut menjadi wajib, gunakan atribut "use":

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

Batasan Konten

Ketika elemen atau atribut XML memiliki tipe data yang telah ditentukan, batasan akan ditambahkan ke konten elemen atau atribut.

Jika tipe elemen XML adalah "xs:date" dan kontennya adalah string seperti "Hello World", elemen akan tidak (melalui) diverifikasi.

Dengan melalui XML schema, Anda juga dapat menambahkan batasan sendiri untuk elemen dan atribut XML Anda. Batasan ini disebut dengan facet (catatan penulis: berarti (berbentuk) polihedra, dapat diterjemahkan sebagai batasan). Anda akan mengetahui lebih banyak tentang facet di bab berikutnya.