Konstruk XML asas - elemen XML, tag, atribut, arahan pemprosesan, bahagian CDATA, ulasan. bahasa xml

Kami meneruskan kajian XML kami sekali lagi dan dalam artikel ini kami akan berkenalan dengan binaan XML seperti arahan pemprosesan, ulasan, atribut dan elemen XML lain. Elemen ini adalah asas dan membolehkan anda secara fleksibel, mengikut piawaian, menanda dokumen yang mempunyai sebarang kerumitan.

Kami telah membincangkan sebahagiannya beberapa perkara, seperti teg XML, dalam artikel sebelumnya "". Sekarang kita akan menyentuh topik ini sekali lagi dan menelitinya dengan lebih terperinci. Ini dilakukan secara khusus untuk memudahkan anda mendapatkan gambaran penuh binaan XML.

Elemen XML. Elemen XML kosong dan tidak kosong

Seperti yang dinyatakan dalam artikel sebelumnya, teg dalam XML tidak hanya menandakan teks, seperti yang berlaku dalam HTML, tetapi menyerlahkan elemen individu (objek). Seterusnya, elemen menyusun maklumat secara hierarki dalam dokumen, yang seterusnya menjadikannya unit struktur utama bahasa XML.

Dalam XML, elemen boleh terdiri daripada dua jenis - kosong dan tidak kosong. Elemen kosong tidak mengandungi sebarang data, seperti teks atau binaan lain. Tidak seperti elemen kosong, elemen bukan kosong boleh mengandungi sebarang data, seperti teks atau elemen dan binaan XML lain. Untuk memahami perkara di atas, mari lihat contoh elemen XML kosong dan tidak kosong.

Elemen XML kosong

Unsur XML bukan kosong

Kandungan unsur...

Seperti yang dapat kita lihat daripada contoh di atas, perbezaan utama antara elemen kosong dan tidak kosong ialah ia terdiri daripada satu tag sahaja. Di samping itu, ia juga perlu diperhatikan bahawa dalam XML semua nama adalah sensitif huruf besar. Ini bermakna bahawa nama myElement, MyElement, MYELEMENT, dll. berbeza antara satu sama lain, jadi detik ini harus diingati segera untuk mengelakkan kesilapan di masa hadapan.
Jadi, kami mengetahui unsur-unsurnya. Sekarang mari kita beralih ke titik seterusnya, iaitu organisasi logik dokumen XML.

Organisasi logik dokumen XML. Struktur pokok data XML

Seperti yang anda ingat, binaan utama bahasa XML ialah elemen, yang boleh mengandungi binaan bersarang lain dan seterusnya membentuk struktur hierarki dalam bentuk pokok. Dalam kes ini, elemen induk akan menjadi akar dan semua elemen anak lain akan menjadi cabang dan daun pokok XML.

Untuk memudahkan pemahaman di atas, mari kita lihat gambar berikut dengan contoh.

Seperti yang kita dapat lihat, menyusun dokumen XML sebagai pokok adalah struktur yang agak mudah untuk diproses. Pada masa yang sama, kerumitan ekspresif pokok itu sendiri agak hebat. Perwakilan pokok ialah cara yang paling optimum untuk menerangkan objek dalam XML.

Atribut XML. Peraturan untuk menulis atribut dalam XML

Dalam XML, elemen juga boleh mengandungi atribut dengan nilai yang diberikan kepada mereka, yang diletakkan dalam petikan tunggal atau berganda. Atribut untuk elemen ditetapkan seperti berikut:

Dalam kes ini, atribut dengan nama "atribut" dan nilai "nilai" telah digunakan. Perlu diperhatikan dengan segera bahawa atribut XML mesti mengandungi beberapa nilai dan tidak boleh kosong. Jika tidak, kod itu akan menjadi salah dari sudut pandangan XML.

Ia juga bernilai memberi perhatian kepada penggunaan tanda petikan. Nilai atribut boleh disertakan dalam petikan tunggal atau berganda. Di samping itu, ia juga mungkin untuk menggunakan beberapa petikan di dalam yang lain. Untuk menunjukkan, pertimbangkan contoh berikut.

Sebelum kita melihat binaan XML yang lain, ia juga perlu diperhatikan bahawa apabila mencipta atribut, aksara khas seperti ampersand "&" atau kurungan sudut " tidak boleh digunakan sebagai nilai.<>" Aksara ini dikhaskan sebagai aksara kawalan (“&” ialah entiti, dan “<» и «>» buka dan tutup tag elemen) dan tidak boleh digunakan dalam "bentuk tulen". Untuk menggunakannya, anda perlu menggantikan aksara khas.

Arahan pemprosesan XML (arahan pemprosesan). pengisytiharan XML

XML mempunyai keupayaan untuk memasukkan arahan dalam dokumen yang membawa maklumat khusus untuk aplikasi yang akan memproses dokumen tertentu. Arahan pemprosesan dalam XML dicipta seperti berikut.

Seperti yang anda lihat daripada contoh di atas, dalam XML, arahan pemprosesan disertakan dalam petikan sudut dengan tanda soal. Ini agak seperti biasa yang kami lihat dalam pelajaran PHP pertama. Bahagian pertama arahan pemprosesan menentukan aplikasi atau sistem yang bertujuan untuk bahagian kedua arahan ini atau kandungannya. Walau bagaimanapun, arahan pemprosesan hanya sah untuk aplikasi yang dialamatkan. Contoh arahan pemprosesan boleh menjadi arahan berikut.

Perlu diingat bahawa XML mempunyai binaan khas yang hampir sama dengan arahan pemprosesan, tetapi ia sendiri bukanlah satu. Kita bercakap tentang pengisytiharan XML yang menyampaikan kepada perisian pemprosesan beberapa maklumat tentang sifat dokumen XML, seperti pengekodan, versi bahasa di mana dokumen itu ditulis, dsb.

Seperti yang anda boleh lihat daripada contoh di atas, pengisytiharan XML mengandungi apa yang dipanggil pseudo-atribut, yang hampir sama dengan atribut biasa yang kita bincangkan di atas. Hakikatnya, mengikut definisi, pengisytiharan XML dan arahan pemprosesan tidak boleh mengandungi atribut, jadi pengisytiharan ini dipanggil pseudo-atribut. Ini wajar diingati untuk masa hadapan bagi mengelakkan pelbagai kesilapan.

