XSD 属性

Semua atribut diumumkan sebagai tipe sederhana.

Apa itu atribut?

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

Bagaimana untuk mengumumkan atribut?

Syarat definisi atribut adalah:

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

Di sini, xxx merujuk kepada nama atribut, yyy menentukan jenis data atribut. XML Schema memiliki banyak jenis data baku.

Jenis 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 relevan:

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

Nilai baku dan tetap atribut

Atribut dapat memiliki nilai baku atau tetap yang ditentukan.

Ketika tidak ada nilai lain yang ditentukan, nilai baku akan otomatis disediakan untuk elemen.

Dalam contoh di bawah, nilai baku 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, nilai tetap adalah "EN":

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

Atribut pilihan dan wajib

Secara baku, atribut adalah pilihan. Jika ingin menentukan atribut wajib, gunakan atribut "use":

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

Batasan kandungan

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

Jika jenis elemen XML adalah "xs:date" dan kandungan yang disiapkan adalah string seperti "Hello World", elemen itu tidak akan (melalui) pengesahan.

melalui XML schema, anda juga dapat menambahkan kawalan sendiri kepada elemen dan atribut XML anda. Kawalan ini disebut dengan facet (catatan penulis: berarti (berbentuk) multi-beratur, dapat diterjemahkan sebagai kawalan beratur). Anda akan mengetahui lebih banyak tentang facet di bab selanjutnya.