SlideShare a Scribd company logo
BAB III Konsistensi Data Dengan XML
Schema
Riza Muhammad Nurman, S.Kom
Email : rizaman@eng.ui.ac.id ; rizamn@ymail.com
Monday, March 19, 2018 Riza Muhammad Nurman 2
CONTENT
 Pengenalan XML Schema
 Tipe Data Pada XML Schema
 Elemen Pada XML Schema
 Atribut Pada XML Schema
 Pengenalan XML Namespaces
 Penggunaan Kembali Komponen Dalam Schema
 Membuat Grup Elemen dan Grup Atribut
Monday, March 19, 2018 Riza Muhammad Nurman 3
Pengenalan XML Schema
• XML Schema digunakan untuk mendefinisikan struktur dari sebuah
dokumen XML.
– daftar elemen dan atribut
– urutan bagaimana setiap elemen akan ditampilkan di dalam
dokumen XML
– tipe data dari masing-masing elemen.
Monday, March 19, 2018 Riza Muhammad Nurman 4
Keuntungan XML Schema
• XSD menyediakan lebih banyak tipe data yang dapat digunakan
dalam pendeklarasian elemen dan atribut.
• XSD memperbolehkan developer untuk membuat sendiri tipe data
yang diperlukan (user defined data types).
• XSD dapat digunakan untuk membatasi nilai dari data.
• XSD menggunakan sintak penulisan yang sama seperti XML.
• XSD memungkinkan untuk memvalidasi elemen dengan mixed
content.
• Komponen dalam XSD dapat digunakan kembali pada XSD yang lain
(extensible).
• Dimungkinkan untuk menuliskan komentar pada dokumen XSD.
Monday, March 19, 2018 Riza Muhammad Nurman 5
Tipe Data XML Schema (1)
1. Primitive
Tipe data yang paling dasar di dalam XSD.
Tidak boleh berisi elemen atau atribut dan hanya boleh berisi nilai
Tipe Data Primitive Deskripsi
String Mewakili sekelompok karakter
Decimal Mewakili angka desimal
Float Mewakili 32 bit nilai floating
Boolean
Mewakili nilai boolean yang hanya dapat
berisi nilai benar atau salah
timeDuration Mewakili durasi waktu tertentu.
recurringDuration
Mewakili durasi waktu yang berulang
setelah interval tertentu
Monday, March 19, 2018 Riza Muhammad Nurman 6
Tipe Data XML Schema (2)
2. Derived
Tipe data turunan dari tipe data dasar (tipe data primitive / derived)
Tipe data derived bisa merupakan tipe data yang sudah disediakan oleh
XSD ataupun tipe data yang dibuat oleh pengguna
Tipe Data Turunan Tipe Data Dasar Deskripsi
integer Decimal
mewakili urutan angka desimal yang dapat
memiliki tanda positif(+) atau negatif(-)
long Integer
mewakili nilai dalam jangkauan -
9223372036854775808 sampai dengan
9223372036854775807
NonNegativeInteger Integer
mewakili nilai integer yang lebih besar atau sama
dengan 0
positiveInteger NonNegativeInteger mewakili nilai integer yang lebih besar dari 0
int Long
mewakili integer dalam jangkauan -2147483648
sampai dengan 2147483647
time recurringDuration
mewakili informasi waktu yang berulang setiap
harinya
date timeDuration
mewakili periode waktu yang dimulai pada tengah
malam dan berakhir tengah malam pada hari
berikutnya
Monday, March 19, 2018 Riza Muhammad Nurman 7
Tipe Data XML Schema (3)
3. Atomic
Tipe data yang tidak dapat dipecah menjadi satuan yang lebih kecil
Bisa merupakan tipe data primitive / tipe data derived.
Contoh: karakter
4. List
Tipe data turunan yang berisi sekelompok nilai dari tipe data atomic
Hanya boleh berisi data yang sesuai dengan yang telah didefinisikan
5. Union
Tipe data Union diturunkan dari tipe data atomic dan list
Contoh:
Zipname: tipe data dari tipe atomic yang diisi hanya dengan nilai string
Zipnum: tipe data list yang berisi beberapa data kode pos
Tipe data baru zips: yang dapat berisi kedua tipe data tersebut.
Monday, March 19, 2018 Riza Muhammad Nurman 8
Elemen Pada XML Schema
Simple element
Elemen dengan tipe simple element tidak boleh berisi elemen lain
ataupun atribut. Simple element hanya boleh berisi nilai seperti angka,
huruf dan tanggal
Complex element
Complex element berisi elemen lain, atribut atau juga mixed content
Monday, March 19, 2018 Riza Muhammad Nurman 9
Simple Element
• Penulisan:
<xsd:element name="element_name" type="data_type"
minOccurs="nonNegativeInteger"
maxOccurs="nonNegativeInteger|unbounded"/>
Atribut Deskripsi
name Menunjukkan nama dari elemen yang dideklarasikan
type Menunjukkan tipe data dari elemen yang dideklarasikan
minOccurs
Menunjukkan jumlah minimum sebuah elemen dapat dituliskan
pada dokumen XML.Nilai 0 pada atribut ini berarti bahwa elemen
tersebut optional. Jika nilai atribut ini lebih dari 0, maka elemen
tersebut harus dituliskan minimal sebanyak nilai dari atribut min
Occurs
maxOccurs
Menunjukkan jumlah maksimum sebuah elemen dapat dituliskan
pada dokumen XML. Jika atribut ini memiliki nilai "unbounded"
berarti elemen dapat dituliskan sebanyak berapapun di dalam
dokumen XML
Monday, March 19, 2018 Riza Muhammad Nurman 10
Contoh Deklarasi Element
<xs:element name="Nama_Nasabah" type="xs:string"/>
<xs:element name="Alamat" type="xs:string" />
<xs:element name="Tgl_lhr" type="xs:date"/>
<xs:element name="Pekerjaan" type="xs:string" />
<xs:element name="Nama_Ibu_Kandung"
type="xs:string"/>
Monday, March 19, 2018 Riza Muhammad Nurman 11
Contoh Simple Element (1)
<xs:simpleType name="JenKel">
<xs:restriction base="xs:string">
<xs:pattern value="Perempuan|Laki-laki"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Jen_Kel" type="JenKel" />
Monday, March 19, 2018 Riza Muhammad Nurman 12
Contoh Simple Element (2)
<xs:simpleType name="Tlp">
<xs:restriction base="xs:string">
<xs:length value="12"/>
<xs:pattern value="d{3}-d{8}"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="No_Tlp" type="Tlp" />
Monday, March 19, 2018 Riza Muhammad Nurman 13
Contoh Simple Element (3)
<xs:simpleType name="Pdpt_bln">
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1000000"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Pendapatan_bln" type="Pdpt_bln" />
Monday, March 19, 2018 Riza Muhammad Nurman 14
Complex Element
• Penulisan
<xsd:complexType name="Nama_Tipe_Data">
Pendeklarasian content model
</xsd:complexType>
Monday, March 19, 2018 Riza Muhammad Nurman 15
Contoh Complex Element
<xs:complexType name=“Nsbh">
<xs:sequence>
<xs:element name="Nama_Nasabah" type="xs:string"
maxOccurs="1" />
<xs:element name="Alamat" type="xs:string"
maxOccurs="1"/>
<xs:element name="Tgl_lhr" type="xs:date"
maxOccurs="1"/>
<xs:element name="Pekerjaan" type="xs:string"
maxOccurs="1"/>
<xs:element name="Jen_Kel" type="JenKel"
maxOccurs="1"/>
<xs:element name="Nama_Ibu_Kandung" type="xs:string"
maxOccurs="1"/>
<xs:element name="No_Tlp" type="Tlp" maxOccurs="1"/>
<xs:element name="Pendapatan_bln" type="Pdpt_bln"
maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
Monday, March 19, 2018 Riza Muhammad Nurman 16
Contoh Complex Element (2)
<xs:complexType name="Dt_Nasabah">
<xs:sequence>
<xs:element maxOccurs="unbounded"
minOccurs="1" name="Nasabah"
type="Nsbh"/>
</xs:sequence>
</xs:complexType>
Membuat elemen dengan menggunakan complex type Dt_Nasabah:
<xs:element name="Data_Nasabah" type="Dt_Nasabah"/>
Monday, March 19, 2018 Riza Muhammad Nurman 17
Atribut Pada XML Schema
• Dideklarasikan dengan cara yang sama dengan deklarasi elemen
• Atribut dapat dideklarasikan :
– simple type definitions : ruang lingkup lokal
– global definition : ruang lingkup global
• Penulisan:
<attribute name="attributename" ref="attributename"
type="datatypename" use="value"
value="value"></attribute>
Monday, March 19, 2018 Riza Muhammad Nurman 18
Contoh
<xs:attribute name="nip" type="xs:string"
use="required"/>
<xs:attribute name="status" type="xs:string"
default="Tidak Aktif"/>
<xs:attribute name="posisi" type="xs:string"
use="optional"/>
<xs:attribute name="gaji" type="xs:positiveInteger"
fixed="1000000"/>
Monday, March 19, 2018 Riza Muhammad Nurman 19
Contoh Ref
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="no_id" type="xs:string"/>
<xs:element name="DATA" type="dt"/>
<xs:complexType name="dt">
<xs:sequence>
<xs:element name="PEGAWAI" type="peg"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="peg">
<xs:sequence>
<xs:element name="NAMA" type="xs:string"/>
</xs:sequence>
<xs:attribute ref="no_id" use="required"/>
</xs:complexType>
</xs:schema>
Monday, March 19, 2018 Riza Muhammad Nurman 20
Pengenalan XML Namespaces
• Menghilangkan keambiguitasan nama elemen
• Caranya:
– 1. Buat setiap nama elemen unik
– 2. Gunakan prefix (memakai URI-Uniform Resource Identifier: URL /
URN)
• Contoh
– Person.xml
– Person2.xml
– Person3.xml
– Namespace.xsd
– Namespace.xml
Monday, March 19, 2018 Riza Muhammad Nurman 21
Penggunaan Kembali Komponen Dalam Schema
• Elemen Import
– Mengimport deklarasi global dari XML Schema yang lain
– Perintah <import> biasanya digunakan untuk menggabungkan
XML Schema yang memiliki targetNamespaces yang berbeda
– Dengan menggunakan perintah import, kedua XML Schema tersebut
dapat digunakan bersamaan dalam sebuah dokumen
• Penulisan:
<import namespace="" schemaLocation="">
Contoh:
DataImport1.xsd, DataImport2.xsd, DataImport.xml
Namespace.xsd, Karyawan1.xsd, Karyawan1.xml
Monday, March 19, 2018 Riza Muhammad Nurman 22
Penggunaan Kembali Komponen Dalam Schema -
2
• Elemen Include
– Elemen import digunakan ketika targetNamespace yang dipanggil
berbeda
– Elemen include digunakan ketika sebuah schema berada dalam
target namespace yang sama, sehingga kedua dokumen tersebut
dapat digunakan seolah-olah terletak di dalam sebuah dokumen
yang sama
– Pendeklarasian elemen include tidak lagi diperlukan nama
namespace, cukup lokasi dimana schema yang dimaksud berada
– Penulisan:
<include schemaLocation="filename">
Monday, March 19, 2018 Riza Muhammad Nurman 23
Membuat Group Elements, Attribute
• Membuat deklarasi elemen-elemen atau atribut-atribut yang saling
berhubungan kedalam sebuah kelompok yang sama
• Elemen yang tergabung dalam sebuah kelompok: group elements
• Atribut yang terletak di dalam kelompok: group attribute
• Mempermudah developer untuk melakukan beberapa pekerjaan:
– Membuat elemen dan atribut yang dapat digunakan kembali.
– Memilih salah satu anggota dari elemen.
– Menentukan urutan dari elemen.
• XML Schema menyediakan beberapa elemen yang dapat digunakan
untuk membuat sebuah group elements dan group attributes, yaitu:
sequence, group, choice, dan all.
XML - Chapter 3

