XML-opetusohjelma aloittelijoille
โก รlykรคs yhteenveto
XML, Extensible Markup Language, jรคsentรครค, tallentaa ja siirtรครค tietoja jรคrjestelmien vรคlillรค kรคyttรคmรคllรค itse mรครคrittelemiรคsi itsekuvailevia tageja. Tรคssรค opetusohjelmassa selitetรครคn XML-syntaksi, mรครคrittelyt, tagit, attribuutit, entiteetit, DTD, DOM, skeemat ja nimiavaruudet sekรค vertaillaan XML:รครค HTML:รครคn ja JSON:iin.

Mikรค on XML?
XML tarkoittaa eXkestรคvรค Markup Lkieli. Se on kieli (ei ohjelmointikieli), joka kรคyttรครค merkintรคkieliรค ja jota voidaan 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. UTF-koodausta kรคytetรครคn XML-koodaukseen. 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
- 20 - 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 tunnisteetEt voi kirjoittaa suoraan vรคhemmรคn kuin ja suurempi kuin nรคppรคimistรถn merkkejรค sisรคllรถn hakemiseksi. Sen sijaan sinun on kรคytettรคvรค entiteettejรค.
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 taulukko nรคyttรครค HTML:n ja XML:n vertailun.
| 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. |
| Code pesintรค | 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 kartanping sovellustietoja varten. | 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 voidaan jรคsentรครค ja kรคyttรครค useilla ohjelmointikielillรค.
Erot JSONin ja XML:n vรคlillรค
XML:n ja JSONin vรคlillรค on myรถs useita eroja.
Alla oleva taulukko nรคyttรครค JSON:n ja XML:n vertailun.
| 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. | Objekti on ilmaistava kรคytรคntรถjen avulla. |
| 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. | Suurempi 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-editoriohjelmia. Mitรค tahansa tekstieditoria (kuten Muistio jne.) voidaan kรคyttรครค XML-editorina.
Seuraavassa luettelossa on joitakin suosittuja XML-editoriohjelmia.
1) XML-muistio
XML Notepad on avoimen lรคhdekoodin XML-editori. Siinรค on puunรคkymรค ja XSL-tuloste vasemmassa ruudussa ja solmuteksti oikeassa ruudussa. Sen alareunassa on virheidenkorjausikkuna.
Tรคrkeimmรคt tilastot:
- Tyyppi โ XML-editori
- Kehittรคjรค - Microsoft
- Tuettu kรคyttรถjรคrjestelmรค - Microsoft Windows.
- Hinta - Ilmainen
Linkki: http://microsoft.github.io/XmlNotepad/
2) Stylus Studio
Stylus Studio on sisรครคn kirjoitettu IDE C++ Extensible Markup Languagelle (XML). Sen avulla kรคyttรคjรค voi muokata ja muuntaa XML-dokumentteja ja -tietoja, kuten sรคhkรถistรค tiedonvaihtoa (EDI), CSV-tiedostoja ja relaatiotietoja.
Tรคrkeimmรคt tilastot:
- Tyyppi โ Integroitu kehitysympรคristรถ (IDE) XML:lle
- Kehittรคjรค โ Progress Software Corporation
- Tuettu kรคyttรถjรคrjestelmรค - Microsoft Windows.
- Hinta โ Maksullinen (katso uusin hinta alla olevalta verkkosivustolta), ilmainen kokeilu saatavilla.
Linkki: http://www.stylusstudio.com/
3) Altova XMLSpy
XMLSpyรค markkinoidaan pรครคasiassa JSON- ja XML-editorina. Siinรค on sisรครคnrakennettu skeemasuunnittelija 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 โ Maksullinen (katso uusin hinta alla olevalta verkkosivustolta), ilmainen kokeilu saatavilla.
Linkki: https://www.altova.com/xmlspy-xml-editor
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 uusin hinta alla olevalta verkkosivustolta)
Linkki: https://www.oxygenxml.com/
5) Yksinkertaista
Xmplify XML Editor tarjoaa tรคysin XML-tietoisen muokkausympรคristรถn, jossa on DTD- ja XML-skeemapohjainen automaattinen tรคydennys, automaattinen dokumenttien validointi ja paljon muuta.
Tรคrkeimmรคt tilastot:
- Tyyppi โ XML-editori
- Kehittรคjรค โ MOSO Corporation
- Tuettu kรคyttรถjรคrjestelmรค โ Mac OS.
- Hinta โ Maksettu (katso uusin hinta alla olevalta verkkosivustolta)
Linkki: http://xmplifyapp.com/
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. Se toimii samalla tavalla kuin tapahtumankรคsittelijรคt Java.
Toisin kuin DOM, SAX on esimerkki tapahtumapohjaisesta XML-jรคsentimestรค.
Tรคssรค on joitakin 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.
- karttaping-pohjainen datan 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รคytetรครคn kuvaamaan XML-dokumentin rakennetta. Se on vaihtoehto DTD:lle.
Miksi kaavio on tรคrkeรค?
DTD ei ole yhtรค tehokas kuin schema, koska se ei ole tarpeeksi laajennettavissa ja joustava. Siksi se ei vรคlttรคmรคttรค sovellu kaikkiin tilanteisiin. Tรคllaisessa tilanteessa schema on tรคrkeรค. XML-skeeman pรครคtarkoitus on mรครคritellรค XML-dokumentin elementit ja attribuutit.
Miten XML-skeema 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รค ovat XML:n hyvรคt/hyรถdyt:
- Se helpottaa tiedon siirtรคmistรค ja jakamista.
- 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.
- Se on suhteellisen helppo oppia ja koodata.
- Se suorittaa validoinnin kรคyttรคmรคllรค DTD:tรค ja Schemaa.
- Se tekee dokumenteista 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/haitat:
- XML vaatii kรคsittelysovelluksen.
- XML-syntaksi on samanlainen kuin muissa vaihtoehtoisissa tekstipohjaisissa tiedonsiirtomuodoissa, mikรค on joskus hรคmmentรคvรครค.
- Ei sisรคistรค tietotyyppitukea.
- XML-syntaksi on redundantti.
- Ei salli kรคyttรคjรคn luoda omia tunnisteita.
