XML

XML
Utvidelse.xml
MIME-typeapplication/xml
text/xml
Utviklet avW3C
FyrMarkup language
Forlengelse avSGML
Utvidet tilXHTML , 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.

Historie

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 .

Bruker

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 .

Syntaks

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
& &amp;
< &lt;
> &gt;
" &quot;
' &apos;

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). &apos;

Taggene eller etikettene

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:

  1. tagger kan ikke begynne med tall eller spesialtegn og kan ikke inneholde mellomrom;
  2. koder må være balansert, dvs. hekkefeil er ikke tillatt, for eksempel:
<bok> <navn> Mario </navn> <etternavn> Rossi </rubrica>

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:

  • En prolog , som er den første instruksjonen som vises skrevet i dokumentet. I vårt tilfelle <?xml version="1.0" encoding="UTF-8"?>:.
  • Et enkelt rotelement (aka rotnoden, kalt rotelementet ) som inneholder alle de andre nodene i dokumentet. I vårt eksempel <utenti>:.
  • Innenfor dokumentet må alle tagger være balansert.

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 .

Fordeler med XML

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:

  • mindre vedlikeholdsinnsats;
  • bedre gjenbruk;
  • økt evne til å målrette mot flere enheter;
  • mulighet for å redusere ressursene dedikert til gjennomføring av prosjekter.

XML-støtteteknologier

Skjemaspråk (lar deg lage nye XML-språk):

  • DTD (akronym for Document Type Definition ): det er et dokument der de strukturelle egenskapene til et XML-dokument spesifiseres gjennom en serie "grammatikkregler". Spesielt definerer den settet med elementer i XML-dokumentet, de hierarkiske relasjonene mellom elementene, rekkefølgen av utseende i XML-dokumentet og hvilke elementer og hvilke attributter som er valgfrie eller ikke.
  • XML-skjema : I likhet med DTD brukes det til å definere strukturen til et XML-dokument. I dag anbefaler W3C å ta den i bruk i stedet for selve DTD, som er en nyere og avansert teknikk. Forkortelsen er XSD, som står for XML Schema Definition .

Andre teknologier relatert til XML:

  • XLink : brukes til å koble to XML-dokumenter fullstendig; i motsetning til de klassiske hyperkoblingene vi kjenner i HTML , lar XLink deg lage flerveis og semantisk avanserte lenker.
  • XSL (akronym for eXtensible Stylesheet Language ): er språket som brukes til å beskrive stilarket til et XML-dokument. Den utvidede versjonen er XSLT (der T står for Transformations ).
  • XPath : er et språk som det er mulig å identifisere deler av et XML-dokument med og er grunnlaget for andre verktøy for XML som XQuery.
    For å støtte dette hovedformålet gir den også grunnleggende funksjonalitet for å håndtere boolske strenger, tall og data. Operasjonen er basert på opprettelsen av et tre med utgangspunkt i dokumentet, og den kortfattede syntaksen gjør det mulig å adressere en spesifikk del gjennom nodene til treet med den enkle ordbanen .
  • XPointer : brukes til å identifisere nøyaktige deler av et XML-dokument; den gir deretter tilgang til andre språk eller grensesnittobjekter.
  • XQuery : er et spørringsspråk designet for å kunne brukes på alle slags XML-dokumenter og er basert på bruken av XPath for å spesifisere stier i dokumenter. XQuery har funksjoner som lar deg benytte flere datakilder for å søke, filtrere dokumenter eller samle innhold av interesse.
  • SAX (Simple API for XML): er et programmeringsgrensesnitt, implementert på en rekke språk, som lar deg lese og endre XML-dokumenter. Gjennom SAX er det mulig å implementere spesifikke XML -parsere . SAX er hendelsesbasert, i motsetning til DOM , og reagerer på parsehendelser ved å rapportere til applikasjonen. Det er programmererens jobb å implementere metoder for å reagere på analyseringshendelser.
  • DOM : er et programmeringsgrensesnitt, som SAX, implementert i en rekke programmeringsspråk , for å manipulere XML-filer. DOM bygger et tre med utgangspunkt i XML-filen der hver node i treet tilsvarer et element i filen; av denne grunn kalles det trebasert.
  • VTD-XML : DOM er enklere og mer umiddelbar å bruke enn SAX og er derfor vanligvis foretrukket av programmerere for å manipulere en XML-fil; Treet som genereres av DOM må imidlertid holdes fullstendig i RAM-minnet, og det er derfor ikke mulig å bruke dette grensesnittet til å manipulere filer som er større enn minnet som er tilgjengelig på datamaskinen.
  • RSS : er en standard som brukes til å lage et dokument med en unik XML-struktur, egnet for utvikling av en enkel datautveksling mellom nettsider og tilgjengelig fra alle skriptspråk . I utgangspunktet er det et XML-dokument hvis nodestruktur og relaterte tagger har samme navn.
  • SVG ( Scalable Vector Graphics ) og VML ( Vector Markup Language ) er standarder for å lage vektorbilder som drar nytte av dokumenter formatert i XML. Det brukes også til å beskrive todimensjonale, statiske og dynamiske bilder. Ved å lese instruksjonene i XML-kildedokumentet, tegner tolken de grunnleggende figurene til bildet er komplett.
  • WDDX (Word Data Description Exchange): WDDX er en struktur for datainneslutning med samme struktur som en database, opprettet av Allaire i dag Macromedia og utgitt Open hos WDDX Organization

Populære XML-språk

  • XForms : som navnet antyder, er det et språk laget for å lage HTML -lignende skjemaer i et XML-dokument.
  • SMIL ( Synchronized Multimedia Integration Language ): Dette språket definert i XML, brukes til å beskrive innholdet og administrere tidspunktet for multimediepresentasjoner som kan kombinere video, lyd, bilder og tekst sammen.
  • MathML (Mathematical Markup Language): MathML brukes til å beskrive matematiske notasjoner, og fortsetter å fikse strukturen og innholdet på samme tid, slik at de kan rapporteres og behandles på nettet.
  • X3D (eXtensible 3D): X3D er et språk som lar deg bygge tredimensjonale modeller, enten de er enkle eller sofistikerte. Animasjoner og mekanismer for interaksjon med brukeren kan brukes på objektene som er opprettet på denne måten. Som språk er det bygget på Virtual Reality Modeling Language ( VRML ), som igjen ble en internasjonal standard i 1997. Til sistnevnte inkluderer X3D egenskapene, typisk for Extensible Markup Language (XML), for integrasjon med andre verdener Wide Web-teknologier, innholdsvalidering og fleksible tillegg av nye maskinvareutvidelser om nødvendig. I tillegg må vi nevne fordelene med hensyn til lettheten til "grunnprofilen" (Core Profile - Det er syv profiler, som hver grupperer et visst sett med funksjoner som vanligvis brukes til forskjellige formål. Dette gjør at nettleserutviklere kan nå mellomnivåer av støtte for X3D, uten å nødvendigvis implementere hele spesifikasjonen på én gang) og komponentiserte nettlesere for en raskere nedlasting.
  • XBRL (eXtensible Business Reporting Language): er et språk som brukes for kommunikasjon og utveksling av finans- og regnskapsdata i elektronisk format

XML og nettsider: XHTML

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.

Merknader

  1. ^ Andrea Chiarelli, XML Schema and XML Documents , på HTML.it. Hentet 16. oktober 2020 .
  2. ^ Sende XHTML som tekst / html anses som skadelig

Relaterte elementer

Andre prosjekter

Eksterne lenker