XML ( englanniksi eXtensible Markup Language ) laajennettava merkintäkieli | |
---|---|
Laajennus | .xml |
MIME -tyyppinen | application/xml [1] , text/xml [2] (poistettu käytöstä vanhentuneessa luonnoksessa) [3] |
Kehittäjä | World Wide Web Consortium |
julkaistu | 1998 |
Muototyyppi | merkintäkieli |
Laajennettu kohteesta | SGML |
Kehitetty vuonna | XHTML , RSS , Atom , KML , SVG ja monet muut tiedostomuodot |
Standardit) |
1.0 (viides painos), 26. marraskuuta 2008 [4] 1.1 (toinen painos), 16. elokuuta 2006 [5] |
avoin muoto ? | Joo |
Verkkosivusto | w3.org/XML _ |
Mediatiedostot Wikimedia Commonsissa |
XML ( MFA : [ ˌ e k s . e m ˈ e l ], lyhenne englannista . e X tensible Markup L Anguage ) - "laajennettava merkintäkieli ". Suosittelee World Wide Web Consortium (W3C). XML-spesifikaatio kuvaa XML-dokumentteja ja kuvaa osittain XML-prosessorien käyttäytymistä (ohjelmat, jotka lukevat XML-dokumentteja ja tarjoavat pääsyn niiden sisältöön). XML on suunniteltu kieleksi, jolla on yksinkertainen muodollinen syntaksi, helppo luoda ja käsitellä asiakirjoja sekä ohjelmille että ihmisille , painottaen käyttöä Internetissä. Kieltä kutsutaan laajennettavaksi, koska se ei korjaa dokumenteissa käytettyjä merkintöjä: kehittäjä voi vapaasti luoda merkintöjä tietyn alueen tarpeiden mukaan, ja sitä rajoittavat vain kielen syntaksisäännöt. XML-laajennus on konkreettinen XML-pohjainen kielioppi , jota edustaa tunnisteiden ja niiden attribuuttien sanakirja sekä joukko sääntöjä, jotka määrittelevät, mitkä attribuutit ja elementit voivat sisältyä muihin elementteihin. Yksinkertaisen muodollisen syntaksin, ihmisystävällisyyden, laajennettavuuden ja luottamuksen Unicode -koodauksiin asiakirjojen sisällön esittämisessä yhdistelmä on johtanut sekä XML:n itsensä että useiden XML-pohjaisten erikoiskielien laajaan käyttöön useissa eri kielissä. ohjelmistotyökalut.
XML on SGML :n osajoukko .
XML-spesifikaatiossa kuvataan kieli ja useita asiakirjojen koodaukseen ja käsittelyyn liittyviä kysymyksiä. Tämän osion materiaali on tiivistelmä XML-määrityksen kielikuvauksesta, joka on mukautettu tätä artikkelia varten.
Asiakirjan englanninkielistä versiota pidetään normatiivisena, joten päätermit on annettu englanninkielisten alkuperäisten kanssa.
Päätermien käännös noudattaa pohjimmiltaan Internetissä saatavilla olevaa Specificationin venäjänkielistä käännöstä termejä tag ja deklaraatio lukuun ottamatta . Termitunnisteelle käytetään käännöstunnistetta tässä . Ilmaisulla ilmoitus on etusijalla yhteinen käännösilmoitus ( verrattuna myös yleiseen merkintäpaperiilmoitusta ).
Muita päätermien käännöksiä löytyy kirjallisuudesta ja Internetistä.
Fyysisesti katsottuna asiakirja koostuu kokonaisuuksista , joista jokainen voi viitata toiseen kokonaisuuteen. Yksittäinen juurielementti on asiakirjakokonaisuus . Entiteettien sisältö on symboleja.
Loogisesti katsottuna dokumentti koostuu kommenteista ( englanninkieliset kommentit ), ilmoitukset ( englanninkieliset deklaraatiot ), elementit ( englanninkieliset elementit ), entiteettiviittaukset ( englanninkieliset merkkiviitteet ) ja käsittelyohjeet ( englanninkieliset käsittelyohjeet ). Kaikki tämä asiakirjassa on jäsennelty merkinnöillä .
Fyysinen rakenneEntiteetti on asiakirjan pienin osa. Kaikki entiteetit sisältävät jotain, ja niillä kaikilla on nimi (poikkeuksiakin on, esim . asiakirjaentiteetti ). Yksinkertaisesti sanottuna termi "olemus" kuvaa "olemassa olevaa asiaa", " jotain " [6] .
Dokumentti koostuu kokonaisuuksista, joiden sisältö on symboleja. Kaikki merkit on jaettu kahteen tyyppiin: datamerkit ( englanninkieliset merkkitiedot ) ja merkintämerkit. Merkintä sisältää:
Asiakirjan ei-merkintäosa on asiakirjan merkkidata.
Looginen rakenneKaikki asiakirjan osat on tiivistetty prologissa ja juurielementissä . Juurielementti on pakollinen osa dokumenttia, joka muodostaa sen koko olemuksen (yleensä prologi saattaa puuttua). Juurielementti voi sisältää tai ei sisällä sisäkkäisiä elementtejä, merkkitietoja ja kommentteja. Juurielementtiin sisäkkäiset elementit voivat puolestaan sisältää sisäkkäisiä elementtejä, merkkitietoja ja kommentteja ja niin edelleen. Prolog voi sisältää ilmoituksia , käsittelyohjeita , kommentteja . Sen pitäisi alkaa XML-ilmoituksella , vaikka tämä ilmoitus voidaan jättää pois tietyissä tilanteissa.
Asiakirjaelementtien on oltava oikein sisäkkäin : jokaisen elementin, joka alkaa toisen elementin sisällä (eli minkä tahansa muun dokumentin elementin kuin juurielementin) on päätyttävä sen elementin sisään, josta se alkoi. Merkkitietoja voi esiintyä elementtien sisällä joko suoraan tai erityisissä "CDATA"-osissa . Ilmoituksiin, käsittelyohjeisiin ja elementteihin voi liittyä attribuutteja. Attribuutteja käytetään yhdistämään nimi-arvo -parit loogiseen tekstiyksikköön.
Merkintä alkaa aina merkillä <ja päättyy merkkiin >.
Symbolien <ja >ohella symbolilla on myös erityinen rooli merkinnöissä &. Kulmasulut merkitsevät elementtien, käsittelyohjeiden ja joidenkin muiden sekvenssien rajat. Et-merkin avulla voit korvata tekstiä entiteeteillä ( englanninkieliset entities ) [6] .
Merkintämerkkien käyttö merkkitiedoissa vaikeuttaa merkintärakenteiden tunnistamista ja voi aiheuttaa rakenteen moniselitteisyysongelman. XML:ssä tämä ongelma ratkaistaan seuraavasti: <, > ja & eivät voi olla läsnä merkkitiedoissa ja attribuuttiarvoissa suorassa muodossaan, erityiset entiteetit on varattu niiden esittämiseen näissä tapauksissa :
Symboli | Korvaus |
---|---|
< | < |
> | > |
& | & |
Lisäksi seuraavia entiteettejä käytetään heittomerkkien ja lainausmerkkien käyttämiseen attribuuttiarvoissa :
' | ' |
" | " |
Sääntö merkintämerkkien korvaamisesta niiden merkitsevillä entiteeteillä ei koske merkkitietoja "CDATA"-osioissa, vaan se suoritetaan kaikissa muissa dokumentin paikoissa.
Numeeriset merkkiviitteet osoittavat merkin koodipaikan dokumentin merkistössä. Numeeriset merkkiviittaukset voivat olla kahdessa muodossa [7] :
Esimerkkejä numeerisista merkkiviittauksista:
XML:ssä kaikkien nimien tulee alkaa kirjaimella, alaviivalla (_) ja jatkua vain nimissä sallituilla merkeillä, nimittäin: ne voivat sisältää vain kirjaimia, jotka ovat osa Unicode-kirjainosiota, arabialaisia numeroita, tavuviivoja, alaviivoja , pisteet. Koska kirjaimet eivät rajoitu vain ASCII-merkkeihin, nimissä voidaan käyttää minkä tahansa kielen kirjaimia.
XML-ilmoitus määrittää kieliversion, jolla asiakirja on kirjoitettu. Koska dokumentin sisällön tulkinta riippuu kielen versiosta, spesifikaatio määrää dokumentin aloittamisen XML-ilmoituksella. Kielen ensimmäisessä (1.0) versiossa ilmoituksen käyttö oli vapaaehtoista, myöhemmissä versioissa pakollinen. Siten kieliversio määräytyy ilmoituksesta, ja jos ilmoitusta ei ole, oletetaan versiota 1.0.
XML-version lisäksi ilmoitus voi sisältää myös tietoa dokumentin koodauksesta ja siitä, "tuleeko dokumentin säilyä omalla DTD :llä vai sellaisen kanssa".
Esimerkki:
<?xml version="1.1" encoding="UTF-8" ?>tai:
<?xml version="1.0" encoding="windows-1251"?>Kaikissa näissä esimerkeissä "erillinen"-attribuutti puuttui, mikä vain määrittää, sisällytetäänkö merkintöjen kuvaukset asiakirjaan ulkopuolelta. Se on oletuksena "ei":
<?xml version="1.0" encoding="windows-1251" standalone="no"?>Jos XML-dokumentti viittaa muihin DTD-tiedostoihin, jotka kuvaavat, mitä asiakirja voi sisältää, sinun on määritettävästandalone="no"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Jos XML-dokumentti ei viittaa muihin tiedostoihin ja käyttää omaa DTD:ään, sinun on määritettävästandalone="yes"
AsiakirjatyyppiilmoitusAsiakirjatyypin ilmoittamiseen on erityinen ohje !DOCTYPE. Sen avulla voit määrittää DTD-kielellä, mitkä elementit sisältyvät asiakirjaan, mitkä ovat niiden attribuutit, mitä entiteettiä voidaan käyttää ja jotain muuta.
Tässä on esimerkiksi oikea asiakirja:
<?xml version="1.0"?> <tervehdys> Hei maailma! </tervehdys>Sillä on juurielementti <greeting>Hello, world!</greeting>ja loogisesti asiakirja on olemassa. Se ei kuitenkaan ole kelvollinen ( eng. not valid ) [8] .
Document Type Declaration (DTD) -ilmoituksen avulla on mahdollista kuvata sen sisältöä ja loogista rakennetta sekä liittää nimi-arvo-pari tiettyyn elementtiin. Tältä prologi näyttää Backus-Naur-merkinnässä [9] :
prolog ::= XMLDecl? Muut* (doctypedecl Misc*)? XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' VersionInfo ::= S 'versio' Eq ("'" VersionNum "'" | '"' VersionNum '"') Eq ::= S? '='S? VersionNum ::= '1.' [0-9]+ Muut ::= Kommentoi | PI | S doctypedecl ::= '<!DOCTYPE' S nimi (S ulkoinen ID)? S? ('[' intSubset ']' S?)? '>' DeclSep ::= PEReference | S intSubset ::= (markupdecl | DeclSep)* markupdecl ::= elementdecl | AttlistDecl | EntityDecl | Merkintä Decl | PI | Kommentti extSubset ::= TextDecl? extSubsetDecl extSubsetDecl ::= ( markupdecl | conditionalSect | DeclSep)*XML-ilmoitusta voidaan seurata kommenteilla, käsittelyohjeilla tai tyhjillä välilyönneillä [10] , mutta sitten tulee asiakirjatyypin ilmoitukset, joissa "Name" on juuritunnisteen nimi , "ExternalID" on ulkoinen tunniste ja "intSubset". on merkintäilmoitus tai muuten entiteetin viite. Kuten spesifikaatio sanoo, jos ulkoinen tunniste on ilmoitettu yhdessä sisäisen ilmoituksen kanssa, niin jälkimmäinen tulee ennen ensimmäistä [11] .
Esimerkiksi:
<?xml version="1.0"?> <!DOCTYPE tervehdys SYSTEM "hello.dtd"> <tervehdys> Hei maailma! </tervehdys>Tässä " SYSTEM "hello.dtd"" on ulkoinen tunniste: osoite "hello.dtd" antaa sinun käyttää asiakirjan "hello.dtd" tietoja merkintäilmoituksina.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE tervehdys [ <!ELEMENT tervehdys (#PCDATA)> ]> <tervehdys> Hei maailma! </tervehdys>Tässä merkintä ilmoitettiin paikallisesti !DOCTYPE.
KäsittelyohjeKäsittelyohjeet ( eng. processing instruction, PI ) mahdollistavat ohjeiden sijoittamisen dokumenttiin sovelluksille. Seuraava esimerkki näyttää xml-stylesheet-käsittelyohjeen, joka välittää my-style.css-tiedoston ohjeet xml-tyylitaulukkosovellukselle (kuten selaimelle) href-attribuutin kautta:
<?xml-stylesheet type="text/css" href="my-style.css"?> KommenttiKommentit ( eng. comment ) eivät viittaa dokumentin merkkitietoihin. Kommentti alkaa sekvenssillä "<!--" ja päättyy sekvenssiin "-->", sisällä ei voi esiintyä merkkiyhdistelmää "--". &-merkkiä ei käytetä merkintänä kommentin sisällä.
Esimerkki:
<!-- tämä on kommentti -->Elementti on käsite asiakirjan loogisesta rakenteesta . Jokainen asiakirja sisältää yhden tai useamman elementin. Elementtien rajat esitetään aloitus- ja lopputunnisteilla . Elementin alku- ja lopputunnisteiden elementin nimen on oltava sama. Elementti voidaan esittää myös tyhjällä elementtitunnisteella , eli se ei sisällä muita elementtejä ja merkkitietoja.
Tag ( englanniksi tag ) on merkintärakenne, joka sisältää elementin nimen.
Aloitustunniste: <elementti1>
Lopputunniste: </element1>
Tyhjä elementtitunniste: <empty_element1 />
Elementissä attribuutteja voidaan käyttää vain aloitustagissa ja tyhjässä elementtitagissa.
Esimerkki reseptistä, joka on merkitty XML:llä:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE-resepti> <reseptin nimi= "leipä" preptime= "5min" cooktime = "180min " > <title> yksinkertainen leipä </title> <koostumus> <ainesosan määrä= "3" yksikkö= "lasi" > Jauhot </ingredient> <ainesosan määrä= "0,25" yksikkö= "grammaa" > Hiiva </ingredient> <ainesosan määrä= "1,5" unit= "glass" > Lämmin vesi </ingredient> </composition> <ohjeet> <step> Sekoita kaikki ainekset ja vaivaa huolellisesti. </step> <step> Sulje liinalla ja anna seistä tunnin ajan lämpimässä huoneessa. </step> <!-- <step> Lue eilinen sanomalehti. </step> on kyseenalainen askel... --> <step> Vaivaa uudelleen, laita uunipellille ja laita uuniin. </step> </instructions> </recipe> CDATA-osioCDATA -osio ei ole looginen tekstiyksikkö. Osio voi esiintyä missä tahansa asiakirjassa, johon syntaksi sallii merkkitietojen sijoittamisen. Osio alkaa <![CDATA[ja päättyy ]]>. Tämän merkinnän välissä on merkkidataa; merkkidata sisältää siis merkit < > &niiden välittömässä muodossa.
Hyvin muotoiltu dokumentti noudattaa kaikkia yleisiä XML-syntaksisääntöjä, joita sovelletaan mihin tahansa XML-dokumenttiin : oikea dokumentin rakenne, vastaavat nimet alku- ja loppuelementtitunnisteessa jne. Asiakirjaa, joka ei ole hyvin muotoiltu, ei voida pitää asiakirjan xml-tiedostona.
Esimerkki asiakirjasta:
<?xml version="1.0" encoding="UTF-8"?> <!-- kirjautumisnäyttö --> <edsscript> <sekvenssin nimi= "aloitus" > <action cmd= "triggeron" > bt* </action> <action cmd= "laukaisu" > msg_generic </action> <action cmd= "disablenbb" > kaikki </action> <action cmd= "setscrtext" > @@System Giris@@ </action> <action cmd= "enablenbb" > eteenpäin, päävalikko </action> <action cmd= "switchmsgtarget" > LOGIN_DLG </action> <action cmd= "sendmsg" > alkaa </action> <action cmd= "hyppää" > vaihe 2 </action> </sequence> <sequence name= "step2" > <action cmd= "waittrigger" > btn eteenpäin </action> <action cmd= "laukaisu" > Kirjaudu sisään* </action> <action cmd= "disablenbb" > kaikki </action> <action cmd= "sendmsg" > tarkistaa </action> </sequence> <trigger name= "login_suckeded" > <condition type= "appmsg" > login_succeeded </condition> <sequence> <action cmd= "endscript" /> </sequence> </trigger> <trigger name= "login_unknownuser" > <condition type= "appmsg" > login_unknownuser </condition> <sequence name= "login_unknownuser" > <action cmd= "disablenbb" > kaikki </action> <action cmd= "setscrtext" > @@hata@@ </action> <action cmd= "showhtml" > generic_neg.htm,@@Yanlış kullanıcı ismi@@,@@Lütfen kullanıcı ismini doğru giriniz.@@ </action> <action cmd= "enablenbb" > takaisin </action> <action cmd= "waittrigger" > btnback </action> <action cmd= "hyppää" > alkaa </action> </sequence> </trigger> <trigger name= "login_incorrectpwd" > <condition type= "appmsg" > login_incorrectpwd </condition> <sequence name= "login_incorrectpwd" > <action cmd= "disablenbb" > kaikki </action> <action cmd= "setscrtext" > @@hata@@ </action> <action cmd= "showhtml" > generic_neg.htm,@@Hatalı parola@@,@@Lütfen parolanızı doğru giriniz.@@ </action> <action cmd= "enablenbb" > takaisin </action> <action cmd= "waittrigger" > btnback </action> <action cmd= "hyppää" > alkaa </action> </sequence> </trigger> <!-- yleiset triggerit --> <trigger name= "btnback" > <condition type= "buttonclick" > takaisin </condition> <sequence name= "btnback" > <action cmd= "triggeron" > btnback </action> </sequence> </trigger> <trigger name= "btnforward" > <condition type= "buttonclick" > eteenpäin </condition> <sequence name= "btnforward" > <action cmd= "triggeron" > btn eteenpäin </action> </sequence> </trigger> <trigger name= "btnmainmenu" > <condition type= "buttonclick" > päävalikko </condition> <sequence> <action cmd= "jumpscript" > <value label= " mainmenuscript" range = "local" /> </action> </sequence> </trigger> <trigger name= "btnquitapp" > < condition type= "buttonclick" > lopeta sovellus </condition> <sequence name= "btnquitapp" > <action cmd= "callscript" > quitapp.xml </action> <action cmd= "hyppää" > alkaa </action> </sequence> </trigger> <trigger name= "error_generic" > <condition type= "appmsg" > virhe* </condition> <sequence> <action cmd= "showhtml" > errdsc_null.htm,@@Hata@@ </action> <action cmd= "disablenbb" > kaikki </action> <action cmd= "enablenbb" > eteenpäin </action> <action cmd= "waittrigger" > btn eteenpäin </action> <action cmd= "endscript" /> </sequence> </trigger> <trigger name= "msg_generic" > <condition type= "appmsg" > msg_generic </condition> <sequence> <action cmd= "showhtml" > generic_msg.htm </action> <action cmd= "laukaisu" > msg_generic </action> </sequence> </trigger> <!-- Kovan koodin puolelta heitetään käsittelemätön poikkeus. --> <triggerin nimi= "error_hardcodeside" > <condition type= "appmsg" > error_hardcodeside </condition> <sequence> <action cmd= "triggeroff" > * </action> <action cmd= "laukaisu" > btnmainmenu </action> <action cmd= "laukaisu" > btnquitapp </action> <action cmd= "disablenbb" > kaikki </action> <action cmd= "enablenbb" > päävalikko </action> <action cmd= "showhtml" > errdsc_null.htm,Hata, @@İşlem sırasında bir hata meydana geldi.@@ </action> <action cmd= "waittrigger" > btnmainmenu </action> </sequence> </trigger> </edscript>Tämä osio sisältää yhteenvedon joistakin W3C:n suosituksista, jotka liittyvät asiakirjojen käsittelyyn. Vastaavat suositukset voivat koskea sekä XML-dokumentteja että laajempaa dokumenttiluokkaa. Linkkejä tarjotaan yleensä W3C:n suosittelemiin dokumentinhallintatyökaluihin.
Erittely edellyttää, että prosessorit tukevat vähintään kahta Unicode-koodausta: UTF-8 ja UTF-16 .
XML - määrittelyssä määritellään XML - prosessorin ja sovelluksen käsitteet . XML-prosessori ( parser ) on ohjelma, joka jäsentää merkinnät ja välittää tietoa dokumentin rakenteesta toiselle ohjelmalle, sovellukselle.
XML-spesifikaatio asettaa prosessorille tiettyjä vaatimuksia vaikuttamatta sovelluksen vaatimuksiin.
Tosite on kelvollinen , jos siihen on liitetty dokumenttityyppimääritelmä ja jos dokumentti noudattaa tositetyypin määrittelyssä esitettyjä rajoituksia.
XML-prosessorit on jaettu kahteen luokkaan: validoiva ja ei-validoiva.
Validointiprosessorit tarkistavat dokumentin kelvollisuuden ja raportoivat (käyttäjän valinnan mukaan) dokumenttityypin määrittelyssä mainittujen rajoitusten rikkomuksista.
Validoimattomat käsittelijät eivät tarkista asiakirjan voimassaoloa, mutta edellä mainitut asiakirjan esikäsittelytehtävät jäävät heille.
Kaaviokieliä käytetään asiakirjatyyppien kuvaamiseen . Koska XML on SGML -kielen osajoukko , se perii SGML:lle kehitetyn Document Type Definition ( DTD ) -kielen. Myöhemmin kehitettiin muita skeemakieliä, joista tunnetuin on XML Schema , RELAX NG .
XSLT on suunniteltu ratkaisemaan ongelma, joka liittyy XML-dokumentin muuntamiseen toiseen skeemaan tai toiseen muotoon .
Muotoillulle asiakirjalle (renderöimiseen valmisteltu asiakirja) on tarkoitettu XSL-FO- muoto .
XPath on syntaksi puun muodossa esitetyn asiakirjan sisällön osoittamiseksi. XPath - lausekkeita käytetään XQuery - kielessä . XPath-lausekkeita voidaan yleensä käyttää missä tahansa kontekstissa, jossa on tarkoituksenmukaista käyttää muodollisia viittauksia puuelementteihin, erityisesti parametreina dokumenttien käyttöliittymien menetelmiin.
XQuery on dokumenttisuuntautunut ohjelmointikieli.
XML:n lukemiseen on kolme API -vaihtoehtoa [12] .
Event API ( tapahtumaohjattu API, push-tyylinen API ) - XML-prosessori lukee XML:ää; tietyssä tapahtumassa (alku- tai sulkemistunnisteen esiintyminen, tekstimerkkijono, attribuutti) kutsutaan takaisinsoittotoimintoa .
Stream API (myös pull-style API ) - järjestetty I/O-virtojen tapaan . Sovelluskoodi kysyy prosessorilta XML:n osia, jotka voivat vain siirtyä eteenpäin XML:n läpi unohtaen jo ohitetut osat.
Object API ( Document Object Model , DOM, "dokumenttiobjektimalli") - lukee XML:n ja luo sen uudelleen muistiin objektirakenteena.
On myös hybridi-API:ita: ulkoiset ja merkityksettömät osat luetaan stream-menetelmällä, kun taas sisäiset ja tärkeät osat luetaan objektimenetelmällä.
Esimerkki koodista (C++, kuvitteellinen API) xml :: StreamReader- lukija ( "in.xml" ); std :: merkkijonon nimi , arvo ; lukija . enterTag ( "asiakirja" ); while ( lukija . getTag ( " juttu " ) { xml :: Element * elThing = lukija . readEntireSubtree (); asioita . emplace_back (); Asia & asia = asiat . takaisin (); asia . nimi = elThing . requestStringAttr ( "nimi" ); asia . arvo = elThing . teksti (); }Direct Write API kirjoittaa XML-tunnisteen tunniste kerrallaan, attribuutti attribuutilta.
Object API eli Document Object Model .
XML:ssä on jäsennystoteutuksia kaikille nykyaikaisille ohjelmointikielille [17] .
Ilman CSS :n tai XSL :n käyttöä XML-dokumentti hahmonnetaan tavallisena tekstinä useimmissa verkkoselaimissa. Jotkut selaimet, kuten Internet Explorer , Mozilla Firefox ja Opera (Operan sisäänrakennettu Dragonfly - työkalu ), näyttävät asiakirjan rakenteen puuna, jolloin solmut voidaan tiivistää ja laajentaa hiiren napsautuksella.
CSS-tyylien käyttöProsessi on samanlainen kuin CSS :n käyttäminen HTML - dokumenttiin näyttöä varten. Jotta CSS:ää voidaan käyttää selaimessa näytettäessä, XML-asiakirjassa on oltava erityinen linkki tyylisivuun. Esimerkiksi:
<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>Tämä eroaa HTML-lähestymistavasta, joka käyttää <link>-elementtiä.
Muunnosten käyttäminen XSL-FO-muotoonNykyaikaiset selaimet ovat työkaluja, jotka voivat suorittaa XSLT-muunnoksia. Selaimessa tällainen muunnos suoritetaan yleensä asiakirjan alustamiseksi (muunnetaan asiakirja XSL-FO-muotoon). Seuraava lause XML-dokumentin prologissa ohjeistaa selainta suorittamaan transform.xsl-tiedostossa kuvatun XSLT-muunnoksen:
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>Voit työskennellä XML-dokumentin kanssa tavallisessa tekstieditorissa, mutta tavalliset editorit eivät tue dokumentin rakennetta. On olemassa erityisiä XML-editoreja , jotka tekevät asiakirjan käsittelystä helpompaa ja tehokkaampaa.
DB2 - tietokannan hallintajärjestelmän avulla voit tallentaa tietoja XML-muodossa ja käyttää tällaisia tietoja XQuery-kielellä.
XML on tuettu alhaisilla laitteisto-, laiteohjelmisto- ja ohjelmistotasoilla nykyaikaisissa laitteistoratkaisuissa [18] .
XML on merkintäkieli, toisin sanoen väline dokumentin kuvaamiseen. Se on asiakirjojen, tekstien kapealla, jossa heterogeenisten merkkitietojen osuus on suuri ja merkintöjen osuus on pieni - XML on onnistunut. Toisaalta tiedonvaihto avoimissa järjestelmissä ei rajoitu asiakirjojen vaihtoon. XML-merkintöjen redundanssi (ja kielisuunnittelun kannalta on nimenomaisesti todettu, että tiiviys ei ole projektin prioriteetti) vaikuttaa tilanteisiin, joissa data ei sovi perinteiseen dokumenttimalliin. Esimerkiksi uutissyöte, joka on muotoiltu XML-syntaksilla ( RSS , Atom-muodot ), ei ole dokumentti perinteisessä mielessä, vaan samantyyppisten minidokumenttien virta - monisanainen ja redundantti merkintä on tässä tapauksessa olennainen osa lähetetyistä tiedoista.
W3C on huolissaan XML:n tehokkuudesta, ja asiaankuuluvat työryhmät tutkivat asiaa (vuoden 2013 alkuun mennessä ei ole kehitetty normatiivisia asiakirjoja).
Toinen tilanne, jossa XML-muodot eivät ehkä ole paras ratkaisu, on työskenneltäessä datan kanssa, jonka rakenne on yksinkertainen ja jossa on pieni määrä merkkitietoa (tietokenttiä). Tällöin merkintöjen osuus kokonaisvolyymista on suuri ja XML:n ohjelmallinen käsittely voi olla kohtuuttoman kallista verrattuna yksinkertaisemman rakenteen datan kanssa työskentelyyn. Tällä alueella kehittäjät etsivät natiivitietopohjaisia työkaluja, kuten INI , YAML , JSON .
W3C työstää skriptikieltä XML:n kanssa työskentelyä varten (vuoden 2013 alkuun mennessä ei ole kehitetty säädösdokumentteja).
World Wide Web Consortium (W3C) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tuotteet ja standardit |
| ||||||||||||||
Organisaatiot |
| ||||||||||||||
PÄÄLLÄ |
| ||||||||||||||
Konferenssit |
|
semanttinen verkko | |
---|---|
Perusasiat | |
alajaksot |
|
Sovellukset |
|
liittyvät aiheet | |
Standardit |
|
Web ja verkkosivut | |
---|---|
maailmanlaajuisesti | |
Paikallisesti | |
Sivustojen ja palveluiden tyypit |
|
Luominen ja ylläpito | |
Asettelutyypit, sivut, sivustot |
|
Tekninen | |
Markkinointi | |
Yhteiskunta ja kulttuuri |
Asiakirjan merkintäkielet | |
---|---|
toimistoasiakirjat _ | |
tunnettu | |
Vähemmän Tunnettu |