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.

  1. XML 1.0
  2. 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.

  1. UTF-8 : UTF-8 kรคyttรครค 8 bittiรค edustamaan merkkejรค.
  2. Esimerkiksi:

    <?xml version="1.0" encoding="UTF-8"?>
    
  3. UTF-16

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 DOM
XML DOM -esimerkki

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

Linkki: http://microsoft.github.io/XmlNotepad/


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.

Linkki: http://www.stylusstudio.com/


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.

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 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

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. 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.

Tiivistรค tรคmรค viesti seuraavasti: