Mengapa format teks diperlukan?

Format teks nyaman untuk menyimpan informasi karena dapat dibuat dan diproses oleh program dan manusia.

File teks (file dalam format teks) dapat dibuka, dibaca, dan diedit dalam berbagai macam editor teks.

Banyak program menggunakan file konfigurasi berbasis teks, meskipun formatnya berisi angka dan nilai biner (ya/tidak).

Hal ini membuat program agak lebih rumit karena kebutuhan untuk mengonversi dari teks ke format internal dan sebaliknya, tetapi memungkinkan untuk mengedit konfigurasi secara manual tanpa menggunakan alat konfigurasi dalam program itu sendiri.

Di mana XML digunakan sekarang?

XML digunakan di berbagai bidang TI. Itu bisa berupa file konfigurasi (dengan pengaturan program) atau file yang digunakan untuk mentransfer data antar program. Di Java, salah satu kasus penggunaan yang paling umum adalah mengonfigurasi Maven, alat otomasi build.

Struktur dokumen XML

Struktur fisik dan logis dari dokumen XML disimpan terpisah. Dari segi struktur fisik, dokumen terdiri dari entitas-entitas yang dapat merujuk ke entitas lain.

Satu-satunya elemen root adalah entitas dokumen. Entity adalah bagian terkecil dari sebuah dokumen. Semua entitas memiliki nama dan mengandung karakter.

Pada gilirannya, karakter termasuk dalam salah satu dari dua kategori: data karakter atau markup.

Markup meliputi:

  • tag, yang menunjukkan batas elemen;
  • deklarasi dan instruksi pemrosesan, termasuk atributnya;
  • referensi entitas;
  • komentar;
  • urutan karakter membungkus bagian CDATA.

Logikanya, dokumen terdiri dari elemen, komentar, deklarasi, referensi entitas, dan instruksi pemrosesan. Markup digunakan untuk membuat semua struktur ini dalam sebuah dokumen.

Semua bagian penyusun dokumen dibagi menjadi prolog dan elemen root. Elemen root adalah bagian wajib dan esensial dari dokumen XML, sedangkan prolog mungkin tidak ada sama sekali. Elemen root dapat terdiri dari elemen bersarang, data karakter, dan komentar. Elemen dokumen harus disarangkan dengan benar: setiap elemen yang dimulai di dalam elemen lain juga harus diakhiri di dalam elemen tersebut.

Simbol markup

Markup selalu dimulai dengan < dan diakhiri dengan > .

Simbol < dan > (kurung sudut) dan & (ampersand) memainkan peran khusus. Kurung sudut menunjukkan batas elemen, instruksi pemrosesan, dan beberapa urutan lainnya. Dan ampersand membantu kita mengganti teks dengan entitas.

Deklarasi XML

Deklarasi XML menentukan versi bahasa yang digunakan untuk menulis dokumen. Spesifikasi XML mengatakan untuk memulai dokumen dengan deklarasi XML karena interpretasi yang tepat dari isi dokumen bergantung pada versi bahasanya.

Di versi pertama bahasa (1.0), deklarasi ini bersifat opsional, tetapi wajib di versi yang lebih baru. Deklarasi yang hilang dianggap berarti versi 1.0. Deklarasi juga dapat berisi informasi tentang pengkodean dokumen.

Contoh:

<?XML version="1.1" encoding="UTF-8" ?>

Tag

Tag adalah konstruksi markup yang berisi nama elemen. Ada tag awal dan tag akhir. Ada juga tag elemen kosong yang menggabungkan elemen awal dan akhir.

Contoh:

  • Tag awal: <tag1>

  • Tag penutup: </tag1>

  • Tag elemen kosong: <empty_tag1 />

Atribut

Bagian lain dari elemen XML adalah atribut. Sebuah elemen dapat memiliki beberapa atribut unik. Atribut mari kita tentukan lebih banyak informasi tentang suatu elemen. Atau lebih tepatnya, atribut menentukan sifat-sifat elemen.