More Related Content

PPTX
XML - Chapter 2
PPTX
XML - Chapter 4
PPTX
XML - Chapter 1
PPTX
XML - Chapter 5 XML DOM
PPT
1 STRUKTUR DATA,TIPE DATA, ARRAY dan STRUCT.ppt
PPTX
XML - Chapter 6 SIMPLE API FOR XML (SAX)
PPTX
Abstract Data tipe untuk menenyukan data.pptx
PPTX
Sd pertemuan 1 & 2
XML - Chapter 2
XML - Chapter 4
XML - Chapter 1
XML - Chapter 5 XML DOM
1 STRUKTUR DATA,TIPE DATA, ARRAY dan STRUCT.ppt
XML - Chapter 6 SIMPLE API FOR XML (SAX)
Abstract Data tipe untuk menenyukan data.pptx
Sd pertemuan 1 & 2

Similar to XML - Chapter 3 (11)

PPTX
Sd pertemuan 1 & 2
PPTX
Sd pertemuan 1 & 2
PPTX
Sd pertemuan 1 & 2
PPTX
STRUKTUR DATA
PPTX
Struktur data pertemuan 1 & 2
PPTX
Tipe Data dalam struktur data semester 2
PPTX
StrukDat Pertemuan 1 - Pengenalan Struktur Data.pptx
PPTX
Tipe data abstract
PPTX
XML - Chapter 7 XML DAN DATABASE
PPT
Algoritma - tipe data
DOCX
Tipe data pada java
Sd pertemuan 1 & 2
Sd pertemuan 1 & 2
Sd pertemuan 1 & 2
STRUKTUR DATA
Struktur data pertemuan 1 & 2
Tipe Data dalam struktur data semester 2
StrukDat Pertemuan 1 - Pengenalan Struktur Data.pptx
Tipe data abstract
XML - Chapter 7 XML DAN DATABASE
Algoritma - tipe data
Tipe data pada java
Ad