Memandangkan kita telah berurusan dengan pseudo-atribut, mari kita lihat apa yang mereka maksudkan.

  • Pengekodan – bertanggungjawab untuk pengekodan dokumen XML. Biasanya pengekodan UTF8 digunakan.
  • Versi – versi bahasa XML di mana dokumen ini ditulis. Biasanya ini ialah XML versi 1.0.

Nah, sekarang mari kita beralih ke bahagian penutup artikel dan pertimbangkan binaan XML seperti bahagian komen dan CDATA.

Pembaca akan belajar menggunakan XSLT, yang membolehkan anda menukar dokumen dari satu format ke format yang lain. Ketahui alat XPath, yang digunakan untuk mengakses bahagian dokumen XML yang berlainan. Ini dan teknologi lain yang diterangkan dalam buku ini membolehkan anda mengeluarkan dokumen dalam format HTML, menggunakan pelbagai pengekodan, khususnya, untuk Russification, dan banyak lagi.

Apa lagi buku ini? Soalan ini boleh dijawab dengan cara ini: Buku Alexey Valikov "Teknologi XSLT" membincangkan teknologi yang memudahkan penggunaan data berstruktur dalam aplikasi web, dengan itu membuka jalan untuk projek besar dan sangat besar.

"Tutorial XML" sesuai untuk kajian bebas teknologi komputer - XML, yang cepat menembusi hampir semua bidang pertukaran maklumat. Buku ini memperkenalkan aspek terkini teknologi XML—bahasa pertanyaan XQuery, bahasa penerangan dokumen XSD dan pemformatan dokumen XSL-FO. Ambil perhatian bahawa bermula dengan asas teknologi XML, Ildar Khabibullin secara beransur-ansur membawa pengguna ke tahap mencipta pelbagai program secara bebas yang memproses dokumen XML. Penyampaian adalah berdasarkan kursus pengarang kuliah dan dicirikan oleh keringkasan dan kesederhanaan. Sebilangan besar latihan dan contoh memungkinkan untuk menguasai bahan dengan mendalam. Tutorial ini bertujuan untuk pengaturcara.

Buku "XSLT. A Collection of Recipes" ialah panduan yang amat diperlukan untuk semua pengaturcara, kerana ia menyediakan penyelesaian kepada beratus-ratus masalah yang perlu dihadapi oleh pembangun apabila menggunakan bahasa XSLT (Extensible Stylesheet Language Transformation). Bahasa ini ialah alat utama untuk memproses dokumen XML, tetapi ramai pembangun tidak menguasainya pada tahap yang sepatutnya, lebih suka mengubah suai kod sedia ada daripada mencipta yang baharu. Penerbitan ini akan membantu anda memahami kedua-dua versi XSLT. Kelebihan besar buku ini adalah hakikat bahawa ia bukan sahaja menyediakan penyelesaian kepada masalah tertentu yang timbul semasa penciptaan program, tetapi juga menyediakan rasional untuk penyelesaian dan penjelasan tentang metodologi yang digunakan, serta penyelesaian alternatif. Buku ini direka untuk pengaturcara yang mempunyai tahap kemahiran yang berbeza - mereka yang sudah biasa dengan bahasa XSLT dan mereka yang baru mula menguasainya.

XSLT ialah sistem transformasi dokumen yang mudah dan cekap yang digunakan secara meluas hari ini. Stephen Holzner bukan sahaja menyediakan analisis terperinci sintaks XSLT, tetapi juga menerangkan penggunaan sistem moden dengan jelas. Buku ini mengandungi beratus-ratus contoh yang memberitahu anda cara transformasi XSLT dijalankan dalam amalan pada pelayan web dan cara penyemak imbas digunakan untuk melakukan transformasi dengan cepat. Buku ini penting untuk sesiapa sahaja yang ingin mempelajari XSLT dan menggunakannya dalam amalan.

Buku "Pengaturcaraan XML dan SOAP untuk Pelayan BizTalk" oleh pengarang Brian Travis mengkaji teknologi yang mendasari e-dagang dan perniagaan Internet moden. Piawaian untuk penstrukturan hierarki maklumat, ideologi Biztalk dan skema pembentangan digariskan secara terperinci. Selain itu, isu berkaitan penyepaduan dan pembangunan aplikasi pada platform Biztalk dibangkitkan. Kandungan buku diterangkan melalui contoh khusus untuk mencipta klien dan pelayan SOAP dan membangunkan penyelesaian untuk mengautomasikan pertukaran antara berbilang tapak web dan dokumen XML. Lampiran menyediakan banyak bahan rujukan, termasuk infrastruktur BizTalk terkini dan spesifikasi protokol SOAP. Penerbitan ini menarik minat pengurus projek Internet, pencipta perisian e-dagang dan sesiapa sahaja yang ingin mengembangkan pengetahuan mereka tentang kaedah moden penstrukturan maklumat. Buku ini mengandungi 12 bab, empat lampiran dan indeks subjek. Cakera yang disertakan bersama buku mengandungi perisian, dokumentasi, contoh pelaksanaan aplikasi dan versi elektronik penerbitan bercetak.

Buku “Membangunkan Perkhidmatan Web XML Menggunakan Microsoft .NET” menerangkan pembinaan dan penggunaan perkhidmatan Web menggunakan platform Microsoft .NET. Kajian semula teknologi Internet ASP.NET dan Remoting, DISCO, UDDI, protokol SOAP, XML, bahasa WSDL, dan peranan mereka dalam pembangunan perkhidmatan Web disediakan. Mengandungi penerangan tentang perkembangan terkini Microsoft yang memudahkan reka bentuk dan pengedaran perkhidmatan Web. Ia juga mengandungi perbincangan tentang cara yang produktif untuk menyahpepijat perkhidmatan Web, melindungi maklumat yang dihantar dan memastikan kebolehskalaan dan ketersediaan perkhidmatan Web yang meningkat. Buku ini dilengkapi dengan banyak contoh untuk memudahkan pemahaman teori.

