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 | ||
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.
XML kommer fra et språk oppfunnet av IBM på 1970 -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.
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.
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)>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.
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.
PrologSelv om det ikke er nødvendig, kan XML-dokumenter begynne med noen få linjer som beskriver XML-versjonen, dokumenttypen og andre ting.
Prologen til et XML-dokument inneholder:
Eksempel:
<?xml version="1.0" encoding="UTF-8"?> BrødtekstI motsetning til prologen, er ikke brødteksten valgfri i et XML-dokument, brødteksten må bare inneholde ett rotelement, en viktig funksjon også for et godt utformet dokument. Datainnsamling er imidlertid nødvendig for at den skal fungere.
Eksempel:
<Edit_Message> (...) </Edit_Message>XML-elementer kan ha innhold (flere elementer, tegn eller begge deler), eller de kan være tomme elementer.
Elementer kan ha attributter, som er en måte å legge til egenskaper eller egenskaper til elementer i et dokument. De må stå mellom anførselstegn.
For eksempel kan et "student"-element ha et "Mario"-attributt og et "type"-attributt, med verdiene henholdsvis "eats kibble" og "taleno".
<Student Mario="eat croquettes" type="taleno">Dette er en dag Mario går en tur...</Student>
Entiteter for å representere spesialtegn slik at de ikke tolkes som markering i XML-prosessoren.
Eksempel: forhåndsdefinert enhet: & tegn: &.
Det er en XML-konstruksjon for å spesifisere data ved å bruke et hvilket som helst tegn uten at det blir tolket som XML-oppmerking. Ikke å forveksle med 2(#PCDATA) som er for elementer. Tillater at spesialtegn ikke bryter strukturen. Eksempel:
<![CDATA[spesielt innhold: \n áéíóúñ&]]>Kommentarer for informative formål for programmereren som må ignoreres av prosessoren. Kommentarer i XML har følgende format:
<!--- Dette er en kommentar ---> <!-- En annen kommentar -->At et dokument er "velformet" refererer kun til dets grunnleggende syntaktiske struktur, det vil si at det er bygd opp av elementer, attributter og kommentarer slik XML spesifiserer at de skal skrives. Nå må hver applikasjon av XML, det vil si hvert språk som er definert med denne teknologien, spesifisere nøyaktig hva som er forholdet som må verifiseres mellom de forskjellige elementene i dokumentet.
Dette forholdet mellom elementer er spesifisert i et eksternt dokument eller definisjon (uttrykt som en DTD eller som et XSchema ). Å lage en definisjon tilsvarer å lage et nytt markup-språk for en spesifikk applikasjon.
Document Type Definition eller DTD (på spansk "dokumenttypedefinisjon") definerer typene elementer, attributter og enheter som er tillatt, og kan uttrykke noen begrensninger for å kombinere dem. XML-dokumenter som samsvarer med deres DTD kalles gyldige.
ElementtypeerklæringerElementer må samsvare med en dokumenttype deklarert i en DTD for at dokumentet skal anses som gyldig.
InnholdsmodellerEn innholdsmodell er et mønster som etablerer de aksepterte delelementene, og rekkefølgen de blir akseptert i.
AttributtlisteerklæringerAttributter brukes til å legge til tilleggsinformasjon til elementer i et dokument.
Attributttyper EnhetserklæringXML refererer til objekter som ikke skal analyseres i henhold til XML-regler, ved bruk av entiteter. Entiteter kan være:
XML - navneområder lar deg semantisk skille elementene som utgjør et XML-dokument.
Et skjema ligner litt på en DTD. Den definerer hvilke elementer et XML-dokument kan inneholde, hvordan de er organisert, og hvilke attributter og hvilken type elementene det kan ha.
Fordeler med skjemaer kontra DTDerEnhver tekstbehandler som er i stand til å produsere .txt-filer er i stand til å generere XML; utviklingsmiljøer som Eclipse eller Visual Studio forenkler oppgaven. Ved å gjenkjenne formatene bidrar de til å generere godt utformet XML. De kan deles inn i to grupper:
The Extensible Style Sheet Language ( e X tensible Stylesheet L anguage , XSL ) er en familie av språk som lar deg beskrive hvordan XML-kodede filer vil bli formatert (for visning) eller transformert. Det er tre språk i denne familien: XSL Transformations ( XSLT ), XSL Formatting Objects (XSL-FO) og XML Path Language.
XLink er en XML-applikasjon som prøver å overvinne begrensningene som hypertekstlenker har i HTML. XLink 1.1 er allerede en W3C-anbefaling.
Noen mener at XML er for tungt for noen programmer og vanskelig å redigere med et enkelt tekstredigeringsprogram . Derfor er det verdt å nevne noen lettere og enklere alternativer. De lette markup-språkene :
Det finnes også minst ett språk basert på XML i binært format , kalt EBML .