Atribut selalu berupa pasangan nama-nilai:

nama = "nilai"

Contoh atribut dalam tag:

<tag1 nama = "nilai">elemen</tag1>

Nilai atribut harus diapit dengan tanda kutip ganda ( " ) atau tanda kutip tunggal ( ' ). Atribut hanya digunakan dalam tag awal dan tag elemen kosong.

Melarikan diri dari lima karakter khusus (<, >, ', ”, &)

Jelas, simbol < , > dan & tidak dapat digunakan seperti itu dalam data karakter dan nilai atribut. Anda perlu urutan pelarian khusus untuk mewakilinya. Urutan khusus juga digunakan saat menulis apostrof dan tanda kutip di dalam nilai atribut:

Simbol Penggantian
< <
> >
& &
' '
" "

Juga, untuk menulis \ karakter, Anda perlu menggunakan \\ .

bagian CDATA

Bagian CDATA bukanlah unit teks yang logis. Jenis bagian ini dapat terjadi di mana sintaks XML memungkinkan kita menempatkan data karakter dalam dokumen.

Bagian dimulai dengan <![CDATA[ dan diakhiri dengan ]]> . Data karakter ditempatkan di antara bit-bit markup ini, dan simbol < , > , dan & dapat digunakan dalam bentuk langsungnya.

Komentar

Komentar tidak dianggap sebagai data karakter. Sebuah komentar dimulai dengan <!-- dan diakhiri dengan --> . Urutan karakter -- tidak dapat digunakan di dalam komentar. Juga, di dalam komentar, karakter ampersand tidak menunjukkan markup.

Contoh:

<!-- ini adalah komentar -->

Nama

Dalam XML, semua nama hanya boleh berisi huruf dalam tabel karakter Unicode, angka Arab, titik, titik dua, tanda hubung, dan garis bawah. Nama dapat dimulai dengan huruf, titik dua, atau garis bawah. Perhatikan bahwa nama tidak boleh diawali dengan string XML .

Contoh

Mari kita lihat kelas Java dan objek dari kelas itu. Kemudian kami akan mencoba membuat serialisasi objek dalam format XML. Kode kelas:


public class Book {
   private String title;
   private String author;
   private Integer pageCount;
   private List<String> chapters;

   public Book(String title, String author, Integer pageCount, List<String> chapters) {
       this.title = title;
       this.author = author;
       this.pageCount = pageCount;
       this.chapters = chapters;
   }
// Getters/setters
}

dan pembuatan objek:


Book book = new Book("My Favorite Book", "Amigo", 999, Arrays.asList("Chapter 1", "Chapter 2", "Chapter 3", "Chapter 4", "Chapter 5", "Chapter 6"));

Berikut adalah contoh representasi XML yang valid dari objek Java yang berisi 4 bidang, salah satunya adalah kumpulan (lihat kode Java di atas):

<Buku>
  <title>Buku Favorit Saya</title>
  <penulis>Amigo</author>
  <pageCount>999</pageCount>
 <chapters>
    <chapters>Bab 1</chapters>
    <chapters>Bab 2</chapters>
    <bab>Bab 3</bab>
    <bab>Bab 4</bab>
    <bab>Bab 5</bab>
    <bab>Bab 6</bab>
 </bab>
</Buku>

Skema XML

Skema XML adalah deskripsi struktur dokumen XML. Spesifikasi yang sesuai (XML Schema Definition, atau XSD) adalah rekomendasi W3C.

XSD dirancang untuk mengekspresikan aturan yang harus diikuti oleh dokumen XML. Namun yang paling menarik bagi kami adalah XSD dirancang untuk digunakan saat mengembangkan perangkat lunak yang memproses dokumen XML. Ini memungkinkan kami memeriksa kebenaran dokumen XML secara terprogram.

File yang berisi skema XML memiliki ekstensi .xsd. Mendesain skema XML berada di luar cakupan pelajaran ini, jadi untuk saat ini, ketahuilah bahwa kemungkinan itu ada.