Pengaturcaraan untuk Microsoft SQL Server 2000 dengan XML oleh Graham Malcolm ialah panduan praktikal untuk membangunkan aplikasi perniagaan menggunakan XML dan SQL Server. Ia memerlukan pandangan terperinci tentang mendapatkan semula, memasukkan dan memetakan data XML menggunakan XPath, Skema XDR, Bahasa Transformasi XSL, HTTP dan OLE DB yang popular serta teknologi terkini. Contoh dalam buku menunjukkan cara memindahkan proses perniagaan perusahaan yang penting ke Web menggunakan SQL Server dan XML. Edisi ini mengandungi 9 bab dan lampiran yang menerangkan asas bahasa XML secara peribadi untuk pentadbir DBMS SQL Server. Buku ini akan berguna kepada sesiapa sahaja yang ingin belajar cara mengintegrasikan aplikasi dan proses perniagaan perusahaan yang menyimpan data dalam pangkalan data SQL Server menggunakan XML.

Buku Alexey Starygin "XML: Pembangunan Aplikasi Web" mengandungi penerangan terperinci tentang bahasa XML bersama-sama dengan bahasa XSLT dan XPath yang diterangkan di bahagian pertama. Edisi kedua mengandungi panduan praktikal tentang aplikasi bahan yang dibentangkan dalam yang pertama. Selain XML, kami mempertimbangkan tugasan yang berlaku semasa membina aplikasi Web sebenar, seperti menghantar parameter permintaan HTTP ke pelayan, mereka bentuk borang, mempersembahkan data menggunakan helaian gaya berlatarkan dan memproses tindakan pengguna menggunakan JavaScript.

Buku teks "XML. Direktori Master WEB" ialah alat yang sangat diperlukan untuk mereka yang berminat dengan perkembangan baharu dalam teknologi untuk pembangunan dan pelaksanaan dokumen yang akan disiarkan di tapak Internet. Ia akan memperkenalkan anda kepada asas XML. Buku rujukan ini mengandungi takrifan semua elemen XML dan membincangkan banyak isu berkenaan reka bentuk dokumen XML dan pemilihan gaya. Di samping itu, rujukan menyediakan maklumat berguna tentang cara membuat hiperpautan XLink, cara mengenal pasti sumber XPointer dan maklumat tentang menggunakan saluran CDF, kedua-dua sumber WAP dan di Internet. Selain itu, terdapat spesifikasi WML, XML, XML dan Skema.

Dalam buku “XML. Encyclopedia" membentangkan dua pendekatan utama kepada pengaturcaraan XML: pendekatan Microsoft dan alternatifnya. Buku ini merangkumi banyak topik berguna, seperti: helaian gaya berlatarkan, pemformatan, menggunakan penyemak imbas, menghuraikan dan menyambungkan dokumen XML ke pelbagai aplikasi dan pelayan pangkalan data. Seorang pengaturcara baru boleh bergantung pada buku ini untuk mempelajari XML, dan pengaturcara yang berpengalaman akan mengembangkan pengetahuan mereka.

bahasa penanda) ialah satu set arahan khas, dipanggil tag, direka bentuk untuk membentuk struktur dalam dokumen dan mentakrifkan hubungan antara pelbagai elemen struktur ini. Dalam erti kata lain, markup menunjukkan bahagian dokumen mana yang merupakan tajuk, yang merupakan sari kata, nama pengarang yang perlu dipertimbangkan, dll. Penandaan dibahagikan kepada penanda gaya, struktur dan semantik.

Penanda bergaya

Penanda gaya bertanggungjawab untuk penampilan dokumen. Sebagai contoh, dalam HTML jenis markup ini termasuk tag seperti (condong), (bold), (garis bawah), (teks yang dicoret), dsb.

Penandaan struktur

Penanda struktur mentakrifkan struktur dokumen. Dalam HTML, sebagai contoh, tag (perenggan) bertanggungjawab untuk jenis markup ini. (tajuk),

(bahagian), dsb.

Penanda semantik

Penanda semantik memberitahu kandungan data. Contoh penanda jenis ini ialah tag (nama dokumen), (kod, digunakan untuk penyenaraian kod), (pembolehubah),

(alamat penulis).

Konsep asas mana-mana bahasa penanda ialah tag, elemen dan atribut.

Tag dan elemen.

Makna tag dan elemen sering keliru.

Teg, atau deskriptor kawalan sebagaimana ia juga dipanggil, berfungsi sebagai arahan untuk atur cara yang memaparkan kandungan dokumen pada bahagian klien tentang perkara yang perlu dilakukan dengan kandungan teg. Tanda kurung sudut digunakan untuk membezakan teg berbanding dengan kandungan utama dokumen: teg bermula dengan tanda kurang daripada (<) и завершается знаком "больше" (>), di dalamnya nama arahan dan parameternya diletakkan. Sebagai contoh, dalam HTML teg menunjukkan bahawa teks yang berikut hendaklah dalam huruf condong.

Elemen ialah tag bersama dengan kandungannya. Pembinaan berikut ialah contoh elemen:

Teks ini dalam huruf condong .

Elemen ini terdiri daripada tag pembuka (dalam contoh kami ini ialah tag ), kandungan tag (dalam contoh ini ialah teks "Ini adalah teks dalam huruf condong") dan tag penutup(), walaupun kadangkala dalam HTML, teg penutup boleh diabaikan.

Atribut

Untuk menetapkan sebarang parameter yang menjelaskan ciri elemen ini apabila mentakrifkan elemen, atribut digunakan.

Atribut terdiri daripada pasangan nama = nilai yang boleh ditentukan semasa mentakrifkan elemen dalam teg permulaan. Anda boleh meninggalkan ruang di sebelah kiri dan kanan simbol sama. Nilai atribut ditentukan sebagai rentetan yang disertakan dalam petikan tunggal atau berganda.

Mana-mana teg boleh mempunyai atribut jika atribut itu ditakrifkan.

Apabila atribut digunakan, elemen mengambil bentuk berikut:

<имя_тега атрибут = "значение"> kandungan tag

Teks dijajarkan ke tengah

Satu teg pembukaan boleh mengandungi berbilang atribut, contohnya:

Saiz dan warna teks yang ditentukan

Sejarah perkembangan bahasa markup.

Konsep hiperteks telah diperkenalkan oleh W. Bush pada tahun 1945, dan bermula pada tahun 60-an, aplikasi pertama menggunakan data hiperteks mula muncul. Walau bagaimanapun, teknologi ini menerima perkembangan utamanya apabila timbul keperluan sebenar untuk mekanisme untuk menggabungkan pelbagai sumber maklumat, memberikan keupayaan untuk mencipta dan melihat teks bukan linear.

