XML | |
---|---|
Utvidelse | .xml |
MIME-type | application/xml text/xml |
Utviklet av | W3C |
Fyr | Markup language |
Forlengelse av | SGML |
Utvidet til | XHTML , RSS , Atom og andre |
Åpent format ? | Jepp |
I informatikk er XML (forkortelse av eXtensible Markup Language , bokstavelig talt "extensible marking language") et metaspråk for definisjonen av markup languages , det vil si et språk basert på en syntaktisk mekanisme som gjør det mulig å definere og kontrollere betydningen av elementer som finnes i et dokument eller tekst.
Navnet indikerer at det er et utvidbart språk, siden det lar deg lage egendefinerte tagger og er et forsøk på å produsere en forenklet versjon av Standard Generalized Markup Language (SGML), som lar deg definere nye markup-språk.
World Wide Web Consortium ( W3C), etter nettleserkrigen (dvs. situasjonen som oppsto på nittitallet der Microsoft og Netscape introduserte, med hver nye versjon av nettleseren deres , en proprietær utvidelse til den offisielle HTML -koden ), ble tvunget etter individuelle utvidelser til HTML-språket.
W3C måtte velge hvilke funksjoner som skulle standardiseres og hvilke som skulle utelates fra den offisielle HTML-spesifikasjonen. Det var i denne sammenhengen behovet for et markup -språk begynte å dukke opp som ville gi mer frihet i definisjonen av tagger, samtidig som det forblir i en standard.
"XML-prosjektet", som startet på slutten av 1990-tallet som en del av W3C SGML-aktiviteten , vakte så sterk interesse at W3C opprettet en arbeidsgruppe, kalt XML Working Group , bestående av verdenseksperter innen SGML- teknologier og en kommisjon , XML Editorial Review Board , ansvarlig for å utarbeide prosjektspesifikasjonene.
I februar 1998 ble spesifikasjonen en offisiell anbefaling under navnet Extensible Mark-up Language , versjon 1.0. Snart ble det innsett at XML ikke bare var begrenset til nettkonteksten , men var noe mer: et verktøy som gjorde det mulig å bruke den i de mest forskjellige sammenhenger, fra definisjonen av dokumentstrukturen til utveksling av informasjon mellom forskjellige systemer , fra representasjon av bilder til definisjon av dataformater .
Sammenlignet med HTML har XML et helt annet formål: mens den første definerer en grammatikk for beskrivelse og formatering av nettsider (layout) og generelt hypertekster , er den andre et metaspråk som brukes til å lage nye språk, egnet for å beskrive strukturerte dokumenter. Mens HTML har et veldefinert og begrenset sett med tagger, er det med XML mulig å definere dine egne i henhold til dine behov.
XML er i dag også mye brukt som et middel for å eksportere data mellom ulike DBMS -er . Utbredt er bruken i konfigurasjonsfiler for applikasjoner og operativsystemer .
Her er et typisk eksempel på en XML-fil, som kan vises i hvilken som helst nettleser ganske enkelt ved å lagre teksten i en fil med filtypen .xml .
<? xml versjon = "1.0" encoding = "UTF-8"?> <brukere> <brukerår = "20" > <navn> Ema </name> <surname> Princi </surname> <adresse> Torino </ adresse> </user> <brukerår = "54" > <navn> Maks </name> <surname> Rossi </surname> <address> Roma </address> </user> </user>Den første linjen indikerer versjonen av XML som er i bruk og spesifiserer UTF-8-koding for korrekt datatolkning.
Spesialtegnene som vil gjøre dokumentet feil utformet må erstattes med de respektive XML-enhetene:
Karakter | Entitet |
---|---|
& | & |
< | < |
> | > |
" | " |
' | ' |
Det bør bemerkes at bare de tre første enheter skal alltid respekteres, mens sistnevnte i noen tilfeller ikke administreres (som i iPhone iOS 3.1.3 og nyere). '
XML, som HTML , bruker markører, kalt tagger , for å tilordne semantikk til tekst. Tagger kan inneholde informasjon på to måter: gjennom parametere eller ved å omslutte tekst eller andre typer informasjon. Det følger at de kan være åpningstagger, nødvendigvis etterfulgt av avsluttende koder (blant annet du kan ha et innhold) eller koder som åpner og lukker, og kan derfor kun gi informasjon gjennom parameterne deres.
Hver etikett begynner og slutter med vinkelparenteser ( <>) (som i andre sammenhenger vil være små og store tegn), mens den avsluttende etiketten eller den avsluttende etiketten er representert med skråstreken ( /). Her er noen eksempler på tagger:
<tagExample parameter1 = "åpningskode" -funksjoner = "bare åpningstaggen har parametere" > innhold </tagEexample> <tagAutoclosing parameter1 = "selvlukkende etikett" egenskaper = "har ingen lukkeetikett" />XML tillater kommentarer omsluttet av <!-- -->For eksempel:
<! - Dette er en kommentar ->XML er veldig strenge på syntaksen som skal følges med hensyn til HTML , og det er derfor nødvendig å respektere noen regler:
Taggen cognomeer ikke lukket, XML-en er derfor dårlig utformet.
< navn> Mario </navn> <etternavn> Rossi </rubrica> </etternavn>Taggen cognomeble lukket etter taggen rubrica, igjen er XML-en ikke godt utformet.
< name> Mario </name> <surname> Rossi </SURNAME> </rubrica>XML skiller mellom store og små bokstaver, så taggen cognomeog taggen COGNOMEbetraktes som to forskjellige tagger; XML igjen er ikke godt utformet.
Det er også mulig å definere tomme tagger som åpnes og lukkes umiddelbart:
<rubrica> </rubrica>Eller i forkortet form:
<telefonbok />For å bli korrekt tolket, må et XML-dokument være formatert riktig, det vil si at det må ha følgende egenskaper:
Hvis XML-dokumentet ikke inneholder noen feil, sies det å være godt utformet . Hvis dokumentet er godt utformet og også oppfyller de strukturelle kravene definert i det tilknyttede XML-skjemaet eller DTD -filen, kalles det gyldig .
Fordelene med XML er vanligvis oppsummert med akronymet SPEED, også ment med betydningen av ordet på engelsk (dvs. "hastighet"). Hastighet er hovedårsaken til at mange selskaper går over til e-handel: raskere respons på kundebehov, raskere levering av informasjon til kunder og leverandørkjedepartnere; raskere behandling av bestillinger mottatt via Internett. Arkonymet stammer fra Lagring, publisering og utveksling av elektroniske dokumenter ("lagring, publisering og utveksling av elektroniske dokumenter").
I XML er applikasjonsspesifikk informasjon inneholdt i "tags", merket med parentes < >, som beskriver innholdet i et dokument. Hver tagg definerer en type element, og ved å avgrense hver enkelt databit med tagger, er vi i stand til å forstå strukturen selv om vi ikke kjenner applikasjonen som genererte den. Siden dataene er selvbeskrivende, vil partnerne også kunne forstå og behandle dem. Videre kan de også administreres i fremtiden når applikasjonene som genererte dem har blitt foreldet.
Utvidbarhet er en annen vinnende funksjon i XML, ettersom det er mulig for programmerere å gjenbruke eksisterende XML-dokumenter ved ganske enkelt å utvide dem med nye tagger, slik at nøkkelelementene i det originale dokumentet fortsatt er forståelige for alle brukere.
XML har svart på det velkjente amerikanske mottoet: «adopt and adapt», det vil si, vedta en vinnende og pålitelig standard og tilpasse den til dine behov.
En annen ikke likegyldig fordel med XML er muligheten til å validere dem ved bruk av XML Schema (XSD) [1] .
Denne muligheten finnes ikke i andre utskiftbare formater, inkludert JSON .
For å oppsummere fordelene med XML kan det derfor sies at XML krever:
Skjemaspråk (lar deg lage nye XML-språk):
Andre teknologier relatert til XML:
XHTML er et merkespråk designet for å vise nettsider gjennom en nettleser, som HTML, og som XML respekterer det semantikken. For eksempel, i XHTML, i motsetning til tradisjonell HTML, må tomme tagger lukkes med en siste skråstrek (/), tomme attributter må settes til true eller false , lukkingen av tagger må speiles (hvis en Tag og før den lukkes en annen en er åpnet, er det nødvendig å lukke først den andre taggen og deretter den første), noen tagger og attributter, sammenlignet med HTML 4.0, har forsvunnet, og det er en dedikert DTD .
Mime-typen som er reservert for XHTML-sider er (applikasjon / xhtml + xml). Hvis du sender en ugyldig XHTML-side, men som tekst / html, kan det hende at den vises fordi den tolkes som html (med feil, for eksempel lukkede tagger som <br />) bare at den ikke respekterer standarden og gjør ikke nyte fordelene, først blant hvilke portabilitet på forskjellige nettlesere og klienter. [2] Den virkelige fordelen med en XHTML-side er at den er XML, den drar med seg alle fordelene, for eksempel enkel validering og programmatisk tolkning. XHTML-sider er vanligvis lettere tilgjengelige, gitt deres XML-semantikk.