tutorial pengembangan web terbaru
 

Atribut XSD


Semua atribut dideklarasikan sebagai tipe sederhana.


Apa Atribut?

unsur-unsur sederhana tidak dapat memiliki atribut. Jika elemen memiliki atribut, itu dianggap dari jenis kompleks. Tapi atribut itu sendiri selalu dinyatakan sebagai tipe sederhana.


Cara Menentukan Atribut?

Sintaks untuk mendefinisikan atribut adalah:

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

dimana xxx adalah nama dari atribut dan yyy menentukan jenis data atribut.

XML Schema memiliki banyak built-in tipe data. Jenis yang paling umum adalah:

  • xs: string
  • xs: desimal
  • xs: integer
  • xs: boolean
  • xs: Tanggal
  • xs: waktu

Contoh

Berikut adalah elemen XML dengan atribut:

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

Dan di sini adalah corresponding definisi atribut:

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

Default dan Tetap Nilai untuk Atribut

Atribut mungkin memiliki nilai default atau nilai tetap yang ditentukan.

Sebuah nilai default secara otomatis ditetapkan ke atribut ketika tidak ada nilai lain yang ditentukan.

Pada contoh berikut nilai default adalah "EN" :

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

Sebuah nilai tetap juga secara otomatis ditugaskan untuk atribut, dan Anda tidak dapat menentukan nilai lain.

Pada contoh berikut nilai tetap adalah "EN" :

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

Atribut opsional dan Diperlukan

Atribut adalah opsional secara default. Untuk menentukan bahwa atribut diperlukan, gunakan "use" atribut:

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

Pembatasan Konten

Ketika elemen XML atau atribut memiliki tipe data yang didefinisikan, menempatkan pembatasan pada konten elemen atau atribut.

Jika elemen XML adalah tipe "xs:date" dan berisi string seperti "Hello World" , elemen tidak akan memvalidasi.

Dengan XML Schemas, Anda juga dapat menambahkan pembatasan Anda sendiri untuk elemen XML dan atribut. Pembatasan ini disebut aspek. Anda dapat membaca lebih lanjut tentang aspek dalam bab berikutnya.