Utvidbart Markup Language

Se også: Markup language
eXtensible Markup Language (XML)
utvikler
World Wide Web Consortium
http://www.w3.org/XML
Generell informasjon
filutvidelse .xml
mime-type application/xml, text/xml
Første utgivelse 1999
formattype merkespråk
utvidet fra SGML og Unicode
Standarder) 1.0 (fjerde utgave)
1.1 (andre utgave)
åpent format Ja 

XML , akronym på engelsk for eXtensible Markup Language , oversatt som 'Extensible Markup Language' eller 'Extensible Markup Language', er et metaspråk som gjør det mulig å definere markup-språk utviklet av World Wide Web Consortium (W3C) som brukes til å lagre data i lesbare form. Det kommer fra SGML -språket og lar deg definere grammatikken til spesifikke språk (på samme måte som HTML i seg selv er et språk definert av SGML) for å strukturere store dokumenter. I motsetning til andre språk støtter XML databaser, noe som gjør det nyttig når flere applikasjoner trenger å kommunisere med hverandre eller integrere informasjon. [ 1 ]

XML ble ikke laget utelukkende for bruk på Internett , men foreslås snarere som en standard for utveksling av strukturert informasjon mellom ulike plattformer. Den kan brukes i databaser, tekstredigerere, regneark og omtrent alt annet du kan tenke deg.

XML er en enkel teknologi som har andre rundt seg som utfyller den og gjør den mye større, med mye større muligheter. Den spiller en svært viktig rolle i dag, da den tillater kompatibilitet mellom systemer for å dele informasjon på en sikker, pålitelig og enkel måte.

Historikk

XML kommer fra et språk oppfunnet av IBM1970 -tallet , kalt GML ( Generalized Markup Language ), som oppsto fra selskapets behov for å lagre store mengder informasjon og dele den med andre OS og plattformer. ISO likte dette språket , så i 1986 jobbet de med å standardisere det, og skapte SGML ( Standard Generalized Markup Language ), som var i stand til å tilpasse seg et bredt spekter av problemer. Fra den er det opprettet andre systemer for å lagre informasjon. [ 2 ]

I 1989 skapte Tim Berners Lee nettet , og sammen med det HTML-språket. Dette språket ble definert innenfor rammen av SGML og var den desidert mest kjente anvendelsen av denne standarden. Nettlesere har imidlertid alltid stilt få krav til HTML-koden de tolker, og sidene er derfor kaotiske og ikke-kompatible med syntaks . Disse nettsidene er avhengige av en spesifikk måte å håndtere feil og uklarheter på, noe som gjør sidene mer sprø og nettleserne mer komplekse.

En annen begrensning ved HTML er at hvert dokument tilhører et fast vokabular, etablert av DTD . Elementer fra forskjellige ordforråd kan ikke kombineres. På samme måte er det umulig for en tolk (f.eks. en nettleser) å analysere dokumentet uten kunnskap om dets grammatikk (av DTD). For eksempel vet nettleseren at før en <div>-tag må alle tidligere åpnede <p> ha blitt lukket. Nettlesere løste dette ved å inkludere ad hoc-logikk for HTML-en, i stedet for å inkludere en generisk parser . Begge alternativene er imidlertid svært komplekse for nettlesere.

Det ble deretter søkt å definere et undersett av SGML som tillater:

For å gjøre dette utelater XML mange funksjoner i SGML som var ment å gjøre det enklere å skrive dokumenter manuelt. XML er derimot rettet mot å gjøre ting enklere for automatiske programmer som trenger å tolke dokumentet.

Kritikk

XML og dens utvidelser har jevnlig blitt kritisert for detaljnivå og kompleksitet. [ 3 ] Å kartlegge den grunnleggende tremodellen til XML til typen systemer for programmeringsspråk eller databaser kan være vanskelig, spesielt når du bruker XML for svært strukturert datautveksling mellom applikasjoner, som ikke var dens tiltenkte formål. Andre kritikere forsøker å tilbakevise påstanden om at XML er et selvbeskrivende språk [ 4 ] (selv om XML-spesifikasjonen ikke gjør noe slikt). JSON og YAML foreslås ofte som alternativer, begge med fokus på representasjon av strukturerte data, snarere enn narrative dokumenter.

