XML-opetusohjelma aloittelijoille
Mikรค on XML?
XML tarkoittaa eXkestรคvรค Markup Lkieli. Se on kieli (ei> ohjelmointikieli), joka kรคyttรครค merkintรครค ja voi laajentaa. Se on johdettu Sstandardimalliset Gyleistetty Markup Lkieli (SGML). XML kรคyttรครค myรถs DTD:itรค (Dammatti TyPE Definitions) mรครคrittรครคksesi XML-dokumentin rakenteen.
XML ei ole tarkoitettu laskennallisten operaatioiden ja algoritmien kรคsittelyyn. XML ei siis ole ohjelmointikieli. Pรครคtavoitteena on siirtรครค dataa ei tietojen nรคyttรคmiseksi. XML muodostaa sillan ihmisen luettavuuden ja koneellisesti luettavuuden vรคlillรค. Toisin kuin HTML-tunnisteet, XML-tunnisteet kuvaavat itseรครคn.
XML on avoin muoto. XML:n tiedostopรครคte on .xml
XML:n historia
XML sai alkunsa jo vuonna 1996 ja julkaistiin ensimmรคisen kerran vuonna 1998. World Wide Web Consortium (W3C) on kehittรคjรค XML, ja siitรค tuli a W3C suositus vuonna 1998.
XML:stรค on kaksi versiota.
- XML 1.0
- XML 1.1
XML 1.1 on uusin versio. Vielรค, XML 1.0 on eniten kรคytetty versio.
XML-editorit ovat:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Eve Maler,
- Franรงois Yergeau.
XML-ominaisuudet
Tรคssรค on joitain tรคrkeitรค XML:n ominaisuuksia:
- Se on laajennettavissa ja ihmisen luettavissa.
- Se on alustasta ja kielestรค riippumaton.
- Se sรคilyttรครค valkoisen tilan.
- Yleinen yksinkertaisuus.
- Itsekuvaava luonne.
- Se erottaa tiedot HTML:stรค.
- XML-tunnisteita ei ole ennalta mรครคritetty. Sinun on mรครคritettรคvรค mukautetut tunnisteet.
- XML on suunniteltu kuljettamaan tietoja, ei nรคyttรคmรครคn sitรค.
- XML:n merkintรคkoodi on ihmisen helppo ymmรคrtรครค.
- Hyvin jรคsenneltyรค formaattia on helppo lukea ja kirjoittaa ohjelmista.
- XML on laajennettava merkintรคkieli, kuten HTML.
XML-koodaus
Koodaus tarkoittaa Unicode-merkkien muuntamista niiden binรครคriesitykseen. XML-koodaukseen kรคytetรครคn UTF:รครค. UTF tarkoittaa UCS (SCU tarkoittaa Uuniversaali Cmerkki Sja) Tmuodonmuutos Format.
Pรครคasiassa on olemassa kahdenlaisia โโUTF-koodauksia.
- UTF-8 : UTF-8 kรคyttรครค 8 bittiรค edustamaan merkkejรค.
- UTF-16
Esimerkiksi:
<?xml version="1.0" encoding="UTF-8"?>
Se kรคyttรครค 16 bittiรค edustamaan merkkejรค.
Esimerkiksi:
<?xml version="1.0" encoding="UTF-16"?>
Voit kรคyttรครค koodausta XML-ilmoituksen sisรคllรค. UTF-8 on XML:n oletuskoodaus.
XML-syntaksi
Alla oleva koodisegmentti nรคyttรครค XML-perussyntaksin.
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
XML-ilmoitus
XML-ilmoitus koostuu XML-versiosta, merkkikoodauksesta ja/tai itsenรคisestรค tilasta. Ilmoitus on valinnainen.
XML-ilmoituksen syntaksi
Alla oleva koodisegmentti nรคyttรครค XML-ilmoituksen syntaksin.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
XML-ilmoitussรครคnnรถt
Seuraavat ovat XML-ilmoitussรครคnnรถt.
- Jos XML-ilmoitus on olemassa, sen on oltava ensimmรคinen asia, joka tulee nรคkyviin.
- XML-ilmoitus on isot ja pienet kirjaimet erotteleva, ja sen on aloitettava pienillรค kirjaimilla <?xml.
- Siinรค ei ole sulkemistunnistetta.
Esimerkki XML-ilmoituksesta
Seuraava koodisegmentti nรคyttรครค esimerkin XML-ilmoituksesta.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
XML-kommentit
Kommentit ovat valinnaisia. Kommenttien lisรครคminen auttaa ymmรคrtรคmรครคn asiakirjan sisรคltรถรค.
XML-kommenttien syntaksi
Kommentti alkaa sanoilla <!- ja pรครคttyy ->.
Seuraava koodisegmentti nรคyttรครค XML-kommenttien syntaksin.
<!-- Add your comment here -->
XML-tunnisteet ja -elementit
Tunnisteet toimivat pareina lukuun ottamatta ilmoituksia. Jokainen tunnistepari koostuu avausmerkki (tunnetaan myรถs nimellรค aloitustunniste) Ja sulkeva tagi (tunnetaan myรถs nimellรค lopputunniste).
Tunnisteiden nimet ovat mukana <>. Tietyn tunnisteparin aloitus- ja lopputunnisteiden on oltava identtisiรค, paitsi ettรค lopputunniste on / sen jรคlkeen, kun <.
<name>...</name>
Kaikkea avaus- ja sulkemistunnisteiden vรคlissรค olevaa kutsutaan nimellรค pitoisuus.
Aloitustunnistetta, sisรคltรถรค ja sulkevaa tunnistetta kutsutaan yhteensรค an elementti.
Opening tag + content + closing tag = an element
Huomautus: Elementit voivat sisรคltรครค myรถs attribuutteja. Opit ominaisuudet hyvin pian.
Tarkastellaanpa alla olevaa elementtiรค.
<age>20</age>
Yllรค olevassa elementissรค
- ikรค on elementin nimi.
Huomautus: Tunnisteen nimi kutsutaan myรถs an elementti or elementin nimi.
- โ avausmerkki
- 25 - sisรคltรถ
- โ sulkeva tagi.
Jos tunnisteiden vรคlillรค ei ole sisรคltรถรค, kuten alla nรคytetรครคn, siihen viitataan nimellรค tyhjiรค tunnisteita.
<result></result>
XML-tunnisteen ja elementin sรครคnnรถt
Seuraava luettelo nรคyttรครค XML-tunnisteen ja elementin sรครคnnรถt.
- Tunnisteet erottelevat isot ja pienet kirjaimet.
Esimerkiksi:
Oikea:
<age>20</age>
Vรครคrรค:
<age>20</Age>
Huomautus: IKร, Ikรค, ja ikรค ovat kolme eri nimeรค XML:ssรค.
- Kaikissa XML-dokumenteissa on oltava yksi juurielementti.
- Kaikilla elementeillรค on oltava pรครคttรคvรค tagi (paitsi ilmoitukset).
- Tunnisteen nimen tulee alkaa kirjaimella tai alaviivalla, eikรค se voi alkaa kirjaimella xml.
- Tunnisteen nimi voi sisรคltรครค kirjaimia, numeroita, yhdysmerkkejรค, alaviivoja ja pisteitรค. Vรคliviivat alaviivat ja pisteet ovat ainoat sallittuja vรคlimerkit.
- Tunnisteen nimi ei voi sisรคltรครค vรคlilyรถntejรค.
- Kaikkien elementtien on oltava kunnolla sisรคkkรคisiรค.
Esimerkiksi:
Oikea:
<b><u>This text is bold and italic</u></b>
Vรครคrรค:
<b><u>This text is bold and italic.</b></u>
XML-attribuutit
Elementin attribuutti sijoitetaan alkutunnisteen tagin nimen jรคlkeen. Voit lisรคtรค useamman kuin yhden mรครคritteen yhdelle elementille eri attribuuttien nimillรค.
Tarkastellaan alla olevaa XML-dokumenttia.
<company name="ABC Holdings" location="London">
<chairman>Mr. John</chairman>
<gm>Mr. Wood</gm>
</company>
Siinรค on kaksi attribuuttia yritys elementti, ts nimi ja sijainti.
Tutkitaanpa nimi attribuutti,
- nimi = "ABC Holdings" โ attribuutti
- nimi - ominaisuuden nimi
- ABC Holdings โ attribuutin arvo
Huomautuksia: An ominaisuuden nimi tunnetaan myรถs nimellรค an ominaisuus.
Huomaa myรถs, ettรค yllรค olevassa esimerkissรค yritys on juuri elementti.
XML-mรครคritesรครคnnรถt
Alla oleva luettelo nรคyttรครค XML-mรครคritesรครคnnรถt.
- Attribuuttien arvojen on oltava lainausmerkkien sisรคllรค.
- Elementti ei voi sisรคltรครค useita samalla nimellรค olevia mรครคritteitรค.
Attribuutti vs. elementti
Oletko edelleen hรคmmentynyt attribuutin ja elementin erosta? Tรคssรค on toinen esimerkki.
Tarkastellaan alla olevia asiakirjoja A ja B.
Asiakirja A:
<teacher subject="English">
<name>Mr. John</name>.
<qualification>Graduate</qualification>
</teacher>
Asiakirja B:
<teacher>
<subject>English</subject>
<name>Mr. John</name>
<qualification>Graduate</qualification>
</teacher>
Asiakirjassa A aihe On mรครคrite.
Asiakirjassa B aihe On elementti.
XML-entiteetit
Mitรค ovat XML-entiteetit?
Yksinkertaisesti sanottuna entiteetit ovat tapa esittรครค erikoismerkkejรค. Entiteetit tunnetaan myรถs nimellรค kokonaisuus viittaukset.
Miksi tarvitset XML-kokonaisuuksia?
Jotkut hahmot (esim ", & <ja niin edelleen) on varattu XML-muodossa. Niitรค kutsutaan nimellรค erikoismerkit eikรค niitรค voi kรคyttรครค suoraan muihin tarkoituksiin.
Esimerkiksi < ja > symboleja kรคytetรครคn tunnisteet. Et voi kirjoittaa suoraan nรคppรคimistรถltรค vรคhemmรคn kuin ja suurempi kuin merkkejรค. Sen sijaan sinun on kรคytettรคvรค kokonaisuuksia.
Seuraava taulukko nรคyttรครค joitain suosittuja XML-kokonaisuuksia.
| Merkki | Tuotetiedot | Kokonaisuuden nimi | Kรคyttรถ |
|---|---|---|---|
| " | Lainausmerkki (kaksoislainaus) | quot | " |
| & | et-merkki | amp | & |
| " | Apostrofi (yksi lainaus) | jรคlkeen | ' |
| < | Less kuin merkki | lt | < |
| > | Suurempi kuin merkki | gt | > |
Esimerkiksi:
<friend>
<name>My friends are Alice & Jane.</name>
</friend>
HTML vs. XML
Samankaltaisuudet HTML:n ja XML:n vรคlillรค
Seuraava luettelo nรคyttรครค yhtรคlรคisyydet HTML:n ja XML:n vรคlillรค.
- Molemmat ovat avoimia formaatteja.
- Molemmat ovat sivunkuvauskieliรค.
- Molemmat kรคyttรคvรคt tageja ja attribuutteja kuvaamaan sisรคltรถรค.
HTML:n ja XML:n erot
Vaikka XML on kuin HTML, XML ei korvaa HTML:รครค. HTML:n ja XML:n vรคlillรค on myรถs joitain merkittรคviรค eroja.
Seuraava luettelotaulukko nรคyttรครค vertailun HTML:n ja XML:n vรคlillรค.
| HTML | XML | |
|---|---|---|
| Telineet | Hypertekstin merkintรคkieli | Laajennettava merkintรคkieli |
| Kielen tyyppi | Ennalta mรครคritetty merkintรคkieli. | Viitekehys merkintรคkielten mรครคrittรคmiseen. |
| Rakenteelliset yksityiskohdat | Ei sisรคlly. | Edellyttรคen. |
| Tarkoitus | Kรคytetรครคn tietojen nรคyttรคmiseen. | Kรคytetรครคn tiedon siirtรคmiseen |
| Ohjaama | Formaattiohjattu. | Sisรคltรถlรคhtรถinen. |
| luonto | Sillรค on staattinen luonne. | Sillรค on dynaaminen luonne. |
| Tunnisteen tyyppi | Ennalta mรครคritetyt tunnisteet. | Kรคyttรคjรคn mรครคrittรคmรคt tunnisteet. |
| Tunnisteen raja | Tunnisteita on saatavilla rajoitettu mรครคrรค. | Tunnisteet ovat laajennettavissa. |
| Sulkevat tagit | Ei ole vรคlttรคmรคtรถntรค kรคyttรครค sulkevia tunnisteita (mutta on suositeltavaa kรคyttรครค sulkevia tunnisteita). | Sulkevat tagit ovat pakollisia. |
| Nimitilan tuki | Ei tueta. | Tuettu. |
| Case-herkkyys | Tunnisteet eivรคt erota kirjainkoolla. | Tunnisteet erottelevat kirjainkoolla. |
| Valkoinen tila | Valkoinen tila ei voi sรคilyttรครค (voi jรคttรครค vรคlilyรถnnin huomioimatta). | Valkoinen vรคli sรคilyy (valkotilaa ei voida jรคttรครค huomiotta). |
| Jรคsennetรครคn sisรครคn JavaKรคsikirjoitus | Ei tarvinnut lisรคsovelluksia. | Tarvitaan DOM-toteutus. |
| Koodin sisรคkkรคisyys | Ei vรคlttรคmรคttรค tarvita. | Tarvittu. |
| virheet | Voi jรคttรครค huomiotta pienet virheet. | Virheet eivรคt ole sallittuja. |
| Tiedostonimen laajennus | . Html or . Htm | . Xml |
| Koko | Suhteellisen suuri. | Suhteellisen pieni. |
| Lainausmerkit | Lainausmerkkejรค ei vaadita mรครคritteiden arvoissa. | Pakollinen XML-attribuuttiarvoille. |
| Objektin tuki | Tarjoaa alkuperรคisen objektituen. | Objektit on ilmaistava sopimuksilla. |
| Tyhjรค tuki | Tunnistaa natiiviarvon nolla-arvon. | Elementeille on kรคytettรคvรค xsi:nil-komentoa. |
| Pรครคtรถsten muotoilu | Tarjoaa suoran kartoituksen sovellustiedoille. | Vaatii suurempia ponnistuksia. |
| Oppimiskรคyrรค | Less jyrkkรค oppimiskรคyrรค verrattuna XML:รครคn. | Jyrkkรค oppimiskรคyrรค. |
| Verkkosivu | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
HTML-perussyntaksi
<!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>
XML-perussyntaksi
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Sama esimerkki HTML:n ja XML:n kanssa
HTML:n kanssa
<!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>
XML:n kanssa
<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
<publisher>The Russian Messenger</publisher>
</book>
JSON vs. XML
JSONin ja XML:n yhtรคlรคisyydet
Alla oleva luettelo nรคyttรครค yhtรคlรคisyydet JSON:n ja XML:n vรคlillรค.
- Molemmat ovat avoimia formaatteja.
- Molemmat kuvaavat itseรครคn.
- Molemmilla on hierarkkinen rakenne.
- Molemmat voivat jรคsentรครค ja kรคyttรครค useita ohjelmointikieliรค.
Erot JSONin ja XML:n vรคlillรค
XML:n ja JSONin vรคlillรค on myรถs useita eroja.
Alla olevat taulukot esittรคvรคt vertailun JSON:n ja XML:n vรคlillรค.
| JSON | XML | |
|---|---|---|
| Telineet | JavaScript Object Notation | Laajennettava merkintรคkieli |
| Laajennettu alkaen | JavaKรคsikirjoitus | SGML |
| Tietovarasto | Tiedot tallennetaan avain-arvo-pareina. | Tiedot tallennetaan puurakenteena. |
| Nimiavaruuksia | Nimiavaruuksia ei tueta. | Tukee nimiavaruuksia. |
| Kommentit | Kommenttien lisรครคmistรค ei tueta. | Saa lisรคtรค kommentteja. |
| Tietojen saatavuus | Helposti kรคytettรคvissรค JSON-objekteina. | Tiedot on jรคsennettรคvรค. |
| Metadata | Metatietojen lisรครคmistรค ei tueta. | Osaa kirjoittaa metatietoja. |
| Tyypit | JSON-tyypit: merkkijono, numero, taulukko, looginen. | Kaikkien XML-tietojen tulee olla jouset. |
| Tuen tietotyypit | Tukee teksti ja numero vain tietotyypit. | Tukee monia tietotyyppejรค (teksti, numerot, kuvat jne.) |
| Arrayn tuki | Enemmรคn tukea taulukoille XML:รครคn verrattuna. | Ei tai vรคhemmรคn tukea taulukoille. |
| Objektin tuki | Alkuperรคinen tuki objektille. | Kohde on ilmaistava sopimuksin. |
| AJAX-tyรถkalusarjan tuki | Tuettu. | Ei tรคysin tuettu. |
| Haetaan arvoja | Helppo. | Vaikea. |
| Sarjoittaminen / sarjoittaminen | Tรคysin automatisoitu. | Kehittรคjien on kirjoitettava JavaKรคsikirjoituskoodi. |
| Selaimen tuki | Useimmat selaimet tukevat. | Selainten vรคlinen XML-jรคsennys voi olla hankalaa. |
| koodaus | Tukee vain UTF-8-koodausta. | Se tukee erilaisia โโkoodauksia. |
| Nรคyttรถominaisuudet | Ei nรคyttรถominaisuuksia. | Tarjoa nรคyttรถominaisuuksia. |
| Asiakirjan koko | Pienempi kuin XML. | Isompi kuin JSON. |
| Tiedostonimen laajennus | .json | . Xml |
| Turvallisuus | Less kiinnitetty. | Turvallisempi kuin JSON. |
| Helppo lukea | Suhteellisen helppoa. | Suhteellisen vaikeaa. |
| Oppimiskรคyrรค | Helppo oppia. | Jyrkkรค oppimiskรคyrรค. |
| Verkkosivu | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
JSON-perussyntaksi
{string:value, .......}
Sama esimerkki JSON:n ja XML:n kanssa
JSONin kanssa
{"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"}
]}
XML:n kanssa
<?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
Mikรค on DTD?
DTD tarkoittaa Dammatti TyPE Dmรครคritelmรค. Se mรครคrittelee XML-dokumentin rakenteen kรคyttรคmรคllรค joitain juridisia elementtejรค. XML DTD on valinnainen.
DTD sรครคnnรถt
Seuraava luettelo nรคyttรครค DTD-sรครคnnรถt.
- Jos DTD on olemassa, sen on oltava asiakirjan alussa (vain XML-ilmoitus voi nรคkyรค DTD:n ylรคpuolella).
- Elementtiilmoituksen on aloitettava an ! merkki.
- Juurielementin DTD-nimen ja elementtityypin on oltava samat.
Esimerkkejรค DTD:stรค
Esimerkki sisรคisestรค DTD:stรค:
<?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>
Yllรค olevassa esimerkissรค
- !DOCTYPE opiskelija osoittaa DTD-ilmoituksen alun. Ja opiskelija on XML-dokumentin juurielementti.
- !ELEMENT opiskelija osoittaa opiskelija elementin tulee sisรคltรครค etunimi Sukunimi ja koulu elementtejรค.
- !ELEMENT etunimi osoittaa etunimi elementti on tyyppiรค #PCDATA (Parsed Cmerkki Pรคivรคys).
- !ELEMENT sukunimi osoittaa sukunimi elementti on tyyppiรค #PCDATA.
- !ELEMENT koulu osoittaa koulu elementti on tyyppiรค #PCDATA.
Esimerkki ulkoisesta DTD:stรค:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student SYSTEM "student.dtd">
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
DTD-tiedoston sisรคltรถ (student.dtd) seuraavasti.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
XML DOM
Mikรค on DOM?
DOM tarkoittaa Dammatti Oesine Model. Se mรครคrittelee standardin tavan kรคyttรครค ja kรคsitellรค XML-asiakirjoja. DOM:lla on (hierarkkinen) puurakenne.
Esimerkki DOM:sta
Tarkastellaan alla olevaa XML-dokumenttia.
<?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>
Yllรค olevan XML-tiedoston puurakenne nรคyttรคisi seuraavalta kuvalta.

