Mengapakah format teks diperlukan?

Format teks adalah mudah untuk menyimpan maklumat kerana ia boleh dicipta dan diproses oleh kedua-dua program dan manusia.

Fail teks (fail dalam format teks) boleh dibuka, dibaca dan diedit dalam pelbagai jenis penyunting teks.

Banyak program menggunakan fail konfigurasi berasaskan teks, walaupun format mengandungi nombor dan nilai binari (ya/tidak).

Ini menjadikan program agak rumit kerana keperluan untuk menukar daripada teks kepada format dalaman dan sebaliknya, tetapi ia memungkinkan untuk mengedit konfigurasi secara manual tanpa menggunakan alat konfigurasi dalam program itu sendiri.

Di manakah XML digunakan sekarang?

XML digunakan dalam pelbagai bidang IT. Ia boleh menjadi fail konfigurasi (dengan tetapan program) atau fail yang digunakan untuk memindahkan data antara program. Di Jawa, salah satu kes penggunaan yang paling biasa ialah mengkonfigurasi Maven, alat automasi binaan.

Struktur dokumen XML

Struktur fizikal dan logik dokumen XML disimpan berasingan. Dari segi struktur fizikal, dokumen tersebut terdiri daripada entiti yang boleh merujuk kepada entiti lain.

Elemen akar tunggal ialah entiti dokumen. Entiti ialah bahagian terkecil dalam dokumen. Semua entiti mempunyai nama dan mengandungi aksara.

Sebaliknya, aksara tergolong dalam satu daripada dua kategori: data aksara atau penanda.

Penanda termasuk:

  • tag, yang menunjukkan sempadan unsur;
  • pengisytiharan dan arahan pemprosesan, termasuk atributnya;
  • rujukan entiti;
  • ulasan;
  • jujukan aksara membalut bahagian CDATA.

Secara logiknya, dokumen itu terdiri daripada elemen, ulasan, pengisytiharan, rujukan entiti dan arahan pemprosesan. Markup digunakan untuk mencipta semua struktur ini dalam dokumen.

Semua bahagian konstituen dokumen dibahagikan kepada prolog dan elemen akar. Elemen akar adalah bahagian wajib dan penting dalam dokumen XML, manakala prolog mungkin tidak wujud sama sekali. Elemen akar boleh terdiri daripada elemen bersarang, data aksara dan ulasan. Elemen dokumen mesti bersarang dengan betul: sebarang elemen yang bermula di dalam elemen lain juga mesti berakhir di dalam elemen itu.

Simbol penanda

Markup sentiasa bermula dengan < dan berakhir dengan > .

Simbol < dan > (kurung sudut) dan & (ampersand) memainkan peranan khas. Tanda kurung sudut menunjukkan sempadan unsur, arahan pemprosesan dan beberapa urutan lain. Dan ampersand membantu kami menggantikan teks dengan entiti.

pengisytiharan XML

Pengisytiharan XML menentukan versi bahasa yang digunakan untuk menulis dokumen. Spesifikasi XML mengatakan untuk memulakan dokumen dengan pengisytiharan XML kerana tafsiran yang betul bagi kandungan dokumen bergantung pada versi bahasa.

Dalam versi pertama bahasa (1.0), pengisytiharan ini adalah pilihan, tetapi ia wajib dalam versi yang lebih baru. Pengisytiharan yang hilang diandaikan bermaksud versi 1.0. Pengisytiharan itu juga mungkin mengandungi maklumat tentang pengekodan dokumen.

Contoh:

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

Tag

Tag ialah binaan penanda yang mengandungi nama elemen. Terdapat tag permulaan dan tag akhir. Terdapat juga tag elemen kosong yang menggabungkan elemen permulaan dan akhir.

Contoh:

  • Teg mula: <tag1>

  • Teg tamat: </tag1>

  • Teg elemen kosong: <empty_tag1 />

Atribut

Satu lagi bahagian elemen XML ialah atribut. Satu elemen boleh mempunyai berbilang atribut unik. Atribut membolehkan kami menentukan lebih banyak maklumat tentang elemen. Atau lebih tepat lagi, atribut mentakrifkan sifat unsur.

Atribut sentiasa pasangan nilai nama:

nama = "nilai"

Contoh atribut dalam teg:

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

Nilai atribut mesti dibalut dengan petikan berganda ( " ) atau petikan tunggal ( ' ). Atribut hanya digunakan dalam teg permulaan dan teg elemen kosong.

Melarikan diri lima aksara khas (<, >, ', ”, &)

Jelas sekali, simbol < , > dan & tidak boleh digunakan sedemikian dalam data aksara dan nilai atribut. Anda perlu membuat urutan pelarian khas untuk mewakilinya. Urutan khas juga digunakan semasa menulis apostrof dan tanda petikan di dalam nilai atribut:

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

Juga, untuk menulis aksara \ , anda perlu menggunakan \\ .

bahagian CDATA

Bahagian CDATA bukan unit logik teks. Bahagian jenis ini boleh berlaku di mana sintaks XML membolehkan kami meletakkan data aksara dalam dokumen.

Bahagian ini bermula dengan <![CDATA[ dan berakhir dengan ]]> . Data aksara diletakkan di antara bit penanda ini, dan simbol < , > , dan & boleh digunakan dalam bentuk langsungnya.

Komen

Komen tidak dianggap sebagai data aksara. Komen bermula dengan <!-- dan berakhir dengan --> . Urutan aksara -- tidak boleh digunakan dalam ulasan. Selain itu, di dalam ulasan, aksara ampersand tidak menandakan markup.

Contoh:

<!-- ini ulasan -->

Nama

Dalam XML, semua nama boleh mengandungi hanya huruf dalam jadual aksara Unicode, angka Arab, noktah, titik bertindih, sempang dan garis bawah. Nama boleh bermula dengan huruf, bertindih atau garis bawah. Ambil perhatian bahawa nama tidak boleh bermula dengan rentetan XML .

Contoh

Mari kita lihat kelas Java dan objek kelas itu. Kemudian kami akan cuba mensirikan objek dalam format XML. Kod 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 penciptaan 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 ialah contoh perwakilan XML yang sah bagi objek Java yang mengandungi 4 medan, satu daripadanya ialah koleksi (lihat kod Java di atas):

<Buku>
  <tajuk>Buku Kegemaran Saya</title>
  <pengarang>Amigo</author>
  <pageCount>999</pageCount>
 <bab>
    <bab>Bab 1</bab>
    <bab>Bab 2</chapters>
    <bab>Bab 3</bab>
    <bab>Bab 4</bab>
    <bab>Bab 5</chapters>
    <bab>Bab 6</bab>
 </bab>
</Book>

Skema XML

Skema XML ialah perihalan struktur dokumen XML. Spesifikasi yang sepadan (Definisi Skema XML atau XSD) ialah pengesyoran W3C.

XSD direka bentuk untuk menyatakan peraturan yang mesti dipatuhi oleh dokumen XML. Tetapi perkara yang paling menarik bagi kami ialah XSD direka untuk digunakan semasa membangunkan perisian yang memproses dokumen XML. Ia membolehkan kami menyemak ketepatan dokumen XML secara pengaturcaraan.

Fail yang mengandungi skema XML mempunyai sambungan .xsd. Mereka bentuk skema XML adalah di luar skop pelajaran ini, jadi buat masa ini hanya sedar bahawa kemungkinan itu wujud.