Fordeler med XML

Strukturen til et XML-dokument

XML-teknologi søker å løse problemet med å uttrykke strukturert informasjon på en mest mulig abstrakt og gjenbrukbar måte. At informasjonen er strukturert betyr at den er bygd opp av veldefinerte deler, og at disse delene er bygd opp av andre deler. Så har du et tre med opplysninger. Eksempler er et musikalsk tema, som er bygd opp av takter, som i seg selv er bygd opp av noter. Disse delene kalles elementer , og de er merket med etiketter .

En tag består av et merke laget på dokumentet, som angir en del av det som et element. En informasjon med en klar og definert mening. Tagger har formen <navn> , der navn er navnet på elementet det pekes på.

Nedenfor er et eksempel for å forstå strukturen til et XML-dokument:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE Edit_Message SYSTEM "Edit_Message.dtd"> <Edit_Message> <Melding> <Avsender> <Navn> Avsenderens navn </Navn> <Mail> Avsenderens e- post </Mail> </Avsender> <Mottaker> <Navn> Mottakers navn </Navn> <Mail> E- post til mottaker < /Mail> </Mottaker> <Tekst> <Emne> Dette er mitt dokument med en veldig enkel struktur inneholder ingen attributter eller enheter... </Subject> <Avsnitt> Dette er mitt dokument med en veldig enkel struktur inneholder ingen attributter eller enheter... </Paragraph> </Text> </Message> </Edit_Message>

Her er kodeeksemplet på DTD fra "Edit_Message.dtd" dokumentet:

<?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Dette er Edit_Message DTD --> <!ELEMENT Melding (Avsender, Mottaker, Tekst)*> <!ELEMENT Avsender (Navn, Mail)> <!ELEMENT Navn (#PCDATA)> <!ELEMENT Mail (#PCDATA)> <!ELEMENT Mottaker (Navn, Mail) > <!ELEMENT-navn (#PCDATA)> <!ELEMENT-post (#PCDATA)> <!ELEMENT-tekst (emne, avsnitt)> <!ELEMENT-emne (#PCDATA)> <!ELEMENT-avsnitt (#PCDATA)>

Velutformede XML-dokumenter og feilhåndtering

Såkalte "velformede" dokumenter er de som oppfyller alle grunnleggende formatdefinisjoner og kan derfor analyseres korrekt av enhver standard - kompatibel parser . Dette er atskilt fra gyldighetsbegrepet som forklares senere.

  • Dokumenter må følge en strengt hierarkisk struktur med hensyn til etikettene som avgrenser elementene deres. En tag må være korrekt inkludert i en annen, det vil si at taggene må være riktig nestet. Innholdselementer må være ordentlig lukket.
  • XML-dokumenter tillater bare ett rotelement som alle de andre er en del av, det vil si at de bare kan ha ett innledende element.
  • Attributtverdier i XML må alltid være omgitt av enkle eller doble anførselstegn.
  • XML skiller mellom store og små bokstaver. Det er et sett med tegn kalt mellomrom (mellomrom, tabulatorer, vognretur, linjeskift) som behandles annerledes av XML-prosessorer i XML-oppmerking.
  • Det er nødvendig å tildele navn til strukturer, typer elementer, enheter, spesielle elementer, etc. I XML har navnene noen kjennetegn til felles.
  • Konstruksjoner som tagger, enhetsreferanser og erklæringer kalles merker; de er deler av dokumentet som XML-behandleren forventer å forstå. Resten av dokumentet mellom merkene er dataene som er "forståelige" av folk.

Deler av et XML-dokument

Et XML-dokument består av prologen og hoveddelen av dokumentet samt kodetekst som inneholder en lang rekke positive eller negative effekter på den valgfrie referansen som dokumentet refererer til. Du må være veldig forsiktig med den delen av leksikalsk grammatikk slik at den er ensartet sammensatt.