More from Riza Nurman (20)

PPTX
TOT PHP DAY 1
PPTX
SE - Chapter 9 Pemeliharaan Perangkat Lunak
PPTX
SE - Chapter 8 Strategi Pengujian Perangkat Lunak
PPTX
SE - Chapter 7 Teknik Pengujian Perangkat Lunak
PPTX
SE - Chapter 6 Tim dan Kualitas Perangkat Lunak
PPTX
XML - Chapter 8 WEB SERVICES
PPTX
DBA BAB 5 - Keamanan Database
PPTX
DBA BAB 4 - Recovery Data
PPTX
DBA BAB 3 - Manage Database
PPTX
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
PPTX
DBA BAB 1 - Pengenalan Database Administrator
PDF
RMN - XML Source Code
PPTX
ADP - Chapter 5 Exploring JavaServer Pages Technology
PPTX
ADP - Chapter 4 Managing Sessions
PPTX
ADP- Chapter 3 Implementing Inter-Servlet Communication
PPTX
ADP - Chapter 2 Exploring the java Servlet Technology
PPTX
ADP - Chapter 1 Introducing Web Application Development
PPSX
MIS BAB 10
PPSX
MIS BAB 9
PPSX
MIS BAB 8
TOT PHP DAY 1
SE - Chapter 9 Pemeliharaan Perangkat Lunak
SE - Chapter 8 Strategi Pengujian Perangkat Lunak
SE - Chapter 7 Teknik Pengujian Perangkat Lunak
SE - Chapter 6 Tim dan Kualitas Perangkat Lunak
XML - Chapter 8 WEB SERVICES
DBA BAB 5 - Keamanan Database
DBA BAB 4 - Recovery Data
DBA BAB 3 - Manage Database
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
DBA BAB 1 - Pengenalan Database Administrator
RMN - XML Source Code
ADP - Chapter 5 Exploring JavaServer Pages Technology
ADP - Chapter 4 Managing Sessions
ADP- Chapter 3 Implementing Inter-Servlet Communication
ADP - Chapter 2 Exploring the java Servlet Technology
ADP - Chapter 1 Introducing Web Application Development
MIS BAB 10
MIS BAB 9
MIS BAB 8
Ad