Pada tahun 1986, ISO meluluskan Standardized Generalized Markup Language. Bahasa ini bertujuan untuk mencipta bahasa penanda lain; ia mentakrifkan set teg yang sah, atributnya dan struktur dalaman dokumen. Oleh itu, adalah mungkin untuk membuat tag anda sendiri yang berkaitan dengan kandungan dokumen. Kini menjadi jelas bahawa dokumen sedemikian sukar untuk ditafsir tanpa definisi bahasa penanda, yang disimpan dalam Definisi Jenis Dokumen (DTD). DTD mengumpulkan semua peraturan bahasa dalam standard SGML. Dalam erti kata lain, DTD menerangkan hubungan teg antara satu sama lain dan peraturan penggunaannya. Selain itu, untuk setiap kelas dokumen, set peraturannya sendiri ditakrifkan yang menerangkan tatabahasa bahasa penanda yang sepadan. Oleh itu, hanya dengan bantuan DTD seseorang boleh mengesahkan penggunaan tag yang betul dan, oleh itu, ia mesti dihantar bersama dokumen SGML atau dimasukkan ke dalam dokumen.

Pada masa itu, sebagai tambahan kepada SGML, terdapat beberapa bahasa lain yang serupa bersaing antara satu sama lain, tetapi populariti (HTML, yang merupakan salah satu keturunannya) memberikan SGML kelebihan yang tidak dapat dinafikan berbanding rakan sejawatannya.

Menggunakan SGML, anda boleh menerangkan data berstruktur, menyusun maklumat yang terkandung dalam dokumen dan membentangkan maklumat ini dalam beberapa format piawai. Tetapi kerana kerumitannya, SGML digunakan terutamanya untuk menerangkan sintaks bahasa lain, dan beberapa aplikasi berfungsi dengan dokumen SGML secara langsung. SGML biasanya digunakan hanya dalam projek besar, contohnya, untuk mencipta sistem pengurusan dokumen bersatu untuk syarikat besar.

Bahasa penanda HTML adalah lebih mudah dan lebih mudah daripada SGML, arahannya terutamanya bertujuan untuk mengawal proses memaparkan kandungan dokumen pada skrin. HTML sebagai cara untuk menandakan dokumen teknikal telah dicipta oleh Tim Berners-Lee pada tahun 1991 khusus untuk komuniti saintifik. Ia pada asalnya hanyalah salah satu daripada aplikasi SGML.

Walaupun fakta bahawa satu-satunya perkara yang boleh dilakukan oleh HTML ialah mengklasifikasikan bahagian dokumen dan memastikan paparan yang betul dalam penyemak imbas, ia adalah bahasa penanda yang paling popular. Ini kerana HTML agak mudah dipelajari. Apa yang anda perlu lakukan ialah mempelajari arahan HTML. DTD untuk HTML disimpan dalam penyemak imbas. Di samping itu, perlu diingatkan bahawa HTML direka untuk berfungsi pada pelbagai jenis platform. Tetapi ia mempunyai beberapa batasan penting:

  1. HTML mempunyai set teg tetap, dan set ini tidak boleh dikembangkan atau diubah;
  2. Teg bahasa HTML menunjukkan hanya bagaimana data harus dipersembahkan, iaitu penampilan dokumen. HTML tidak membawa maklumat tentang maksud kandungan yang terkandung dalam teg atau struktur dokumen.

XML singkatan untuk Extensible Markup Language, dengan penekanan pada markup. Anda boleh mencipta teks dan menandainya dengan tag pembingkaian, menukar setiap perkataan, ayat atau serpihan menjadi maklumat yang boleh dikenal pasti dan boleh diisih. Fail, atau contoh dokumen, yang anda buat terdiri daripada elemen (teg) dan teks, dan elemen membantu anda memahami dokumen dengan betul apabila membacanya di atas kertas atau memprosesnya secara elektronik. Lebih banyak elemen deskriptif, lebih banyak bahagian dokumen yang boleh dikenal pasti. Sejak hari-hari awal markup, salah satu kelebihannya ialah jika sistem komputer hilang, data yang dicetak masih boleh dibaca terima kasih kepada tag.

Bahasa penanda telah berkembang daripada bentuk pertama yang dicipta oleh syarikat dan agensi kerajaan, kepada Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML), dan akhirnya kepada XML. SGML mungkin kelihatan rumit, dan HTML (yang pada asasnya hanyalah koleksi elemen pada mulanya) telah terbukti tidak cukup berkuasa untuk mengenal pasti maklumat. XML direka bentuk untuk menjadi bahasa penanda yang mudah digunakan dan mudah dilanjutkan.

Dalam XML, anda boleh mencipta elemen anda sendiri, membolehkan anda mewakili cebisan data dengan tepat. Dokumen bukan sahaja boleh dibahagikan kepada perenggan dan tajuk, tetapi juga sebarang serpihan dalam dokumen boleh diserlahkan. Untuk ini berkesan, anda perlu menentukan senarai akhir elemen anda dan berpegang padanya. Elemen boleh ditakrifkan dalam Definisi Jenis Dokumen (DTD) atau dalam skema, seperti yang dibincangkan secara ringkas di bawah. Setelah anda menguasai dan mula menggunakan XML, jangan takut untuk mencuba dengan nama elemen semasa anda membuat fail sebenar.

Membina Dokumen XML

Seperti yang dinyatakan, fail XML terdiri daripada teks dan markup. Kebanyakan teks diletakkan dalam elemen di mana teks dikelilingi oleh tag. Sebagai contoh, katakan anda ingin mencipta buku masakan dalam format XML. Kami mempunyai resipi yang dipanggil Ais Krim Sundae yang perlu ditukar kepada XML. Untuk menandakan nama resipi, kami melampirkan teksnya dalam elemen yang bermula dan berakhir dengan tag. Elemen ini boleh dipanggil nama resipi . Untuk menandakan teg permulaan sesuatu elemen, letakkan namanya dalam kurungan sudut<>), seperti ini: . Kemudian masukkan teks Ice Cream Sundae. Selepas teks, kami meletakkan teg akhir, iaitu nama elemen dalam kurungan sudut, ditambah dengan garis miring di belakang elemen (/) sebelum nama elemen, seperti ini:. Teg ini membentuk elemen di mana anda boleh memasukkan teks dan juga elemen lain.