XML-vahvistus
Mitรค ovat hyvin muodostetut XML-asiakirjat?
Hyvin muotoiltu XML-dokumentit ovat XML-dokumentteja, joissa on oikea syntaksi.
Mitรค ovat kelvolliset XML-asiakirjat?
Pรคtevรค XML-dokumentit ovat hyvin muotoiltuja ja myรถs DTD-sรครคntรถjen mukaisia.
XML-nimiavaruudet
Miksi nimiavaruudet?
Nimiavaruudet auttavat vรคlttรคmรครคn elementin nimiristiriidat.
Nimiavaruuden ilmoitus
Seuraavassa nรคkyy nimiavaruuden mรครคrityksen syntaksi.
<element xmlns:name="URL">
Yllรค olevassa julistuksessa
- xmlns avainsana osoittaa nimiavaruuden alun.
- nimi on nimiavaruuden etuliite.
- URL on nimitilan tunniste.
Esimerkkejรค nimiavaruuksista
Seuraava koodisegmentti nรคyttรครค esimerkin nimiavaruuksista.
<?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-editorit
Saatavilla on useita XML-editoreja. Mitรค tahansa tekstieditoria (kuten muistilehtiรถtรค ja niin edelleen) voidaan kรคyttรครค XML-editorina.
Seuraavassa luettelossa on joitain suosittuja XML-editoreja vuonna 2021.
1) XML-muistio
XML Notepad on avoimen lรคhdekoodin XML-editori. Siinรค on puunรคkymรค ja XSL-ulostulo vasemmassa ruudussa ja solmuteksti oikealla. Sen alaosassa on virheenkorjausikkuna.
Tรคrkeimmรคt tilastot:
- Tyyppi โ XML-editori
- Kehittรคjรค - Microsoft
- Tuettu kรคyttรถjรคrjestelmรค - Microsoft Windows.
- Hinta - Ilmainen
2) Stylus Studio
Stylus Studio on sisรครคn kirjoitettu IDE C++ Extensible Markup Language ( XML ) Sen avulla kรคyttรคjรค voi muokata ja muuntaa XML-dokumentteja, dataa, kuten elektronista tiedonvaihtoa (EDI), CSV:tรค ja relaatiodataa.
Tรคrkeimmรคt tilastot:
- Tyyppi โ Integroitu kehitysympรคristรถ (IDE) XML:lle
- Kehittรคjรค โ Progress Software Corporation
- Tuettu kรคyttรถjรคrjestelmรค - Microsoft Windows.
- Hinta โ maksettu (katso uusin hinta alla olevalta verkkosivustolta), ilmainen kokeiluversio saatavilla.
3) Altova XMLSpy
XMLSpyรค markkinoidaan ensisijaisesti JSON- ja XML-editorina. Siinรค on sisรครคnrakennettu skeeman suunnittelija ja editori. Se sisรคltรครค Visual Studion ja Eclipse yhdentymistรค.
Tรคrkeimmรคt tilastot:
- Tyyppi โ XML-editori
- Kehittรคjรค - Altova
- Tuettu kรคyttรถjรคrjestelmรค - Microsoft Windows.
- Hinta โ maksettu (katso uusin hinta alla olevalta verkkosivustolta), ilmainen kokeiluversio saatavilla.
4) Oxygen XML -editori
Oxygen XML on monialustainen editori, joka on kehitetty vuonna Java. Se auttaa vahvistamaan skeemoja, kuten DTD-, W3C XML Schema-, RELAX NG-, Schematron-, NRL- ja NVDL-skeemoja.
Tรคrkeimmรคt tilastot:
- Tyyppi โ XML-editori
- Kehittรคjรค - SyncRO Soft Ltd
- Tuettu kรคyttรถjรคrjestelmรค - Windows, Linux ja Mac OS X
- Hinta โ maksettu (katso alla olevasta verkkosivustosta uusin hinta
Linkki:https://www.oxygenxml.com/
5) Yksinkertaista
Xmplify XML Editor tarjoaa tรคysin XML-tietoisen muokkausympรคristรถn, jossa on DTD- ja XML Schema -pohjainen automaattinen, automaattinen asiakirjatarkistus jne.
Tรคrkeimmรคt tilastot:
- Tyyppi โ XML-editori
- Kehittรคjรค โ MOSO Corporation
- Tuettu kรคyttรถjรคrjestelmรค โ Mac OS.
- Hinta โ maksettu (katso alla olevasta verkkosivustosta uusin hinta
XML-jรคsennykset
XML-jรคsennin on ohjelmistokirjasto, joka tarjoaa kรคyttรถliittymรคn XML-dokumenttien kรคsittelyyn. Se tarkistaa, onko XML-dokumentin muoto oikea. Jotkut jรคsentimet voivat myรถs vahvistaa XML-asiakirjat. Nykyaikaisissa selaimissa on XML-jรคsentimiรค.
SAX
SAX tarkoittaa Stรคytรคntรถรถn API for XML. Se on aS OVELLUSALAT program ikรคyttรถliittymรค (API) XML-dokumenttien jรคsentรคmiseen. He kรคyttรคytyvรคt samalla tavalla kuin tapahtumakรคsittelijรคt Java.
Toisin kuin DOM, SAX on esimerkki tapahtumapohjaisesta XML-jรคsentimestรค.
Tรคssรค on joitain tรคrkeitรค eroja SAX:n ja DOM:n vรคlillรค.
| SAX | DOM | |
|---|---|---|
| Telineet | Yksinkertainen API XML:lle | Asiakirjaobjektimalli |
| Jรคsentimen tyyppi | Tapahtumapohjainen | Objektipohjainen |
| Lue ja kirjoita XML | Vain luku | Sekรค lukea ettรค kirjoittaa |
| Lisรครค/pรคivitรค/poista solmut | Solmuja ei voi lisรคtรค/pรคivittรครค/poistaa | Voi lisรคtรค/pรคivittรครค/poistaa solmuja |
| Muistin tehokkuus | Hyvรค muistin tehokkuus | Vaihtelee |
| Nopeus | Hitaampi kuin DOM Parser | Nopeampi kuin SAX Parser |
| Sopii | Pienet tiedostot | Suuret tiedostot |
XML-tietojen sidonta
XML-tiedonsidonta on XML-dokumentin tietojen esittรคminen liiketoimintaobjektina tietokoneen muistissa.
XML-tietojen sitomiseen on kolme lรคhestymistapaa.
- XML-skeemaan perustuva datasidonta: Vastaavat XML-luokat luodaan skeeman perusteella.
- Luokkapohjainen datasidonta: Vastaava XML-skeema luodaan luokkien perusteella.
- Kartoituspohjainen tietojen sidonta: Se kuvaa, kuinka olemassa oleva XML-skeema kartoitetaan luokkiin (ja pรคinvastoin).
On myรถs XML-tiedonsidontakehystรค.
Esimerkkejรค:
XML-tietojen sidonta on helppoa kehyksillรค. Tiedonsidontakehys luo sinulle suuren mรครคrรคn koodia. Sinun on syรถtettรคvรค DTD- tai XML-skeema.
XML-skeemat
XML malli (Tunnetaan myรถs XML-skeeman mรครคritelmรค or XSD) kรคytรค kuvaamaan XML-dokumentin rakennetta. Se on vaihtoehto DTD:lle.
Miksi kaavio on tรคrkeรค?
DTD ei ole yhtรค tehokas kuin skeema, koska se ei ole tarpeeksi laajennettavissa ja joustava. Joten se ei ehkรค sovellu joihinkin tilanteisiin. Tรคllaisessa tilanteessa kaava on tรคrkeรค. XML-skeeman kรคytรถn pรครคtarkoitus on mรครคritellรค XML-dokumentin elementit ja attribuutit.
Miten XML Schema eroaa DTD:stรค?
Seuraava vertailu osoittaa, kuinka XSD (XML Schema) eroaa DTD:stรค.
| DTD | XSD | |
|---|---|---|
| Telineet | Asiakirjan tyypin mรครคritelmรค | XML-skeeman mรครคritelmรค |
| laajennettavuus | Ei laajennettavissa | laajennettavissa |
| XML-rakenteen hallinta | Less ohjaus | Lisรครค hallintaa |
| Tuen tietotyypit | Ei tuettu | Tuetut |
| Nimitilan tuki | Ei tuettu | Tuetut |
Seuraava koodisegmentti nรคyttรครค esimerkin XML-skeemasta.
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>
XML:n edut
Tรคssรค XML:n edut/edut:
- Se teki tiedon siirtรคmisestรค ja jakamisesta helppoa.
- XML parantaa tiedonvaihtoa eri alustojen vรคlillรค.
- Se on merkintรคkieli, joka on joukko merkkejรค ja/tai symboleja, jotka on sijoitettu tekstidokumenttiin.
- XML ilmaisee, miltรค XML-dokumentin tulee nรคyttรครค sen nรคyttรคmisen jรคlkeen.
- Se yksinkertaistaa alustan vaihtoprosessia.
- Se parantaa tiedon saatavuutta.
- Se tukee monikielisiรค asiakirjoja ja Unicodea.
- Tarjoa suhteellisen helppo oppia ja koodata.
- Se on merkintรคkieli, joka on joukko merkkejรค ja/tai symboleja, jotka on sijoitettu tekstidokumenttiin.
- Se suorittaa validoinnin kรคyttรคmรคllรค DTD:tรค ja Schemaa.
- Tekee asiakirjoista siirrettรคviรค jรคrjestelmien ja sovellusten vรคlillรค. XML:n avulla voit vaihtaa tietoja nopeasti eri alustojen vรคlillรค.
- XML erottaa tiedot HTML:stรค.
XML:n haitat
Tรคssรค ovat XML:n kรคytรถn haitat:
- XML vaatii kรคsittelysovelluksen.
- XML-syntaksi on samanlainen kuin muut vaihtoehtoiset "tekstipohjaiset" tiedonsiirtomuodot, mikรค on joskus hรคmmentรคvรครค.
- Ei sisรคistรค tietotyyppien tukea
- XML-syntaksi on redundantti.
- Ei salli kรคyttรคjรคn luoda tunnisteitaan.
Yhteenveto
- XML tulee sanoista eXtensible Markup Language. XML on kieli (ei ohjelmointikieli), joka kรคyttรครค merkintรครค ja voi laajentaa.
- Pรครคtavoite on siirtรครค dataa, ei nรคyttรครค tietoja.
- XML 1.1 on uusin versio. Silti XML 1.0 on eniten kรคytetty versio.
- Tunnisteet toimivat pareina lukuun ottamatta ilmoituksia.
- Aloitustunniste + sisรคltรถ + sulkeva tunniste = elementti
- Entiteetit ovat tapa esittรครค erikoismerkkejรค.
- DTD on lyhenne sanoista Document Type Definition. Se mรครคrittelee XML-dokumentin rakenteen kรคyttรคmรคllรค joitain juridisia elementtejรค. XML DTD on valinnainen.
- DOM on lyhenne sanoista Document Object Model. Se mรครคrittelee standardin tavan kรคyttรครค ja kรคsitellรค XML-asiakirjoja.
- Hyvin muodostetut XML-dokumentit ovat XML-dokumentteja, joissa on oikea syntaksi.
- Kelvolliset XML-dokumentit ovat hyvin muotoiltuja ja myรถs DTD-sรครคntรถjen mukaisia.
- Nimiavaruudet auttavat vรคlttรคmรครคn elementin nimiristiriidat.
