XML vodič za početnike
Što je XML?
XML stoji za eXrastezljiv MArkupe Ljezik. To je jezik (ne> programski jezik) koji koristi oznake i može se proširivati. Izvodi se iz Standard Ggeneralizirani MArkupe Ljezik (SGML). XML također koristi DTD (Dokupacija Type Definitions) za definiranje strukture XML dokumenta.
XML nije za rukovanje računalnim operacijama i algoritmima. Dakle, XML nije programski jezik. Glavni cilj je prijenos podataka, a ne prikaz informacija. XML premošćuje jaz između ljudske i strojne čitljivosti. Za razliku od HTML oznaka, XML oznake su samoopisne.
XML je otvoreni format. Datotečni nastavak XML-a je .xml
Povijest XML-a
XML je započeo davne 1996. godine, a prvi put je objavljen 1998. godine. World WIDE Web Consortium (W3C) je programer XML, i postao je a W3C preporuka u 1998.
Postoje dvije verzije XML-a.
- XML 1.0
- XML 1.1
XML 1.1 je najnovija verzija. Još, XML 1.0 je najkorištenija verzija.
Urednici XML-a su:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Eve Maler,
- François Yergeau.
Značajke XML-a
Evo nekoliko važnih značajki XML-a:
- Proširiv je i čitljiv.
- Neovisan je o platformi i jeziku.
- Čuva bijeli prostor.
- Sveukupna jednostavnost.
- Samoopisna priroda.
- Odvaja podatke od HTML-a.
- XML oznake nisu unaprijed definirane. Morate definirati svoje prilagođene oznake.
- XML je dizajniran za prijenos podataka, a ne za prikaz tih podataka.
- Kod za označavanje XML-a čovjeku je lako razumjeti.
- Dobro strukturirani format je jednostavan za čitanje i pisanje iz programa.
- XML je proširivi označni jezik poput HTML-a.
XML kodiranje
Kodiranje je pretvorba Unicode znakova u njihov binarni prikaz. UTF se koristi za XML kodiranje. UTF zalaže za UCS (SCU zalaže za Univerzalan Charakter Set) Tpreobrazba Format.
Uglavnom postoje dvije vrste UTF kodiranja.
- UTF-8 : UTF-8 koristi 8-bita za predstavljanje znakova.
- UTF-16
Primjer:
<?xml version="1.0" encoding="UTF-8"?>
Koristi 16-bita za predstavljanje znakova.
Primjer:
<?xml version="1.0" encoding="UTF-16"?>
Možete koristiti kodiranje unutar XML deklaracije. UTF-8 je zadano kodiranje u XML-u.
XML sintaksa
Donji segment koda prikazuje osnovnu XML sintaksu.
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
XML deklaracija
XML deklaracija sastoji se od XML verzije, kodiranja znakova i/ili samostalnog statusa. Deklaracija nije obavezna.
Sintaksa za XML deklaraciju
Donji segment koda prikazuje sintaksu za XML deklaraciju.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
Pravila XML deklaracije
Slijede pravila XML deklaracije.
- Ako je XML deklaracija prisutna, ona mora biti prva stvar koja se pojavljuje.
- XML deklaracija razlikuje velika i mala slova i mora započeti malim slovima <?xml.
- Nema završnu oznaku.
Primjer XML deklaracije
Sljedeći segment koda prikazuje primjer XML deklaracije.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
XML komentari
Komentari nisu obavezni. Dodavanje komentara pomaže u razumijevanju sadržaja dokumenta.
Sintaksa za XML komentare
Komentar počinje s <!– i završava s ->.
Sljedeći segment koda prikazuje sintaksu za XML komentare.
<!-- Add your comment here -->
XML oznake i elementi
Oznake rade kao parovi osim deklaracija. Svaki par oznaka sastoji se od početna oznaka (također poznat kao početna oznaka) I oznaka za zatvaranje (također poznat kao završna oznaka).
Imena oznaka su ograđena <>. Za određeni par oznaka, početna i završna oznaka moraju biti identične osim završne oznake / nakon <.
<name>...</name>
Sve između početnih i završnih oznaka naziva se sadržaj.
Oznaka za otvaranje, sadržaj i zatvaranje, zajedno, nazivaju se an element.
Opening tag + content + closing tag = an element
Bilješka: Elementi također mogu sadržavati atribute. Atribute ćete naučiti vrlo brzo.
Razmotrimo donji element.
<age>20</age>
U gornjem elementu,
- starost je ime elementa.
Napomena: naziv oznake također se naziva an element or naziv elementa.
- – početna oznaka
- 25 - sadržaj
- – završna oznaka.
Ako između oznaka nema sadržaja, kao što je prikazano u nastavku, to se naziva prazne oznake.
<result></result>
Pravila XML oznaka i elemenata
Sljedeći popis prikazuje pravila XML oznaka i elemenata.
- Oznake razlikuju velika i mala slova.
Primjer:
Ispravno:
<age>20</age>
Pogrešno:
<age>20</Age>
Napomena: DOB, Dob, i starost su tri različita imena u XML-u.
- Svi XML dokumenti moraju sadržavati jedan korijenski element.
- Svi elementi moraju imati završnu oznaku (osim deklaracija).
- Naziv oznake mora započeti slovom ili podvlakom i ne može započeti s XML.
- Naziv oznake može sadržavati slova, znamenke, crtice, podvlake i točke. Crtice su podvlaka, a točke su jedini dopušteni interpunkcijski znakovi.
- Naziv oznake ne može sadržavati razmake.
- Svi elementi moraju biti ispravno ugniježđeni.
Primjer:
Ispravno:
<b><u>This text is bold and italic</u></b>
Pogrešno:
<b><u>This text is bold and italic.</b></u>
XML atributi
Atribut elementa nalazi se iza naziva oznake u početnoj oznaci. Možete dodati više od jednog atributa za jedan element s različitim nazivima atributa.
Razmotrimo donji XML dokument.
<company name="ABC Holdings" location="London">
<chairman>Mr. John</chairman>
<gm>Mr. Wood</gm>
</company>
Dva su atributa u društvo element, tj ime i lokacija.
Proučimo ime atribut,
- name=”ABC Holdings” – atribut
- ime – naziv atributa
- ABC Holdings – vrijednost atributa
bilješke: ime atributa također je poznat kao an atribut.
Također imajte na umu da je u gornjem primjeru društvo je korijen element.
Pravila XML atributa
Donji popis prikazuje pravila XML atributa.
- Vrijednosti atributa moraju biti unutar navodnika.
- Element ne može sadržavati više atributa s istim imenom.
Atribut naspram elementa
Jeste li još uvijek zbunjeni oko razlike između atributa i elementa? Evo još jedan primjer.
Razmotrimo dolje navedene dokumente A i B.
Dokument A:
<teacher subject="English">
<name>Mr. John</name>.
<qualification>Graduate</qualification>
</teacher>
Dokument B:
<teacher>
<subject>English</subject>
<name>Mr. John</name>
<qualification>Graduate</qualification>
</teacher>
U dokumentu A, predmet je atribut.
U dokumentu B, predmet je element.
XML entiteti
Što su XML entiteti?
Jednostavno rečeno, entiteti su način predstavljanja posebnih znakova. Entiteti su također poznati kao osoba reference.
Zašto su vam potrebni XML entiteti?
Neki likovi (kao npr ", & <, i tako dalje) rezervirani su u XML-u. Oni se nazivaju posebni znakovi i ne mogu se izravno koristiti u druge svrhe.
Na primjer, < i > simboli koji se koriste za oznake. Ne možete izravno tipkati s tipkovnice za manje od i veći od znakovi. Umjesto toga, trebate koristiti entitete.
Sljedeća tablica prikazuje neke od popularnih XML entiteta.
| Lik | Description | Naziv entiteta | Upotreba |
|---|---|---|---|
| " | Navodnik (dvostruki navodnik) | quot | " |
| & | Ampersand | amp | & |
| ' | Apostrof (jednostruki navodnik) | nakon | ' |
| < | Less nego znak | lt | < |
| > | Znak veće od | gt | > |
Primjer:
<friend>
<name>My friends are Alice & Jane.</name>
</friend>
HTML nasuprot XML-u
Sličnosti između HTML-a i XML-a
Sljedeći popis pokazuje sličnosti između HTML-a i XML-a.
- Oba su otvoreni formati.
- Oba su označni jezici.
- Oba koriste oznake i atribute za opisivanje sadržaja.
Razlike između HTML-a i XML-a
Iako je XML poput HTML-a, XML nije zamjena za HTML. Postoje i neke značajne razlike između HTML-a i XML-a.
Sljedeća tablica popisa prikazuje usporedbu između HTML-a i XML-a.
| HTML | XML | |
|---|---|---|
| Štandovi za | Jezik za označavanje hiperteksta | Proširivi označni jezik |
| Vrsta jezika | Unaprijed definirani označni jezik. | Okvir za određivanje označnih jezika. |
| Strukturni detalji | Nije predviđeno. | Pod uvjetom. |
| Svrha | Koristi se za prikaz podataka. | Koristi se za prijenos podataka |
| Vođen od strane | Pokrenut formatom. | Vođen sadržajem. |
| Priroda | Ima statičnu prirodu. | Ima dinamičnu prirodu. |
| Vrsta oznake | Unaprijed definirane oznake. | Korisnički definirane oznake. |
| Ograničenje oznake | Dostupan je ograničen broj oznaka. | Oznake su proširive. |
| Zatvaranje oznaka | Nije potrebno koristiti završne oznake (ali je preporučljivo koristiti završne oznake). | Završne oznake su obavezne. |
| Podrška za imenski prostor | Nije podržano. | Podržani. |
| Osjetljivost slučaja | Oznake ne razlikuju velika i mala slova. | Oznake razlikuju velika i mala slova. |
| bijeli prostor | Bijeli prostor ne može sačuvati (može ignorirati bijeli prostor). | Bijeli prostor sačuvan (ne može se zanemariti bijeli prostor). |
| Raščlanjivanje u JavaScript | Nije potrebna nikakva dodatna aplikacija. | Potrebna implementacija DOM-a. |
| Gniježđenje koda | Nije nužno potrebno. | Potrebno. |
| greške | Može zanemariti male pogreške. | Greške nisu dopuštene. |
| Ekstenzija naziva datoteke | . Html or . Htm | . XML |
| Veličina | Usporedno velik. | Relativno mali. |
| Citati | Navodnici nisu potrebni za vrijednosti atributa. | Obavezno za vrijednosti XML atributa. |
| Potpora objektu | Nudi izvornu podršku za objekte. | Objekti moraju biti izraženi konvencijama. |
| Nulta podrška | Izvorno prepoznaje vrijednost null. | Potrebno je koristiti xsi:nil na elementima. |
| Odluke o oblikovanju | Omogućuje izravno mapiranje podataka aplikacije. | Zahtijevaju značajniji napor. |
| Krivulja ucenja | Less strma krivulja učenja u usporedbi s XML-om. | Strma krivulja učenja. |
| Web stranica | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Osnovna HTML sintaksa
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
Osnovna XML sintaksa
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Isti primjer s HTML-om i XML-om
S HTML-om
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>Book</p>
<p>Name: Anna Karenina</p>
<p>Author: Leo Tolstoy</p>
<p>Publisher: The Russian Messenger</p>
</body>
</html>
Uz XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
<publisher>The Russian Messenger</publisher>
</book>
JSON nasuprot XML-u
Sličnosti između JSON i XML
Donji popis pokazuje sličnosti između JSON-a i XML-a.
- Oba su otvoreni formati.
- Oboje se samoopisuju.
- Oba imaju hijerarhijsku strukturu.
- Oba mogu analizirati i koristiti nekoliko programskih jezika.
Razlike između JSON i XML
Postoji i nekoliko razlika između XML-a i JSON-a.
Donje tablice prikazuju usporedbu između JSON-a i XML-a.
| JSON | XML | |
|---|---|---|
| Štandovi za | JavaNotacija objekta skripte | Proširivi označni jezik |
| Prošireno od | JavaScript | SGML |
| Pohranu podataka | Podaci pohranjeni kao parovi ključ-vrijednost. | Podaci pohranjeni kao struktura stabla. |
| imenskom prostoru | Nema podrške za prostore imena. | Podržava prostore imena. |
| Komentari | Dodavanje komentara nije podržano. | Može dodati komentare. |
| Dostupnost podataka | Lako dostupni kao JSON objekti. | Podatke je potrebno analizirati. |
| Metadata | Dodavanje metapodataka nije podržano. | Može pisati metapodatke. |
| Tipovi | JSON tipovi: niz, broj, niz, Booleov. | Svi XML podaci trebaju biti žice. |
| Vrste podataka podrške | Podržava tekst i broj samo tipovi podataka. | Podržava mnoge vrste podataka (tekst, brojke, slike, itd.) |
| Podrška za Array | Više podrške za polja u usporedbi s XML-om. | Nema ili manje podrške za nizove. |
| Podrška objekta | Izvorna podrška za objekt. | Objekt mora biti izražen konvencijama. |
| Podrška za AJAX alate | Podržani. | Nije u potpunosti podržano. |
| Dohvaćanje vrijednosti | Lako. | teško. |
| Deserijalizacija/serializacija | Potpuno automatizirano. | Programeri moraju pisati JavaKod skripte. |
| Podrška preglednik | Podržava ga većina preglednika. | Raščlanjivanje XML-a u različitim preglednicima može biti nezgodno. |
| Kodiranje | Podržava samo UTF-8 kodiranje. | Podržava različita kodiranja. |
| Mogućnosti prikaza | Nema mogućnosti prikaza. | Ponudite mogućnosti prikaza. |
| Veličina dokumenta | Manji od XML-a. | Veći od JSON-a. |
| Ekstenzija naziva datoteke | .json | . XML |
| Sigurnost | Less osiguran. | Sigurniji od JSON-a. |
| Jednostavan za čitanje | Relativno lako. | Relativno teško. |
| Krivulja ucenja | Lako za naučiti. | Strma krivulja učenja. |
| Web stranica | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Osnovna JSON sintaksa
{string:value, .......}
Isti primjer s JSON i XML
S JSON-om
{"books":[
{"name":"Anna Karenina", "author":"Leo Tolstoy"},
{"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
{"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
{"name":"Invisible Man", "author":"Ralph Ellison"}
]}
Uz XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
</book>
<book>
<name>One Hundred Years of Solitude</name>
<author>Gabriel Garcia Marquez</author>
</book>
<book>
<name>The Great Gatsby</name>
<author>Scott Fitzgerald</author>
</book>
<book>
<name>Invisible Man</name>
<author>Ralph Ellison</author>
</book>
</books>
XML DTD
Što je DTD?
DTD je kratica za Dokupacija Type Ddefinicija. Definira strukturu XML dokumenta korištenjem nekih pravnih elemenata. XML DTD nije obavezan.
Pravila DTD
Sljedeći popis prikazuje DTD pravila.
- Ako je DTD prisutan, mora se pojaviti na početku dokumenta (samo se XML deklaracija može pojaviti iznad DTD-a).
- Deklaracija elementa mora započeti s an ! ocjena.
- Ime DTD i tip elementa korijenskog elementa moraju biti isti.
Primjeri DTD
Primjer internog DTD-a:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT school (#PCDATA)>
]>
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
U gornjem primjeru,
- !DOCTYPE student označava početak DTD deklaracije. i učenik je korijenski element XML dokumenta.
- !ELEMENT učenik označava učenik element mora sadržavati ime prezime i škola elementi.
- !ELEMENT ime označava FIRSTNAME element je tipa #PCDATA (Pguzica Charakter Datum).
- !ELEMENT prezime označava prezime element je tipa #PCDATA.
- !ELEMENT škola označava škola element je tipa #PCDATA.
Primjer vanjskog DTD-a:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student SYSTEM "student.dtd">
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
Sadržaj DTD datoteke (student.dtd) kako slijedi.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
XML DOM
Što je DOM?
DOM je kratica za Dokupacija Osubjekt Model. Definira standardni način pristupa i rukovanja XML dokumentima. DOM ima (hijerarhijsku) strukturu stabla.
Primjer DOM-a
Razmotrimo donji XML dokument.
<?xml version="1.0" encoding="UTF-8" ?>
<school>
<student>
<name>
<first_name>Alex</first_name>
<last_name>Clarke</last_name>
</name>
<age>14</age>
<address>No. 35, Flower Road, Leeds</address>
</student>
</school>
Struktura stabla gornje XML datoteke izgledala bi kao sljedeća slika.

XML validacija
Što su dobro oblikovani XML dokumenti?
Dobro oblikovana XML dokumenti su XML dokumenti s ispravnom sintaksom.
Što su valjani XML dokumenti?
Važeći XML dokumenti su dobro oblikovani i također su u skladu s DTD pravilima.
XML imenski prostori
Zašto prostori imena?
Prostori imena pomažu u izbjegavanju sukoba naziva elemenata.
Deklaracija imenskog prostora
Slijedi prikaz sintakse za deklaraciju imenskog prostora.
<element xmlns:name="URL">
U gornjoj izjavi,
- The xmlns ključna riječ označava početak imenskog prostora.
- The ime je prefiks prostora imena.
- The URL je identifikator prostora imena.
Primjeri imenskih prostora
Sljedeći segment koda prikazuje primjer prostora imena.
<?xml version="1.0" encoding="UTF-8" ?>
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">
<abt:founder>Krishna</abt:founder>
<abt:vision>Fun and Free Education for ALL</abt:vision>
</abt:about>
XML uređivači
Dostupno je nekoliko XML editora. Bilo koji uređivač teksta (kao što je notepad i tako dalje) može se koristiti kao uređivač XML-a.
Sljedeći popis prikazuje neke od popularnih XML uređivača u 2021.
1) XML Notepad
XML Notepad je uređivač otvorenog koda za XML. Ima prikaz stabla i XSL izlaz na lijevom oknu i tekst čvora na desnom. Na dnu ima prozor za otklanjanje pogrešaka.
Ključna statistika:
- Tip – XML editor
- Programer – Microsoft
- Podržani operativni sustav – Microsoft Windows.
- Cijena – besplatno
Veza: http://microsoft.github.io/XmlNotepad/
2) Stylus Studio
Stylus Studio je IDE napisan u C++ za Extensible Markup Language ( XML ). Omogućuje korisniku uređivanje i transformaciju XML dokumenata, podataka kao što su elektronička razmjena podataka (EDI), CSV i relacijski podaci.
Ključna statistika:
- Tip – Integrirano razvojno okruženje (IDE) za XML
- Programer – Progress Software Corporation
- Podržani operativni sustav – Microsoft Windows.
- Cijena – plaćeno (pogledajte dolje navedenu web stranicu za najnoviju cijenu), dostupno besplatno probno razdoblje.
Veza: http://www.stylusstudio.com/
3) Altova XMLSpy
XMLSpy se prvenstveno prodaje kao JSON i XML Editor. Ima ugrađeni dizajner i uređivač shema. Uključuje Visual Studio And Eclipse integracija.
Ključna statistika:
- Tip – XML Editor
- Programer – Altova
- Podržani operativni sustav – Microsoft Windows.
- Cijena – plaćeno (pogledajte dolje navedenu web stranicu za najnoviju cijenu), dostupno besplatno probno razdoblje.
Veza:https://www.altova.com/xmlspy-xml-editor
4) Oxygen XML Editor
Oxygen XML je višeplatformski uređivač razvijen u Java. Pomaže u provjeri valjanosti shema kao što su DTD, W3C XML shema, RELAX NG, Schematron, NRL i NVDL sheme.
Ključna statistika:
- Tip – XML editor
- Programer – SyncRO Soft Ltd
- Podržani operativni sustav – Windows, Linux i Mac OS X
- Cijena – plaćeno (posljednju cijenu potražite na dolje navedenoj web stranici
Veza:https://www.oxygenxml.com/
5) Xmplify
Xmplify XML Editor pruža okruženje za uređivanje koje je u potpunosti osviješteno o XML-u s automatskom provjerom valjanosti dokumenta, itd., temeljenom na DTD-u i XML shemi.
Ključna statistika:
- Tip – XML Editor
- Programer – MOSO Corporation
- Podržani operativni sustav – Mac OS.
- Cijena – plaćeno (posljednju cijenu potražite na dolje navedenoj web stranici
Veza: http://xmplifyapp.com/
XML parseri
XML parser je softverska biblioteka koja pruža sučelje za rad s XML dokumentima. Provjerava je li format XML dokumenta ispravan. Neki parseri također mogu potvrditi valjanost XML dokumenata. Moderni preglednici dolaze s XML parserima.
SAKSOFON
SAKSOFON zalaže za Suvo API za XML. To je application program isučelje (API) za raščlanjivanje XML dokumenata. Ponašaju se slično rukovateljima događajima u Java.
Za razliku od DOM-a, SAX je primjer XML parsera temeljenog na događajima.
Evo nekoliko važnih razlika između SAX-a i DOM-a.
| SAKSOFON | PRESUDA | |
|---|---|---|
| Štandovi za | Jednostavan API za XML | Model objekta dokumenta |
| Vrsta parsera | Na temelju događaja | Temeljeno na objektu |
| Čitati i pisati XML | Samo za čitanje | I čitati i pisati |
| Umetanje/ažuriranje/brisanje čvorova | Nije moguće umetanje/ažuriranje/brisanje čvorova | Može umetati/ažurirati/brisati čvorove |
| Učinkovitost pamćenja | Dobra memorijska učinkovitost | Varira |
| Brzina | Sporiji od DOM parsera | Brži od SAX parsera |
| Pogodno za | Datoteke male veličine | Datoteke velike veličine |
Vezanje XML podataka
Vezanje XML podataka predstavljanje je podataka u XML dokumentu kao poslovnog objekta u memoriji računala.
Postoje tri pristupa povezivanju XML podataka.
- Vezanje podataka temeljeno na XML shemi: Odgovarajuće XML klase kreirane su na temelju sheme.
- Povezivanje podataka temeljeno na klasi: Na temelju klasa kreira se odgovarajuća XML shema.
- Povezivanje podataka na temelju mapiranja: Opisuje kako se postojeća XML shema preslikava u skup klasa (i obrnuto).
Također postoje okviri za povezivanje XML podataka.
Primjeri:
Vezanje XML podataka jednostavno je s okvirima. Okvir za vezanje podataka generira veliku količinu koda za vas. Morate hraniti u DTD ili XML shemi.
XML sheme
XML shema (Također poznat kao Definicija XML sheme or xsd) koristiti za opisivanje strukture XML dokumenta. To je alternativa DTD-u.
Zašto je shema važna?
DTD nije moćan kao shema jer nije dovoljno proširiv i fleksibilan. Dakle, možda neće biti prikladno za neke situacije. U takvoj situaciji shema je važna. Glavna svrha korištenja XML sheme je definiranje elemenata i atributa XML dokumenta.
Kako se XML shema razlikuje od DTD-a?
Sljedeća usporedba pokazuje kako se XSD (XML shema) razlikuje od DTD-a.
| DTD | xsd | |
|---|---|---|
| Štandovi za | Definicija vrste dokumenta | Definicija XML sheme |
| rastegljivost | Nije proširiv | Extensible |
| Kontrola XML strukture | Less kontrola | Više kontrole |
| Vrste podataka podrške | Nije podržano | Podržano |
| Podrška za prostor imena | Nije podržano | Podržano |
Sljedeći segment koda prikazuje primjer XML sheme.
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
<xs:element name = "employee">
<xs:complexType>
<xs:sequence>
<xs:element name = "firstname" type = "xs:string" />
<xs:element name = "lastname" type = "xs:string" />
<xs:element name = "phone" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Prednosti XML-a
Evo prednosti/prednosti XML-a:
- Olakšao je prijenos i dijeljenje podataka.
- XML poboljšava razmjenu podataka između različitih platformi.
- To je označni jezik, koji je skup znakova i/ili simbola smještenih u tekstualni dokument.
- XML označava kako bi XML dokument trebao izgledati nakon što se prikaže.
- Pojednostavljuje proces promjene platforme.
- Povećava dostupnost podataka.
- Podržava višejezične dokumente i Unicode.
- Omogućuju relativno lako učenje i kodiranje.
- To je označni jezik, koji je skup znakova i/ili simbola smještenih u tekstualni dokument.
- Izvodi provjeru pomoću DTD-a i sheme.
- Omogućuje prijenos dokumenata kroz sustave i aplikacije. Uz pomoć XML-a možete brzo razmjenjivati podatke između različitih platformi.
- XML odvaja podatke od HTML-a.
Nedostaci XML-a
Evo nedostataka/mana korištenja XML-a:
- XML zahtijeva aplikaciju za obradu.
- XML sintaksa slična je drugim alternativnim formatima prijenosa podataka koji se temelje na tekstu, što je ponekad zbunjujuće.
- Nema podrške za intrinzični tip podataka
- XML sintaksa je suvišna.
- Ne dopušta korisniku stvaranje svojih oznaka.
Rezime
- XML je kratica za eXtensible Markup Language. XML je jezik (ne programski jezik) koji koristi oznake i može se proširivati.
- Glavni cilj je prijenos podataka, a ne prikaz podataka.
- XML 1.1 je najnovija verzija. Ipak, XML 1.0 je najkorištenija verzija.
- Oznake rade kao parovi osim deklaracija.
- Oznaka za otvaranje + sadržaj + oznaka za zatvaranje = element
- Entiteti su način predstavljanja posebnih znakova.
- DTD je kratica za Document Type Definition. Definira strukturu XML dokumenta korištenjem nekih pravnih elemenata. XML DTD nije obavezan.
- DOM je kratica za Document Object Model. Definira standardni način pristupa i rukovanja XML dokumentima.
- Dobro oblikovani XML dokumenti su XML dokumenti s ispravnom sintaksom.
- Valjani XML dokumenti su dobro oblikovani i također su u skladu s DTD pravilima.
- Prostori imena pomažu u izbjegavanju sukoba naziva elemenata.