Nama elemen boleh dibuat untuk dokumen individu atau untuk kumpulan dokumen. Mengikut keperluan anda, anda boleh menentukan peraturan yang mesti dipatuhi untuk elemen. Elemen boleh menjadi khusus atau agak umum. Peraturan juga mesti menentukan perkara yang boleh diterima untuk dimasukkan dalam setiap elemen. Mereka boleh menjadi ketat, longgar atau di antara. Hanya cipta elemen yang mentakrifkan bahagian dokumen anda yang anda fikirkan penting.

Mula mencipta fail XML

Baris pertama dokumen XML boleh jadi pengisytiharan XML. Bahagian pilihan fail ini mengenal pasti ia sebagai fail XML, yang boleh membantu alat automatik dan manusia mengenali fail tersebut sebagai XML dan bukannya SGML atau penanda lain.

Pengisytiharan itu mungkin kelihatan sepertiatau sertakan versi XML dan juga pengekodan aksara, mis.untuk Unicode. Oleh kerana pengisytiharan ini mesti berada di awal fail, jika anda merancang untuk menggabungkan fail XML kecil ke dalam fail yang lebih besar, sebaiknya langkau elemen pilihan ini.

Mencipta elemen akar

Teg permulaan dan akhir elemen akar mengelilingi keseluruhan teks dokumen XML. Perlu ada hanya satu elemen akar dalam fail, dan ini adalah "penutup" yang diperlukan untuknya. Penyenaraian 1 menunjukkan coretan contoh yang saya gunakan di sini, dengan elemen akar (resipi).

Penyenaraian 1. Unsur akar

Semasa anda membuat dokumen anda, anda akan meletakkan teks dan teg tambahan antara Dan .

Penghormatan kes dalam tag

Apabila membuat XML, kes teg permulaan dan penamat mesti sepadan. Jika tidak, anda mungkin menerima mesej ralat semasa menggunakan atau melihat XML. Sebagai contoh, Internet Explorer tidak memaparkan teks jika terdapat ketidakpadanan kes. Sebaliknya, ia memaparkan mesej tentang ketidakpadanan antara teg permulaan dan penamat.

Nama unsur

Jadi kita mempunyai elemen akar . Dalam XML, nama elemen pertama kali dipilih dan kemudian perihalan atau skema DTD yang sepadan ditentukan berdasarkan nama tersebut. Nama boleh mengandungi huruf, nombor dan aksara khas seperti garis bawah (_). Berikut ialah beberapa peraturan tentang nama yang perlu diingat:

  • Ruang tidak dibenarkan dalam nama unsur.
  • Nama mesti bermula dengan huruf, bukan nombor atau tanda. Selepas huruf pertama ini, anda boleh menggunakan sebarang kombinasi huruf, nombor dan simbol yang sah.
  • Kes tidak penting, tetapi pastikan anda mengikutinya untuk mengelakkan kekeliruan.

Penyenaraian 2. Elemen lain

Ais krim sundae 5 minit

Dokumen XML boleh mengandungi teg kosong, yang tidak mempunyai apa-apa di dalamnya dan boleh dinyatakan sebagai teg tunggal dan bukannya sepasang teg mula dan akhir. Sebagai contoh, ini boleh menjadi teg gaya HTML kendiri . Ia tidak mengandungi sebarang elemen atau teks kanak-kanak, jadi ia adalah elemen kosong dan boleh ditulis sebagai (dengan ruang dan garis miring biasa di hujungnya).

Elemen bersarang

Nesting ialah penempatan elemen di dalam elemen lain. Elemen baharu ini dipanggil elemen kanak-kanak, dan elemen yang mengelilinginya dipanggil elemen induknya. Dalam Penyenaraian 3 kepada unsur akar beberapa elemen bersarang. Ini adalah kanak-kanak bersarang , Dan Di dalam elemen terdapat beberapa elemen kanak-kanak yang sama . Bersarang boleh menjadikan dokumen XML berbilang peringkat.

Ralat sintaks biasa melibatkan elemen induk dan anak bersarang. Setiap elemen anak mesti diletakkan sepenuhnya di antara tag pembuka dan penutup elemen induknya. Elemen kanak-kanak mesti berakhir sebelum kanak-kanak seterusnya bermula.

Contoh sarang yang betul ditunjukkan dalam Penyenaraian 3. Teg bermula dan berakhir tanpa berjalin dengan teg lain.

Penyenaraian 3. Sarang elemen XML yang betul.

Ais krim sundae 3 1 kacang 1 ceri 5 minit

Menambah atribut

