Napa format teks dibutuhake?

Format teks trep kanggo nyimpen informasi amarga bisa digawe lan diproses dening program lan manungsa.

File teks (file ing format teks) bisa dibukak, diwaca lan diowahi ing macem-macem editor teks.

Akeh program nggunakake file konfigurasi adhedhasar teks, sanajan format kasebut ngemot angka lan nilai binar (ya/ora).

Iki nggawe program rada rumit amarga kudu ngowahi saka teks menyang format internal lan kosok balene, nanging bisa ngowahi konfigurasi kanthi manual tanpa nggunakake alat konfigurasi ing program kasebut.

Endi XML digunakake saiki?

XML digunakake ing macem-macem area IT. Bisa dadi file konfigurasi (karo setelan program) utawa file sing digunakake kanggo nransfer data antarane program. Ing Jawa, salah sawijining kasus panggunaan sing paling umum yaiku ngonfigurasi Maven, alat otomatisasi mbangun.

Struktur dokumen XML

Struktur fisik lan logis saka dokumen XML dipisahake. Ing babagan struktur fisik, dokumen kasebut kalebu entitas sing bisa ngarujuk marang entitas liyane.

Unsur ROOT siji-sijine yaiku entitas dokumen. Entitas minangka bagéan paling cilik ing sawijining dokumen. Kabeh entitas duwe jeneng lan ngemot karakter.

Sabanjure, karakter kalebu salah siji saka rong kategori: data karakter utawa markup.

Markup kalebu:

  • tags, sing nuduhake wates unsur;
  • deklarasi lan instruksi pangolahan, kalebu atribute;
  • referensi entitas;
  • komentar;
  • urutan karakter mbungkus bagean CDATA.

Secara logis, dokumen kasebut kalebu unsur, komentar, deklarasi, referensi entitas, lan instruksi pangolahan. Markup digunakake kanggo nggawe kabeh struktur iki ing dokumen.

Kabeh bagean konstituen saka dokumen dipérang dadi prolog lan unsur root. Unsur ROOT minangka bagean wajib lan penting saka dokumen XML, dene prolog bisa uga ora ana. Elemen root bisa kalebu unsur nested, data karakter, lan komentar. Unsur dokumen kudu disusun kanthi bener: unsur apa wae sing diwiwiti ing unsur liyane uga kudu rampung ing unsur kasebut.

Simbol markup

Markup tansah diwiwiti karo < lan dipungkasi karo > .

Simbol < lan > (kurung sudut) lan & (ampersand) nduweni peran khusus. Kurung sudut nuduhake wates unsur, instruksi pangolahan, lan sawetara urutan liyane. Lan ampersand mbantu kita ngganti teks karo entitas.

deklarasi XML

Pranyatan XML nemtokake versi basa sing digunakake kanggo nulis dokumen kasebut. Spesifikasi XML ujar kanggo miwiti dokumen kanthi deklarasi XML amarga interpretasi sing bener saka isi dokumen gumantung marang versi basa kasebut.

Ing versi pisanan basa (1.0), deklarasi iki opsional, nanging wajib ing versi sing luwih anyar. Pranyatan sing ilang dianggep tegese versi 1.0. Pranyatan kasebut bisa uga ngemot informasi babagan enkoding dokumen.

Tuladha:

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

Tag

Tag minangka konstruksi markup sing ngemot jeneng unsur. Ana tag wiwitan lan tag pungkasan. Ana uga tag unsur kosong sing nggabungake unsur wiwitan lan pungkasan.

Tuladha:

  • Tag wiwitan: <tag1>

  • Tag pungkasan: </tag1>

  • Tag elemen kosong: <empty_tag1 />

Atribut

Bagéan liya saka unsur XML yaiku atribut. Unsur bisa duwe macem-macem atribut unik. Atribut supaya kita nemtokake informasi luwih lengkap babagan unsur. Utawa luwih akurat, atribut nemtokake sifat unsur.

Atribut tansah pasangan jeneng-nilai:

jeneng = "nilai"

Conto atribut ing tag:

<tag1 name = "value">elemen</tag1>

Nilai atribut kudu dibungkus nganggo tanda kutip dobel ( " ) utawa tanda kutip tunggal ( ' ). Atribut mung digunakake ing tag wiwitan lan tag unsur kosong.

Mlayu limang karakter khusus (<, >, ', ”, &)

Temenan, simbol < , > lan & ora bisa digunakake ing data karakter lan nilai atribut. Sampeyan kudu urutan uwal khusus kanggo makili wong. Urutan khusus uga digunakake nalika nulis apostrof lan tanda petik ing nilai atribut:

Simbol Panggantos
< <
> >
& & amp;
' & apos;
" "

Uga, kanggo nulis \ karakter, sampeyan kudu nggunakake \\ .

bagean CDATA

Bagean CDATA dudu unit teks sing logis. Jinis bagean iki bisa kedadeyan ing ngendi sintaks XML ngidini kita nyelehake data karakter ing dokumen kasebut.

Bagian kasebut diwiwiti kanthi <![CDATA[ lan dipungkasi nganggo ]]> . Data karakter diselehake ing antarane bit markup iki, lan simbol < , > , lan & bisa digunakake ing wangun langsung.

Komentar

Komentar ora dianggep data karakter. Komentar diwiwiti nganggo <!-- lan dipungkasi nganggo --> . Urutan karakter -- ora bisa digunakake ing komentar. Uga, ing komentar, karakter ampersand ora nuduhake markup.

Tuladha:

<!-- iki komentar -->

Jeneng

Ing XML, kabeh jeneng mung bisa ngemot huruf ing tabel karakter Unicode, angka Arab, titik, titik dua, tanda hubung, lan garis ngisor. Jeneng bisa diwiwiti kanthi huruf, titik, utawa garis ngisor. Elinga yen jeneng ora bisa diwiwiti nganggo string XML .

Tuladha

Ayo ndeleng kelas Jawa lan obyek saka kelas kasebut. Banjur kita bakal nyoba kanggo serialize obyek ing 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
}

lan nggawe obyek:


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

Iki minangka conto perwakilan XML sing sah saka obyek Jawa sing ngemot 4 kolom, salah sijine yaiku koleksi (ndeleng kode Jawa ing ndhuwur):

<Buku>
  <judhul>Buku Favoritku</title>
  <penulis>Amigo</author>
  <pageCount>999</pageCount>
 <bab>
    <bab>Bab 1</bab>
    <bab>Bab 2</bab>
    <bab>Bab 3</bab>
    <bab>Bab 4</bab>
    <bab>Bab 5</bab>
    <bab>Bab 6</bab>
 </bab>
</Buku>

skema XML

Skema XML minangka deskripsi struktur dokumen XML. Spesifikasi sing cocog (Definisi Skema XML, utawa XSD) minangka rekomendasi W3C.

XSD dirancang kanggo nyebut aturan sing kudu dituruti dokumen XML. Nanging sing paling menarik kanggo kita yaiku XSD dirancang kanggo digunakake nalika ngembangake piranti lunak sing ngolah dokumen XML. Iku ngijini kita mriksa bener saka dokumen XML programmatically.

File sing ngemot skema XML duwe ekstensi .xsd. Ngrancang skema XML ngluwihi ruang lingkup pelajaran iki, mula saiki kudu ngerti manawa ana kemungkinan.