Recently uploaded (20)

PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PDF
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
DOCX
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
PPTX
Bahan Tayang OJT Pembelajaran Mendalam KS
DOCX
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
DOCX
Lembar Kerja Mahasiswa Information System
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas XII Terbaru 2025
PPTX
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
PPTX
Keterbatasan-Fasilitas-dalam-Mengajar-KKA.pptx
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PDF
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PDF
lembar kerja LMS tugas pembelajaran mendalam
PDF
Materi Seminar AITalks: AI dan Konseling GPT
PDF
PPT Resources Seminar AITalks: AI dan Konseling GPT
PPTX
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
PPTX
Presentasi_Pembelajaran_Mendalam_Lengkap.pptx
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
Bahan Tayang OJT Pembelajaran Mendalam KS
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
Lembar Kerja Mahasiswa Information System
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas XII Terbaru 2025
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
Keterbatasan-Fasilitas-dalam-Mengajar-KKA.pptx
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
lembar kerja LMS tugas pembelajaran mendalam
Materi Seminar AITalks: AI dan Konseling GPT
PPT Resources Seminar AITalks: AI dan Konseling GPT
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
Presentasi_Pembelajaran_Mendalam_Lengkap.pptx

XML - Chapter 3

  • 1. BAB III Konsistensi Data Dengan XML Schema Riza Muhammad Nurman, S.Kom Email : rizaman@eng.ui.ac.id ; rizamn@ymail.com
  • 2. Monday, March 19, 2018 Riza Muhammad Nurman 2 CONTENT  Pengenalan XML Schema  Tipe Data Pada XML Schema  Elemen Pada XML Schema  Atribut Pada XML Schema  Pengenalan XML Namespaces  Penggunaan Kembali Komponen Dalam Schema  Membuat Grup Elemen dan Grup Atribut
  • 3. Monday, March 19, 2018 Riza Muhammad Nurman 3 Pengenalan XML Schema • XML Schema digunakan untuk mendefinisikan struktur dari sebuah dokumen XML. – daftar elemen dan atribut – urutan bagaimana setiap elemen akan ditampilkan di dalam dokumen XML – tipe data dari masing-masing elemen.
  • 4. Monday, March 19, 2018 Riza Muhammad Nurman 4 Keuntungan XML Schema • XSD menyediakan lebih banyak tipe data yang dapat digunakan dalam pendeklarasian elemen dan atribut. • XSD memperbolehkan developer untuk membuat sendiri tipe data yang diperlukan (user defined data types). • XSD dapat digunakan untuk membatasi nilai dari data. • XSD menggunakan sintak penulisan yang sama seperti XML. • XSD memungkinkan untuk memvalidasi elemen dengan mixed content. • Komponen dalam XSD dapat digunakan kembali pada XSD yang lain (extensible). • Dimungkinkan untuk menuliskan komentar pada dokumen XSD.
  • 5. Monday, March 19, 2018 Riza Muhammad Nurman 5 Tipe Data XML Schema (1) 1. Primitive Tipe data yang paling dasar di dalam XSD. Tidak boleh berisi elemen atau atribut dan hanya boleh berisi nilai Tipe Data Primitive Deskripsi String Mewakili sekelompok karakter Decimal Mewakili angka desimal Float Mewakili 32 bit nilai floating Boolean Mewakili nilai boolean yang hanya dapat berisi nilai benar atau salah timeDuration Mewakili durasi waktu tertentu. recurringDuration Mewakili durasi waktu yang berulang setelah interval tertentu
  • 6. Monday, March 19, 2018 Riza Muhammad Nurman 6 Tipe Data XML Schema (2) 2. Derived Tipe data turunan dari tipe data dasar (tipe data primitive / derived) Tipe data derived bisa merupakan tipe data yang sudah disediakan oleh XSD ataupun tipe data yang dibuat oleh pengguna Tipe Data Turunan Tipe Data Dasar Deskripsi integer Decimal mewakili urutan angka desimal yang dapat memiliki tanda positif(+) atau negatif(-) long Integer mewakili nilai dalam jangkauan - 9223372036854775808 sampai dengan 9223372036854775807 NonNegativeInteger Integer mewakili nilai integer yang lebih besar atau sama dengan 0 positiveInteger NonNegativeInteger mewakili nilai integer yang lebih besar dari 0 int Long mewakili integer dalam jangkauan -2147483648 sampai dengan 2147483647 time recurringDuration mewakili informasi waktu yang berulang setiap harinya date timeDuration mewakili periode waktu yang dimulai pada tengah malam dan berakhir tengah malam pada hari berikutnya
  • 7. Monday, March 19, 2018 Riza Muhammad Nurman 7 Tipe Data XML Schema (3) 3. Atomic Tipe data yang tidak dapat dipecah menjadi satuan yang lebih kecil Bisa merupakan tipe data primitive / tipe data derived. Contoh: karakter 4. List Tipe data turunan yang berisi sekelompok nilai dari tipe data atomic Hanya boleh berisi data yang sesuai dengan yang telah didefinisikan 5. Union Tipe data Union diturunkan dari tipe data atomic dan list Contoh: Zipname: tipe data dari tipe atomic yang diisi hanya dengan nilai string Zipnum: tipe data list yang berisi beberapa data kode pos Tipe data baru zips: yang dapat berisi kedua tipe data tersebut.
  • 8. Monday, March 19, 2018 Riza Muhammad Nurman 8 Elemen Pada XML Schema Simple element Elemen dengan tipe simple element tidak boleh berisi elemen lain ataupun atribut. Simple element hanya boleh berisi nilai seperti angka, huruf dan tanggal Complex element Complex element berisi elemen lain, atribut atau juga mixed content
  • 9. Monday, March 19, 2018 Riza Muhammad Nurman 9 Simple Element • Penulisan: <xsd:element name="element_name" type="data_type" minOccurs="nonNegativeInteger" maxOccurs="nonNegativeInteger|unbounded"/> Atribut Deskripsi name Menunjukkan nama dari elemen yang dideklarasikan type Menunjukkan tipe data dari elemen yang dideklarasikan minOccurs Menunjukkan jumlah minimum sebuah elemen dapat dituliskan pada dokumen XML.Nilai 0 pada atribut ini berarti bahwa elemen tersebut optional. Jika nilai atribut ini lebih dari 0, maka elemen tersebut harus dituliskan minimal sebanyak nilai dari atribut min Occurs maxOccurs Menunjukkan jumlah maksimum sebuah elemen dapat dituliskan pada dokumen XML. Jika atribut ini memiliki nilai "unbounded" berarti elemen dapat dituliskan sebanyak berapapun di dalam dokumen XML
  • 10. Monday, March 19, 2018 Riza Muhammad Nurman 10 Contoh Deklarasi Element <xs:element name="Nama_Nasabah" type="xs:string"/> <xs:element name="Alamat" type="xs:string" /> <xs:element name="Tgl_lhr" type="xs:date"/> <xs:element name="Pekerjaan" type="xs:string" /> <xs:element name="Nama_Ibu_Kandung" type="xs:string"/>
  • 11. Monday, March 19, 2018 Riza Muhammad Nurman 11 Contoh Simple Element (1) <xs:simpleType name="JenKel"> <xs:restriction base="xs:string"> <xs:pattern value="Perempuan|Laki-laki"/> </xs:restriction> </xs:simpleType> <xs:element name="Jen_Kel" type="JenKel" />
  • 12. Monday, March 19, 2018 Riza Muhammad Nurman 12 Contoh Simple Element (2) <xs:simpleType name="Tlp"> <xs:restriction base="xs:string"> <xs:length value="12"/> <xs:pattern value="d{3}-d{8}"/> </xs:restriction> </xs:simpleType> <xs:element name="No_Tlp" type="Tlp" />
  • 13. Monday, March 19, 2018 Riza Muhammad Nurman 13 Contoh Simple Element (3) <xs:simpleType name="Pdpt_bln"> <xs:restriction base="xs:positiveInteger"> <xs:minInclusive value="1000000"/> </xs:restriction> </xs:simpleType> <xs:element name="Pendapatan_bln" type="Pdpt_bln" />
  • 14. Monday, March 19, 2018 Riza Muhammad Nurman 14 Complex Element • Penulisan <xsd:complexType name="Nama_Tipe_Data"> Pendeklarasian content model </xsd:complexType>
  • 15. Monday, March 19, 2018 Riza Muhammad Nurman 15 Contoh Complex Element <xs:complexType name=“Nsbh"> <xs:sequence> <xs:element name="Nama_Nasabah" type="xs:string" maxOccurs="1" /> <xs:element name="Alamat" type="xs:string" maxOccurs="1"/> <xs:element name="Tgl_lhr" type="xs:date" maxOccurs="1"/> <xs:element name="Pekerjaan" type="xs:string" maxOccurs="1"/> <xs:element name="Jen_Kel" type="JenKel" maxOccurs="1"/> <xs:element name="Nama_Ibu_Kandung" type="xs:string" maxOccurs="1"/> <xs:element name="No_Tlp" type="Tlp" maxOccurs="1"/> <xs:element name="Pendapatan_bln" type="Pdpt_bln" maxOccurs="1"/> </xs:sequence> </xs:complexType>
  • 16. Monday, March 19, 2018 Riza Muhammad Nurman 16 Contoh Complex Element (2) <xs:complexType name="Dt_Nasabah"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="1" name="Nasabah" type="Nsbh"/> </xs:sequence> </xs:complexType> Membuat elemen dengan menggunakan complex type Dt_Nasabah: <xs:element name="Data_Nasabah" type="Dt_Nasabah"/>
  • 17. Monday, March 19, 2018 Riza Muhammad Nurman 17 Atribut Pada XML Schema • Dideklarasikan dengan cara yang sama dengan deklarasi elemen • Atribut dapat dideklarasikan : – simple type definitions : ruang lingkup lokal – global definition : ruang lingkup global • Penulisan: <attribute name="attributename" ref="attributename" type="datatypename" use="value" value="value"></attribute>
  • 18. Monday, March 19, 2018 Riza Muhammad Nurman 18 Contoh <xs:attribute name="nip" type="xs:string" use="required"/> <xs:attribute name="status" type="xs:string" default="Tidak Aktif"/> <xs:attribute name="posisi" type="xs:string" use="optional"/> <xs:attribute name="gaji" type="xs:positiveInteger" fixed="1000000"/>
  • 19. Monday, March 19, 2018 Riza Muhammad Nurman 19 Contoh Ref <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:attribute name="no_id" type="xs:string"/> <xs:element name="DATA" type="dt"/> <xs:complexType name="dt"> <xs:sequence> <xs:element name="PEGAWAI" type="peg"/> </xs:sequence> </xs:complexType> <xs:complexType name="peg"> <xs:sequence> <xs:element name="NAMA" type="xs:string"/> </xs:sequence> <xs:attribute ref="no_id" use="required"/> </xs:complexType> </xs:schema>
  • 20. Monday, March 19, 2018 Riza Muhammad Nurman 20 Pengenalan XML Namespaces • Menghilangkan keambiguitasan nama elemen • Caranya: – 1. Buat setiap nama elemen unik – 2. Gunakan prefix (memakai URI-Uniform Resource Identifier: URL / URN) • Contoh – Person.xml – Person2.xml – Person3.xml – Namespace.xsd – Namespace.xml
  • 21. Monday, March 19, 2018 Riza Muhammad Nurman 21 Penggunaan Kembali Komponen Dalam Schema • Elemen Import – Mengimport deklarasi global dari XML Schema yang lain – Perintah <import> biasanya digunakan untuk menggabungkan XML Schema yang memiliki targetNamespaces yang berbeda – Dengan menggunakan perintah import, kedua XML Schema tersebut dapat digunakan bersamaan dalam sebuah dokumen • Penulisan: <import namespace="" schemaLocation=""> Contoh: DataImport1.xsd, DataImport2.xsd, DataImport.xml Namespace.xsd, Karyawan1.xsd, Karyawan1.xml
  • 22. Monday, March 19, 2018 Riza Muhammad Nurman 22 Penggunaan Kembali Komponen Dalam Schema - 2 • Elemen Include – Elemen import digunakan ketika targetNamespace yang dipanggil berbeda – Elemen include digunakan ketika sebuah schema berada dalam target namespace yang sama, sehingga kedua dokumen tersebut dapat digunakan seolah-olah terletak di dalam sebuah dokumen yang sama – Pendeklarasian elemen include tidak lagi diperlukan nama namespace, cukup lokasi dimana schema yang dimaksud berada – Penulisan: <include schemaLocation="filename">
  • 23. Monday, March 19, 2018 Riza Muhammad Nurman 23 Membuat Group Elements, Attribute • Membuat deklarasi elemen-elemen atau atribut-atribut yang saling berhubungan kedalam sebuah kelompok yang sama • Elemen yang tergabung dalam sebuah kelompok: group elements • Atribut yang terletak di dalam kelompok: group attribute • Mempermudah developer untuk melakukan beberapa pekerjaan: – Membuat elemen dan atribut yang dapat digunakan kembali. – Memilih salah satu anggota dari elemen. – Menentukan urutan dari elemen. • XML Schema menyediakan beberapa elemen yang dapat digunakan untuk membuat sebuah group elements dan group attributes, yaitu: sequence, group, choice, dan all.