Atribut kadangkala ditambahkan pada elemen. Atribut terdiri daripada pasangan nilai-nama, di mana nilai disertakan dalam petikan berganda ("), seperti ini: type="dessert" . Atribut membolehkan anda menyimpan parameter tambahan dengan elemen, menukar nilai-nilai ini parameter daripada elemen ke elemen dalam dokumen yang sama.

Atribut - atau bahkan beberapa atribut - ditentukan dalam teg permulaan elemen: . Apabila menambah berbilang atribut, ia dipisahkan oleh ruang: . Penyenaraian 4 menunjukkan fail XML seperti yang kelihatan sekarang.

Penyenaraian 4. Fail XML kami dengan elemen dan atribut

Ais krim sundae 5 minit

Sebarang bilangan atribut boleh digunakan. Pertimbangkan butiran yang boleh anda tambahkan pada dokumen anda. Atribut amat berguna jika dokumen akan disimpan - contohnya, mengikut jenis resipi. Nama atribut boleh mengandungi aksara yang sama seperti nama elemen, dengan peraturan yang sama untuk mengecualikan ruang dan memulakan nama dengan huruf.

XML yang dibina dengan betul dan salah

Jika anda mengikut peraturan yang ditakrifkan dalam rangka kerja anda, anda boleh membuat kod XML yang dibentuk dengan baik dengan mudah. XML yang sah ialah kod XML yang mengikut semua peraturan XML: penamaan elemen yang betul, sarang, penamaan atribut, dsb.

Bergantung pada apa sebenarnya yang anda lakukan dengan XML, anda mungkin perlu bekerja dengan XML yang dibentuk dengan baik. Pertimbangkan contoh pengisihan mengikut jenis resipi di atas. Ia adalah perlu bahawa unsur-unsur mengandungi atribut jenis. Adalah sangat penting untuk berjaya menguji kod dan memastikan bahawa nilai atribut ini sentiasa ada.

Pengesahan bermaksud menyemak struktur dokumen untuk pematuhan peraturan yang ditetapkan untuknya dan takrifan elemen anak untuk setiap elemen induk. Peraturan ini ditakrifkan dalam Penerangan Jenis Dokumen (DTD) atau skema. Pengesahan jenis ini memerlukan anda membuat DTD atau skema dan kemudian merujuk fail DTD atau skema dalam fail XML anda.

Untuk mendayakan pengesahan, anda perlu meletakkan pengisytiharan jenis dokumen (DOCTYPE) berhampiran permulaan dokumen XML anda. Baris ini mengandungi pautan ke DTD atau skema (senarai elemen dan peraturan) yang akan digunakan untuk mengesahkan dokumen ini. Baris DOCTYPE mungkin kelihatan seperti dalam Penyenaraian 5.

Contoh ini bermakna bahawa senarai item anda fail bernama filename.dtd terletak pada komputer anda.

Menggunakan Entiti

(entiti) boleh menjadi serpihan teks atau aksara khas. Ia boleh ditentukan di dalam dokumen atau di luarnya. Untuk mengelakkan ralat dan untuk dipaparkan dengan betul, entiti mesti diisytiharkan dan dinyatakan dengan betul.

Anda tidak boleh memasukkan aksara khas terus ke dalam teks. Untuk menggunakan aksara khas dalam teks, anda perlu menjadikannya entiti dan menggunakan kod aksara ini. Anda boleh mentakrifkan frasa, seperti nama syarikat, sebagai entiti, dan kemudian menggunakannya sepanjang teks anda. Untuk mencipta entiti, beri nama dan masukkan nama itu dan masukkan nama itu ke dalam teks selepas ampersand (&) dan berakhir dengan koma bertitik - contohnya, (atau nama lain). Kemudian tentukan kod ini dalam baris DOCTYPE anda dalam kurungan segi empat sama(), seperti dalam Penyenaraian 6. Kod ini menentukan teks yang digantikan untuk entiti.

Penyenaraian 6. Entiti

Menggunakan entiti membantu mengelakkan pengulangan frasa atau maklumat yang sama berulang kali. Ia juga boleh memudahkan untuk mengedit teks (contohnya, jika syarikat menukar namanya) di banyak tempat serentak dengan hanya menyediakan rentetan definisi entiti.

Bagaimana untuk mengelakkan kesilapan

Semasa anda belajar membuat fail XML, bukanya dalam editor XML untuk memastikan ia betul secara rasmi dan memastikan peraturan XML dipatuhi. Contohnya, jika anda mempunyai Windows® Internet Explorer®, anda hanya boleh membuka fail XML anda dalam penyemak imbas. Jika elemen, atribut dan teks anda dipaparkan, maka fail XML disusun dengan betul. Jika terdapat ralat, anda mungkin telah mengacaukan sesuatu dalam sintaks dan anda perlu menyemak dokumen anda dengan teliti untuk kesilapan menaip atau hilang teg dan tanda baca.

Seperti yang dinyatakan dalam bahagian Nesting of Elements, elemen yang mengandungi elemen lain dipanggil induk bagi elemen bersarang itu. Dalam contoh di bawah ialah elemen akar dan mengandungi semua teks fail. Kepada elemen induk ini elemen kanak-kanak bersarang , , dan lain lain. Struktur ini membuat , Dan elemen kanak-kanak. Ingatlah untuk menyusun elemen kanak-kanak ini dengan betul. Penyenaraian 7 ialah contoh dokumen XML yang dibentuk dengan baik dengan sarang elemen yang betul.

Penyenaraian 7. Dokumen XML yang dibentuk dengan baik

Ais krim sundae 0.5 Aiskrim vanilla 3 sirap coklat atau coklat fudge 1 kacang 1 ceri 1 mangkuk 1 sudu 1 senduk ais krim Menggunakan sudu aiskrim, masukkan aiskrim vanila ke dalam mangkuk. Sirap coklat sirap atau coklat fudge ke atas aiskrim. Taburkan kacang di atas timbunan coklat dan aiskrim. Letakkan ceri di atas busut dengan batang menghala ke atas. Hidang. 5 minit

Nota: Pemisahan baris menjadikan kod lebih mudah dibaca dan tidak menjejaskan XML itu sendiri.

Anda boleh mencuba dengan fail ujian dan mengalihkan teg mula dan tamat untuk melihat mesej ralat.

Pengesahan XML

Rajah 1 menunjukkan dokumen XML yang elemennya dipaparkan tanpa ranap dalam Internet Explorer. Teks dibingkai dengan membuka dan menutup tag. Di sebelah elemen induk terdapat ikon tambah (+) dan tolak (-), yang membolehkan anda mengalih keluar semua elemen bersarang (anak mereka) di dalam elemen.

Rajah 1. Contoh fail XML dengan kanak-kanak runtuh

Kesimpulan

Dengan mengambil kira beberapa peraturan mudah, anda boleh mereka bentuk elemen XML anda sendiri dan atributnya dengan cara yang fleksibel. Peraturan XML tidak rumit. Menaip dokumen XML juga mudah. Perkara utama ialah memahami perkara yang anda mahukan daripada dokumen anda dari segi keupayaan mengisih dan mencari, dan kemudian mereka bentuk elemen dan atribut untuk memenuhi keperluan tersebut.

Apabila anda memahami tujuan anda dengan baik dan tahu cara menanda teks anda, anda boleh mencipta elemen dan atribut yang berkesan. Dari perspektif ini, penanda berhati-hati adalah semua yang diperlukan untuk mencipta dokumen XML yang dibentuk dengan baik dan boleh digunakan.

Piawaian mentakrifkan dua tahap ketepatan untuk dokumen XML:

  • Dibina dengan betul(Berbentuk elok). Dokumen yang dibentuk dengan baik mengikut semua peraturan am sintaks XML yang digunakan pada mana-mana dokumen XML. Dan jika, sebagai contoh, teg permulaan tidak mempunyai teg akhir yang sepadan, maka ini dibina secara tidak betul dokumen XML. Dokumen yang tidak dibina dengan betul tidak boleh dianggap sebagai dokumen XML; Pemproses XML (penghuraikan) tidak seharusnya memprosesnya secara normal dan harus mengklasifikasikan keadaan sebagai ralat maut.
  • sah(Sah). Dokumen yang sah juga mematuhi peraturan semantik tertentu. Ini adalah semakan tambahan yang lebih ketat tentang ketepatan dokumen untuk pematuhan dengan peraturan yang telah ditetapkan, tetapi sudah luaran, untuk meminimumkan bilangan ralat, contohnya, struktur dan komposisi dokumen tertentu atau keluarga dokumen tertentu. Peraturan ini boleh dibangunkan sama ada oleh pengguna sendiri atau oleh pembangun pihak ketiga, contohnya, pembangun kamus atau piawaian pertukaran data. Biasanya, peraturan sedemikian disimpan dalam fail khas - gambar rajah, di mana struktur dokumen, semua nama sah elemen, atribut, dan banyak lagi diterangkan secara terperinci. Dan jika dokumen, sebagai contoh, mengandungi nama elemen yang tidak ditakrifkan sebelum ini dalam skema, maka dokumen XML dianggap batal; Apabila menyemak pematuhan peraturan dan skema, pemproses XML yang menyemak (pengesah) diwajibkan (atas pilihan pengguna) untuk melaporkan ralat.

Kedua-dua konsep ini tidak mempunyai terjemahan piawai yang mantap ke dalam bahasa Rusia, terutamanya konsepnya sah, yang juga boleh diterjemahkan sebagai sah, sah, boleh dipercayai, sesuai, atau pun diuji untuk pematuhan peraturan, piawaian, undang-undang. Sesetengah pengaturcara menggunakan kertas surih yang mantap dalam kehidupan seharian " sah».

Sintaks XML

Bahagian ini hanya membincangkan pembinaan yang betul Dokumen XML, iaitu, sintaksnya.

XML ialah struktur hierarki yang direka untuk menyimpan sebarang data; secara visual struktur boleh diwakili sebagai pokok. Keperluan sintaksis mandatori yang paling penting ialah dokumen itu hanya mempunyai satu unsur akar(unsur akar) (secara alternatif dipanggil elemen dokumen). Ini bermakna teks atau data lain bagi keseluruhan dokumen mesti terletak di antara hanya satu tag akar permulaan dan tag akhir yang sepadan.

Contoh paling mudah berikut ialah dokumen XML yang dibentuk dengan baik: Ini adalah buku: "Buku Kecil" Baris pertama dokumen XML dipanggil pengisytiharan XML(Pengisytiharan XML) ialah rentetan pilihan yang menunjukkan versi standard XML (biasanya 1.0), dan mungkin juga termasuk pengekodan aksara dan kebergantungan luaran. Spesifikasi memerlukan pemproses XML untuk menyokong pengekodan Unicode UTF-8 dan UTF-16 (UTF-32 adalah pilihan). Pengekodan lain berdasarkan piawaian ISO/IEC 8859 diiktiraf sebagai boleh diterima, disokong dan digunakan secara meluas (tetapi tidak diperlukan); pengekodan lain juga boleh diterima, contohnya, Windows-1251 Rusia, KOI-8.

Satu komen boleh diletakkan di mana-mana di dalam pokok. Komen XML diletakkan di dalam sepasang tag . Dua tanda sempang (--) tidak boleh digunakan di mana-mana dalam ulasan.

Di bawah ialah contoh resipi masakan ringkas yang ditanda menggunakan XML:

Roti ringkas tepung Yis Air suam garam

Struktur

Selebihnya dokumen XML ini terdiri daripada bersarang elemen, beberapa daripadanya mempunyai sifat-sifat Dan kandungan. unsur biasanya terdiri daripada teg pembukaan dan penutup yang melampirkan teks dan elemen lain. Tag pembukaan terdiri daripada nama elemen dalam kurungan sudut, contohnya, " »; tag penutup terdiri daripada nama yang sama dalam kurungan sudut, tetapi garis miring ke hadapan ditambah sebelum nama, contohnya, “ ». Kandungan unsur(kandungan) ialah segala-galanya yang terletak di antara teg pembukaan dan penutup, termasuk teks dan elemen lain (bersarang). Di bawah ialah contoh elemen XML yang mengandungi teg pembuka, teg akhir dan kandungan elemen:

Uli lagi, letak di atas loyang dan masukkan ke dalam ketuhar.

tepung

Dalam contoh di atas, elemen ramuan mempunyai dua atribut: jumlah, yang mempunyai nilai 3, dan unit, yang mempunyai kaca nilai. Dari sudut pandangan penanda XML, atribut di atas tidak mempunyai apa-apa makna, tetapi hanyalah satu set aksara.

Selain teks, elemen boleh mengandungi elemen lain:

Campurkan semua bahan dan uli hingga sebati. Tutup dengan kain dan biarkan selama satu jam di dalam bilik yang hangat. Uli lagi, letak di atas loyang dan masukkan ke dalam ketuhar.

Dalam kes ini, elemen Arahan mengandungi tiga elemen langkah. XML tidak membenarkan elemen bertindih. Sebagai contoh, coretan berikut tidak betul kerana elemen "em" dan "kuat" bertindih.

Biasa beraksen ditonjolkan dan beraksen berdedikasi

Setiap dokumen XML mesti mengandungi tepat satu unsur akar(elemen akar atau elemen dokumen), jadi serpihan berikut tidak boleh dianggap sebagai dokumen XML yang sah.

Entiti #1 Entiti #2

Untuk menandakan unsur tanpa kandungan, dipanggil unsur kosong, perlu gunakan bentuk rakaman khas yang terdiri daripada tag tunggal di mana garis miring diletakkan selepas nama elemen. Jika elemen tidak diisytiharkan kosong dalam DTD, tetapi ia tidak mempunyai kandungan dalam dokumen, untuknya dibenarkan gunakan bentuk rakaman ini. Sebagai contoh:

XML mentakrifkan dua kaedah untuk menulis aksara khas: rujukan entiti dan rujukan aksara. Intipati(entiti) dalam XML merujuk kepada data bernama, biasanya teks, khususnya aksara khas. Rujukan entiti(rujukan entiti) dinyatakan di tempat di mana entiti itu sepatutnya berada dan terdiri daripada ampersand (“&”), nama entiti dan koma bertitik (“;”). Terdapat beberapa entiti yang dipratentukan dalam XML, seperti "lt" (anda boleh merujuknya dengan menulis "< ») для левой угловой скобки и « amp » (ссылка - « & ») для амперсанда, возможно также определять собственные сущности. Помимо записи с помощью сущностей отдельных символов, их можно использовать для записи часто встречающихся текстовых блоков. Ниже приведён пример использования предопределённой сущности для избежания использования знака амперсанда в названии:

AT&T

Senarai lengkap entiti pratakrif terdiri daripada & (“&”),< («<»), >(">"), " (""), dan " ("") - dua yang terakhir berguna untuk menulis pembatas dalam nilai atribut. Anda boleh menentukan entiti anda dalam dokumen DTD.

Kadang-kadang adalah perlu untuk menentukan ruang yang tidak pecah, yang sangat kerap digunakan dalam HTML dan ditunjukkan seperti dalam XML tidak ada entiti yang dipratentukan sedemikian, ia ditulis, dan penggunaannya menyebabkan ralat. Ketiadaan entiti yang sangat biasa ini selalunya mengejutkan ramai pengaturcara, dan ini menimbulkan beberapa kesukaran apabila memindahkan perkembangan HTML mereka kepada XML.

Pautan mengikut nombor simbol(rujukan aksara angka) kelihatan seperti rujukan kepada entiti, tetapi bukannya nama entiti, aksara # dan nombor (dalam tatatanda perpuluhan atau heksadesimal) ditentukan, iaitu nombor aksara dalam jadual aksara Unicode. Ini biasanya aksara yang tidak boleh dikodkan secara langsung, seperti huruf Arab dalam dokumen yang dikodkan ASCII. Ampersand boleh diwakili seperti berikut:

AT&T

Terdapat banyak lagi peraturan mengenai menulis dokumen XML yang sah, tetapi tujuan tinjauan ringkas ini hanyalah untuk menunjukkan asas yang diperlukan untuk memahami struktur dokumen XML.

cerita

Tahun kelahiran XML boleh dianggap 1996, pada penghujungnya versi draf spesifikasi bahasa muncul, atau apabila spesifikasi ini diluluskan. Semuanya bermula dengan kemunculan bahasa SGML pada tahun 1986.

SGML (Bahasa Penanda Umum Standard) telah mengisytiharkan dirinya sebagai bahasa meta yang fleksibel, komprehensif dan komprehensif untuk mencipta bahasa penanda. Walaupun konsep hiperteks muncul pada tahun 1965 (dan prinsip asas telah dirumuskan pada tahun 1945), SGML tidak mempunyai model hiperteks. Penciptaan SGML boleh dipanggil dengan yakin sebagai percubaan untuk menerima kehebatan, kerana ia menggabungkan keupayaan yang sangat jarang digunakan bersama-sama. Ini adalah kelemahan utamanya - kerumitan dan, akibatnya, kos tinggi bahasa ini mengehadkan penggunaannya hanya kepada syarikat besar yang mampu membeli perisian yang sesuai dan mengupah pakar bergaji tinggi. Di samping itu, syarikat kecil jarang mempunyai masalah yang cukup kompleks untuk melibatkan SGML dalam menyelesaikannya.

SGML paling banyak digunakan untuk mencipta bahasa penanda lain; dengan bantuannya bahasa penanda dokumen hiperteks telah dicipta - HTML, spesifikasi yang telah diluluskan pada tahun 1992. Penampilannya dikaitkan dengan keperluan untuk mengatur susunan dokumen yang semakin meningkat di Internet. Pertumbuhan pesat dalam bilangan sambungan ke Internet dan, oleh itu, pelayan Web memerlukan keperluan untuk pengekodan dokumen elektronik yang tidak dapat ditangani oleh SGML kerana kesukaran pembangunan yang tinggi. Kemunculan HTML, bahasa penanda yang sangat mudah, dengan cepat menyelesaikan masalah ini: kemudahan pembelajaran dan kekayaan alat reka bentuk dokumen menjadikannya bahasa yang paling popular untuk pengguna Internet. Tetapi apabila bilangan dan kualiti dokumen di Web meningkat, begitu juga keperluan yang diletakkan pada mereka, dan kesederhanaan HTML menjadi kelemahan utamanya. Bilangan teg yang terhad dan sikap acuh tak acuh sepenuhnya terhadap struktur dokumen mendorong pembangun yang diwakili oleh konsortium W3C untuk mencipta bahasa penanda yang tidak sekompleks SGML dan tidak seprimitif HTML. Akibatnya, menggabungkan kesederhanaan HTML dengan logik penanda SGML dan memenuhi permintaan Internet, XML dilahirkan.

Kelebihan dan kekurangan

Kelebihan

Kecacatan

  • Kekaburan pemodelan.
  • XML tidak mempunyai sokongan jenis data terbina dalam bahasa. Ia tidak mempunyai penaipan yang kuat, iaitu, konsep "integer", "rentetan", "tarikh", "boolean", dll.
  • Model data hierarki yang ditawarkan oleh XML adalah terhad berbanding model hubungan dan model data rangkaian dan graf berorientasikan objek.

Memaparkan XML di World Wide Web

Tiga cara paling biasa untuk menukar dokumen XML kepada bentuk yang boleh dipaparkan pengguna ialah:

  1. Menggunakan gaya CSS;
  2. Menggunakan transformasi XSLT;
  3. Menulis pengendali dokumen XML dalam mana-mana bahasa pengaturcaraan.

Tanpa menggunakan CSS atau XSL, dokumen XML muncul sebagai teks biasa dalam kebanyakan pelayar Web. Sesetengah pelayar seperti Internet Explorer, Mozilla dan Mozilla Firefox memaparkan struktur dokumen dalam paparan pokok, membolehkan anda meruntuhkan dan mengembangkan nod dengan klik tetikus.

Menggunakan Gaya CSS

Proses ini serupa dengan menggunakan CSS pada dokumen HTML untuk paparan.

Untuk menggunakan CSS apabila dipaparkan dalam penyemak imbas, dokumen XML mesti mengandungi pautan khusus ke helaian gaya. Sebagai contoh:

Ini berbeza daripada pendekatan HTML, yang menggunakan elemen .

Mengaplikasikan transformasi XSLT

XSL ialah teknologi yang menerangkan cara memformat atau mengubah data dokumen XML. Dokumen diubah menjadi format yang sesuai untuk dipaparkan dalam penyemak imbas. Penyemak imbas ialah penggunaan XSL yang paling biasa, tetapi jangan lupa bahawa dengan XSL anda boleh mengubah XML ke dalam sebarang format, mis.