XML

FONT SIZE:
fontsize_dec
fontsize_inc
Juli 20, 2016 Verner Karkov X 0 11

Extensible Markup Language er et markup sprog, der definerer et sæt regler for kodning dokumenter i et format, som er både menneskeligt læsbare og maskinlæsbare. Det er defineret af W3C XML 1.0 Specifikation og af flere andre relaterede specifikationer, som alle er frie, åbne standarder.

Designet mål for XML understrege enkelhed, generalitet og anvendelighed på tværs af internettet. Det er en tekstuel dataformat med stærk støtte via Unicode til forskellige menneskelige sprog. Selv udformningen af ​​XML fokuserer på dokumenter, er det almindeligt brugt til repræsentation af arbitrære datastrukturer såsom dem, der anvendes i web services.

Der eksisterer flere skema systemer til forbedring af definitionen af ​​XML-baserede sprog, mens mange application programming interfaces er blevet udviklet for at hjælpe med behandling af XML-data.

Anvendelser af XML

Fra 2009 er der udviklet hundredvis af dokumentformater ved hjælp af XML-syntaks, herunder RSS, Atom, SOAP, og XHTML. XML-baserede formater er blevet standard for mange kontor-produktivitet værktøjer, herunder Microsoft Office, OpenOffice.org og LibreOffice, og Apples iWork. XML er også blevet ansat som base sprog for kommunikationsprotokoller, såsom XMPP. Ansøgninger om Microsoft.NET Framework bruge XML-filer til konfiguration. Apple har en implementering af et register baseret på XML.

XML er kommet i almindelig brug for udveksling af data over internettet. IETF RFC 7303 giver regler for opførelsen af ​​Internet medietyper til brug, når du sender XML. Den definerer også medietyper ansøgning / xml og tekst / XML, som siger kun, at dataene er i XML, og intet om dens semantik. Anvendelsen af ​​tekst / xml er blevet kritiseret som en potentiel kilde til kodning problemer, og det er blevet foreslået, at det bør forældet.

RFC 7303 anbefaler ligeledes, at XML-baserede sprog gives medietyper ender på + xml; for eksempel image / svg + xml til SVG.

Yderligere retningslinjer for brug af XML i en netværksforbundet sammenhæng kan findes i RFC 3470, også kendt som IETF BCP 70 et dokument, som dækker mange aspekter af at designe og implementere en XML-baseret sprog.

Key terminologi

Materialet i dette afsnit er baseret på XML-specifikationen. Dette er ikke en udtømmende liste over alle de konstruktioner, der vises i XML; det giver en introduktion til de vigtigste konstruktioner oftest støder på i dag-til-dag brug.

Tegn og flygter

XML-dokumenter udelukkende består af tegn fra Unicode repertoire. Bortset fra et lille antal specifikt udelukket kontrol tegn, kan enhver karakter defineret af Unicode vises i indholdet af et XML-dokument.

XML inkluderer faciliteter identificere kodning af Unicode-tegn, der udgør dokumentet, og til at udtrykke tegn, af den ene eller anden grund, ikke kan anvendes direkte.

Gyldige tegn

Unicode kodepunkter i følgende intervaller er gyldige i XML 1.0 dokumenter:

  • U + 0009, U + 000A, U + 000D: disse er de eneste C0 kontroller accepteret i XML 1.0;
  • U + 0020-U + D7FF, U + E000-U + FFFD: dette udelukker nogle ikke-tegn i BMP;
  • U + 10000-U + 10FFFF: dette omfatter alle kodepunkter i supplerende planer, herunder ikke-tegn.

XML 1.1 udvider sæt af tilladte tegn til at omfatte alle de ovennævnte, plus de resterende tegn i området U + 0001-U + 001F. På samme tid, men det begrænser brugen af ​​C0 og C1 andre end U + 0009, U + 000A, U + 000D og U + 0085 ved at kræve dem kontrol tegn, der skal skrives på undsluppet form. I tilfælde af C1 tegn, denne begrænsning er en baglæns uforenelighed; den blev indført for at tillade fælles indkodningsfejl skal detekteres.

Koden punkt U + 0000 er det eneste tegn, er ikke tilladt i nogen XML 1.0 eller 1.1-dokument.

Kodning afsløring

Unicode tegnsæt kan kodes ind bytes til lagring eller overførsel på en række forskellige måder, kaldet "kodninger". Unicode selv definerer kodninger, der dækker hele repertoiret; kendte dem omfatter UTF-8 og UTF-16. Der er mange andre tekst kodninger der eksisterede før Unicode, såsom ASCII og ISO / IEC 8859; deres karakter repertoirer i næsten alle tilfælde er undergrupper af den tegnsæt Unicode.

XML tillader brug af nogen af ​​de Unicode-definerede kodninger, og alle andre kodninger, hvis tegn vises også i Unicode. XML giver også en mekanisme, hvorved en XML-processor kan pålideligt, uden nogen forudgående viden, bestemme hvilken kodning bliver brugt. Andre end UTF-8 og UTF-16 kodninger vil ikke nødvendigvis blive anerkendt af alle XML-parser.

Escaping

XML giver escape faciliteter herunder figurer, som er problematisk at omfatte direkte. For eksempel:

  • Tegnene "& lt;" og "& amp;" er centrale syntaks markører og kan aldrig blive vist i indhold uden for en CDATA sektion.
  • Nogle tegnkodninger understøtter kun en delmængde af Unicode. For eksempel, det er lovligt at indkode et XML-dokument i ASCII, men ASCII mangler kode point for Unicode-tegn som "e".
  • Det er måske ikke muligt at skrive tegn på forfatterens maskine.
  • Nogle karakterer har glyffer, der ikke kan visuelt adskiller sig fra andre karakterer: eksempler er
    • non-breaking space ""
    • Kyrillisk bogstav A "А"

Der er fem foruddefinerede enheder:

  •  repræsenterer "& lt;"
  •  repræsenterer "& gt;"
  •  repræsenterer "& amp;"
  •  repræsenterer '
  •  repræsenterer "

Alle tilladte Unicode-tegn kan være repræsenteret med en numerisk henvisning karakter. Overvej den kinesiske tegn "中", hvis numeriske kode i Unicode er hexadecimal 4E2D eller decimal 20.013. En bruger, hvis tastatur giver ingen metode til indtastning denne karakter kunne stadig indsætte den i et XML-dokument kodet som enten eller. Tilsvarende strengen "" kunne være kodet til at indgå i et XML-dokument som "".

"" Er ikke tilladt, men fordi nul-karakteren er en af ​​kontrolkaraktererne udelukket fra XML, selv når der anvendes en numerisk karakter reference. En alternativ kodning mekanisme som Base64 er nødvendig for at repræsentere sådanne tegn.

Kommentarer

Kommentarer kan forekomme hvor som helst i et dokument uden anden markup. Kommentarer kan ikke møde for XML-erklæring. Kommentarer starter med "" og slutter med "". For kompatibilitet med SGML, strengen "" er ikke tilladt inde kommentarer; det betyder kommentarer kan ikke indlejres. Den tegnet har ingen særlig betydning inden for kommentarer, så enhed og vandelskrav ikke anerkendt som sådan, og der er ingen måde at repræsentere tegn uden for tegnsæt af dokumentet kodning.

Et eksempel på et gyldigt kommentar: ""

International brug

XML 1.0 og XML 1.1 understøtter den direkte anvendelse af næsten enhver Unicode tegn i element navne, attributter, kommentarer, karakter data og behandlingsinstruktioner. Det følgende er et velformet XML-dokument, herunder kinesisk, armenske og kyrilliske bogstaver:

Veludformning og fejl-håndtering

XML-specifikationen definerer et XML-dokument som en velformet tekst - hvilket betyder, at det opfylder en liste over syntaks reglerne i specifikationen. Nogle af de vigtigste punkter i temmelig lang liste omfatter:

  • Dokumentet indeholder kun korrekt kodet juridiske Unicode-tegn
  • Ingen af ​​de specielle syntaks tegn såsom og vises undtagen når de udfører deres markup-afgrænsning roller
  • Den begynder, ende, og tomme-element tags, der afgrænser elementerne korrekt indlejret, med ingen mangler og ingen overlappende
  • Elementet tags er små bogstaver; begyndelsen og slutningen tags skal passe nøjagtigt.
  • Tag navne kan ikke indeholde nogen af ​​de tegn, eller et mellemrum, og kan ikke starte med ,, eller en numerisk ciffer.
  • En enkelt "rod" element indeholder alle de andre elementer.

Definitionen af ​​et XML-dokument udelukker tekster, der indeholder overtrædelser af veludformning regler; de simpelthen ikke er XML. En XML-processor, der møder en sådan overtrædelse er forpligtet til at rapportere sådanne fejl og til at ophøre med normal behandling. Denne politik, undertiden benævnt "drakoniske fejlhåndtering," står i bemærkelsesværdig kontrast til opførsel af programmer, der behandler HTML, som er designet til at producere et rimeligt resultat, selv i tilstedeværelse af alvorlige markup fejl. XML politik på dette område er blevet kritiseret som en krænkelse af Postel lov.

XML-specifikationen definerer et gyldigt XML-dokument som en velformet XML-dokument, som også er i overensstemmelse med reglerne i et Document Type Definition.

Skemaer og validering

Ud over at være velformede, kan et XML-dokument gyldigt. Det betyder, at det indeholder en henvisning til en Document Type Definition, og at dets elementer og attributter er erklæret i den DTD, og ​​følg de grammatiske regler for dem, at den DTD angiver.

XML-processorer er klassificeret som validering eller ikke-validering, afhængigt af om de kontrollerer XML-dokumenter til gyldighed. En processor, der opdager en gyldighed fejl skal kunne rapportere det, men kan fortsætte normal behandling.

En DTD er et eksempel på et skema eller grammatik. Siden den første offentliggørelse af XML 1.0, har der været et stort arbejde på området skema sprog til XML. Sådanne skema sprog typisk begrænser det sæt af elementer, der kan anvendes i et dokument, som attributter kan anvendes på dem, den rækkefølge, som de kan forekomme, og de tilladte forælder / barn relationer.

Document Type Definition

Den ældste skema sprog til XML er Document Type Definition, arvet fra SGML.

DTDs har følgende fordele:

  • DTD support er allestedsnærværende på grund af dets optagelse i XML 1.0-standarden.
  • DTDs er lakoniske forhold til element-baserede skema sprog og dermed til stede mere information i et enkelt skærmbillede.
  • DTDs tillade, at angivelsen af ​​standarden offentlig enhed sæt til udgivelse tegn.
  • DTDs definerer en dokumenttype i stedet de typer, der anvendes af en namespace, således at gruppere alle begrænsninger for et dokument i en enkelt samling.

DTDs har følgende begrænsninger:

  • De har ingen udtrykkelig støtte til nyere funktioner i XML, vigtigst navnerum.
  • De mangler udtryksfuldhed. XML DTDs er enklere end SGML DTDs og der er visse strukturer, der ikke kan udtrykkes med regelmæssige grammatikker. DTDs kun støtte rudimentære datatyper.
  • De mangler læsbarhed. DTD designere typisk gøre kraftig brug af parameter enheder, som gør det lettere at definere komplekse grammatikker, men på bekostning af klarhed.
  • De bruger en syntaks baseret på regulære udtryk syntaks, arvet fra SGML, at beskrive skemaet. Typiske XML API'er såsom SAX ikke forsøger at tilbyde applikationer en struktureret repræsentation af syntaks, så det er mindre tilgængeligt for programmører end et element baseret syntaks kan være.

To ejendommelige træk, der adskiller DTDs fra andre skema typer er den syntaktiske støtte til indlejring en DTD inden XML-dokumenter og for at definere enheder, som er vilkårlige fragmenter af tekst og / eller markup, at XML-processor indsætter i DTD selv og i XML-dokumentet uanset hvor de er refereret, lignende karakter undslipper.

DTD teknologi stadig bruges i mange applikationer på grund af dens udbredelse.

XML Schema

En nyere skema sprog, beskrevet af W3C som afløser for DTD'er, er XML Schema, der ofte omtales som initialism til XML Schema instanser, XSD. XSDs er langt mere magtfulde end DTD'er på beskrive XML sprog. De bruger en rig datatyping-system og give mulighed for mere detaljerede begrænsninger på et XML-dokument logiske struktur. XSDs også bruge et XML-baseret format, hvilket gør det muligt at bruge almindelige XML-værktøjer til at hjælpe behandle dem.

xs: schema element, der definerer et skema:

RELAX NG

RELAX NG blev oprindeligt specificeret af OASIS og er nu også en ISO / IEC internationale standard. RELAX NG skemaer kan skrives på enten en XML baseret syntaks eller en mere kompakt ikke-XML-syntaks; de to syntakser er isomorfe og James Clarks konverteringsværktøj - "Trang«, kan konvertere mellem dem uden tab af information. RELAX NG har en enklere definition og validering rammer end XML Schema, hvilket gør det lettere at bruge og implementere. Det har også evnen til at bruge datatype rammebetingelser plug-ins; en RELAX NG skema forfatter, for eksempel, kan kræve værdier i et XML-dokument i overensstemmelse med definitionerne i XML Schema datatyper.

Schematron

Schematron er et sprog for at gøre påstande om tilstedeværelse eller fravær af mønstre i et XML-dokument. Det bruger typisk XPath udtryk.

ISO DSDL og andre skema sprog

ISO DSDL standarden samler et omfattende sæt af små skema, idet hver rettet mod specifikke problemer. DSDL inkluderer RELAX NG fuld og kompakt syntaks, schematron påstand sprog og sprog til at definere datatyper, karakter repertoire begrænsninger, omdøbe og enhed ekspansion, og namespace-baserede routing af dokument fragmenter til forskellige validatorer. DSDL skema sprog ikke har sælgeren støtte XML skemaer endnu, og er til en vis grad en græsrods reaktion af industrielle udgivere af manglende nytten af ​​XML-skemaer til udgivelse.

Nogle skema sprog, der ikke kun beskrive strukturen af ​​en bestemt XML-format, men også tilbyde begrænsede faciliteter for at påvirke behandlingen af ​​filer individuelle XML, der overholder dette format. DTDs og XSDs begge har denne evne; de kan for eksempel give infoset augmentation faciliteten og attribut standardindstillinger. RELAX NG og schematron med vilje giver ikke disse.

Relaterede specifikationer

En klynge af specifikationerne tæt knyttet til XML er blevet udviklet, der starter hurtigt efter den første offentliggørelse af XML 1.0. Det er ofte tilfældet, at udtrykket "XML" anvendes til at henvise til XML sammen med en eller flere af disse andre teknologier, som er kommet til ses som en del af XML kerne.

  • XML Navnerum sætte det samme dokument til at indeholde XML elementer og attributter taget fra forskellige ordlister, uden navngivning kollisioner opstår. Selvom XML Navnerum er ikke en del af XML-specifikationen selv, stort set alle XML-software understøtter også XML Navnerum.
  • XML Base definerer attributten, som kan anvendes til at indstille base for løsning af relative URI referencer inden for rammerne af et enkelt XML-element.
  • XML Information Set eller XML infoset beskriver en abstrakt datamodel for XML-dokumenter i form af informationselementer. Den infoset er almindeligt anvendt i specifikationerne for XML-sprog, for nemheds skyld i beskriver begrænsninger på XML konstruerer disse sprog tillader.
  • xml: id Version 1.0 hævder, at en attribut ved navn fungerer som en "ID attribut" i den forstand, der anvendes i en DTD.
  • XPath definerer en syntaks opkaldt XPath udtryk, der identificerer en eller flere af de interne komponenter, der indgår i et XML-dokument. XPath er meget udbredt i andre kerne-XML specifikationer og programmering biblioteker for adgang XML-kodede data.
  • XSLT er et sprog med et XML-baseret syntaks som bruges til at transformere XML-dokumenter til andre XML-dokumenter, HTML eller andre, ustrukturerede formater som almindelig tekst eller RTF. XSLT er meget tæt koblet med XPath, som den bruger til at løse komponenter af input XML-dokument, hovedsageligt elementer og attributter.
  • XSL formatering objekter, eller XSL-FO, er et kodesprog for XML-dokument formatering, der oftest bruges til at generere PDF-filer.
  • XQuery er en XML-orienteret forespørgsel sprog stærkt forankret i XPath og XML Schema. Det giver metoder til at få adgang til, manipulere og returnere XML, og er primært tænkt som en forespørgsel sprog for XML databaser.
  • XML Signature definerer syntaks og forarbejdning regler for at skabe digitale signaturer på XML-indhold.
  • XML Encryption definerer syntaks og forarbejdning regler til kryptering af XML-indholdet.

Nogle andre specifikationer udtænkt som en del af "XML Core" har undladt at finde bred vedtagelse, herunder XInclude, XLink og XPointer.

Programming interfaces

Designet mål for XML omfatter: "Det skal være let at skrive programmer som proces XML-dokumenter." På trods af dette, XML specifikationen indeholder næsten ingen oplysninger om, hvordan programmører kan gå om at gøre en sådan behandling. XML Infoset specifikationen giver et ordforråd at henvise til de konstruktioner i et XML-dokument, men også giver ikke nogen vejledning i, hvordan adgang til disse oplysninger. En række API'er for adgang XML er blevet udviklet og anvendt, og nogle er blevet standardiseret.

Eksisterende API'er til XML behandling tendens til at falde ind under disse kategorier:

  • Stream-orienterede API'er tilgængelige fra et programmeringssprog, f.eks SAX og StAX-.
  • Træ-traversal API'er tilgængelige fra et programmeringssprog, f.eks DOM.
  • XML-data binding, som giver en automatiseret oversættelse mellem et XML-dokument og programmering sprog objekter.
  • Deklarative transformation sprog som XSLT og XQuery.

Stream-orienterede faciliteter kræver mindre hukommelse og for visse opgaver, som er baseret på en lineær traversal af et XML-dokument, er hurtigere og enklere end andre alternativer. Træ-traversal og data-bindende API kræver typisk anvendelse af meget mere hukommelse, men er ofte mere praktisk til anvendelse af programmører; nogle har deklarativ hentning af dokument komponenter ved brug af XPath udtryk.

XSLT er designet til deklarativ beskrivelse af XML-dokument transformationer, og er blevet bredt implementeret både i server-side pakker og webbrowsere. XQuery overlapper XSLT i sin funktionalitet, men er designet mere til at søge store XML databaser.

Simple API til XML

Simpel API for XML er en leksikal, event-driven interface, hvor et dokument læses serielt og dens indhold er rapporteret som tilbagekald til forskellige metoder på en handler genstand for brugerens design. SAX er hurtig og effektiv at gennemføre, men svært at bruge til at udtrække oplysninger tilfældigt fra XML, da det har en tendens til byrde ansøgningen forfatter med at holde styr på, hvad en del af dokumentet er blevet behandlet. Det er bedre egnet til situationer, hvor bestemte typer oplysninger er altid håndteres på samme måde, uanset hvor de forekommer i dokumentet.

Pull parsing

Træk parsing behandler dokumentet som en række poster, der læses i rækkefølge ved hjælp af Iterator design mønster. Dette giver mulighed for skriftligt rekursive-afstamning parsere, hvor strukturen af ​​koden udfører parsing afspejler strukturen af ​​XML bliver parset, og mellemliggende parsede resultater kan anvendes og tilgås som lokale variable inden metoderne udfører parsing eller gået ned i lavere niveau metoder, eller returneres til højere niveau metoder. Eksempler på pull parsere omfatter StAX- i programmeringssproget Java, XMLReader i PHP, ElementTree.iterparse i Python, System.Xml.XmlReader i the.NET Framework, og DOM traversal API.

En pull parser skaber en iterator, der sekventielt besøg de forskellige elementer, attributter og data i et XML-dokument. Kode som bruger denne iterator kan teste det aktuelle element, og inspicere sine attributter, og kan også flytte iterator til det næste punkt. Koden kan således udtrække oplysninger fra dokumentet, som det krydser den. Den rekursive-afstamning tilgang tendens til at egne sig til at holde data indtastes lokale variable i koden gør parsing, mens SAX, for eksempel, kræver typisk en parser manuelt opretholde intermediære data inden for en stabel af elementer, som er forælder elementer af elementet bliver parset. Pull-parsing kode kan være mere ligetil at forstå og vedligeholde end SAX parsing kode.

Document Object Model

Document Object Model er en grænseflade-orienteret application programming interface, der giver mulighed for navigation af hele dokumentet, som om det var et træ af node objekter, der repræsenterer dokumentets indhold. En DOM dokument kan være skabt af en parser, eller kan genereres manuelt af brugerne. Datatyper i DOM knudepunkter er abstrakte; implementeringer give deres egne programmering sprogspecifikke bindinger. DOM implementeringer tendens til at være hukommelse intensive, da de kræver generelt hele dokumentet, der skal indlæses i hukommelsen og konstrueret som et træ af objekter, før adgang er tilladt.

Data binding

En anden form for XML forarbejdning API er XML-data binding, hvor XML-data stilles til rådighed som et hierarki af sædvane, stærkt indtastet klasser, i modsætning til de generiske objekter skabt af en Document Object Model parser. Denne fremgangsmåde forenkler kode udvikling, og i mange tilfælde giver problemer at identificere påkompileringstidspunktet stedet run-time. Eksempel data bindende systemer omfatter Java Architecture for XML Binding og XML serialisering in.NET.

XML som datatype

XML har optrådt som en førsteklasses datatype på andre sprog. Den ECMAScript til XML-udvidelse til ECMAScript / JavaScript udtrykkeligt definerer to specifikke objekter til JavaScript, der understøtter XML-dokument noder og XML node lister som særskilte genstande og bruge en prik-notationen specificerer forældre-barn relationer. E4X støttes af Mozilla 2.5+ browsere og Adobe Actionscript, men er ikke blevet vedtaget mere universelt. Lignende notationer anvendes i Microsofts LINQ implementering for Microsoft.NET 3.5 og ovenfor og i Scala. Open source xmlsh program, som giver en Linux-lignende shell med særlige funktioner til XML manipulation, ligeledes behandler XML som en datatype, ved brug af & lt; & gt; notation. Den Resource Description Framework definerer en datatype til Hold indpakket, kanonisk XML.

Historie

XML er et program profil SGML.

Alsidigheden af ​​SGML til dynamisk informationsdisplay blev forstået af tidlige digitale medier udgivere i slutningen af ​​1980'erne forud for stigningen af ​​internettet. Ved midten af ​​1990'erne nogle udøvere af SGML havde fået erfaring med den dengang nye World Wide Web, og mente, at SGML tilbudt løsninger på nogle af de problemer, internettet var sandsynligvis står som det voksede. Dan Connolly tilføjede SGML til listen over W3C aktiviteter, da han sluttede sig til personalet i 1995; arbejde begyndte i midten af ​​1996, da Sun Microsystems ingeniør Jon Bosak udviklet et charter og rekrutteret samarbejdspartnere. Bosak var godt forbundet i det lille samfund af mennesker, der havde erfaring både i SGML og internettet.

XML blev udarbejdet af en arbejdsgruppe bestående af elleve medlemmer, støttet af en 150-medlem Interest Group. Teknisk debat fandt sted på postlisten Interest Group og problemer blev løst ved konsensus eller, hvis det mislykkedes, flertal i arbejdsgruppen. En fortegnelse over design beslutninger og deres rationaler blev udarbejdet af Michael Sperberg-McQueen den 4. december 1997. James Clark fungerede som teknisk leder af arbejdsgruppen, især bidrager den tomme-elementet "& lt; tom / & gt;" syntaks og navnet "XML". Andre navne, der var blevet fremsat til overvejelse inkluderet "MAGMA", "SLIM" og "MGML". Co-redaktører af specifikationen var oprindeligt Tim Bray og Michael Sperberg-McQueen. Halvvejs gennem projektet Bray accepterede et konsulentfirma engagement med Netscape, provokerer højrøstede protester fra Microsoft. Bray blev midlertidigt bedt om at træde tilbage redaktionen. Dette førte til en intens tvisten i arbejdsgruppen, til sidst løst ved udnævnelsen af ​​Microsofts Jean Paoli som et tredje medredaktør.

XML Arbejdsgruppen aldrig mødt ansigt til ansigt; designet blev ved anvendelse af en kombination af e-mail og ugentlige telekonferencer. De store design beslutninger blev nået i en kort byge af intenst arbejde mellem august og november 1996, hvor den første arbejdsgruppe Udkast til en XML specifikationen blev offentliggjort. Yderligere design arbejde fortsatte gennem 1997 og XML 1.0 blev en W3C anbefaling den 10. februar 1998.

Kilder

XML er en profil af en ISO-standard SGML, og de fleste af XML kommer fra SGML uændret. Fra SGML kommer adskillelsen af ​​logiske og fysiske strukturer, tilgængeligheden af ​​grammatik-baserede validering, adskillelse af data og metadata, blandet indhold, adskillelse af behandlingen fra repræsentation og standard vinkel-beslag syntaks. Fjernet var SGML erklæringen.

Andre kilder til teknologi til XML var Text Encoding Initiative, som defineret en profil af SGML til brug som en "overførsel syntaks"; og HTML, hvor elementer var synkrone med deres ressource, dokument tegnsæt var adskilt fra ressource-kodning, xml: lang attribut blev opfundet, og metadata ledsaget ressourcen stedet for at blive behov for på erklæringen om et link. Den udvidede reference Beton Syntaks projekt for spredning projekt af ISO-relaterede Kina / Japan / Sydkorea Document Processing ekspertgruppe var grundlaget for XML 1.0 s navngivning regler; SPREAD også indført hexadecimale numeriske vandelskrav og begrebet henvisninger til stille til rådighed alle Unicode-tegn. For at understøtte miljøfrigivelseskategorier, XML og HTML bedre, SGML standarden IS 8879 blev revideret i 1996 og 1998 med WebSGML tilpasninger. XML header fulgte ISO HyTime.

Ideer, der er udviklet i løbet af diskussionen, der var roman i XML omfattede algoritme til koder afsløring og den kodning header, forarbejdning instruktion målet, xml: attribut plads, og den nye luk skilletegn for tomme-element tags. Begrebet veludformning i modsætning til gyldighed blev først formaliseret i XML, selv om det var blevet gennemført med succes i Elektronisk Bog Teknologi "Dynatext" software; softwaren fra University of Waterloo New Oxford English Dictionary Project; den RISP LISP SGML tekst processor på Uniscope, Tokyo; den amerikanske hær Missile Command iAds hypertekst-system; Mentor Graphics Kontekst; Interleaf og Xerox Publishing System.

Versioner

Der er to aktuelle versioner af XML. Den første blev oprindeligt defineret i 1998. Det har gennemgået mindre ændringer siden da, uden at blive givet en ny version nummer, og er i øjeblikket i sin femte udgave, som blev offentliggjort den 26. november 2008. Det er almindeligt implementeret og stadig anbefales til almindelig brug .

Den anden blev oprindeligt offentliggjort den 4. februar 2004 samme dag som XML 1.0 tredje udgave, og er i øjeblikket i sin anden udgave, som blev offentliggjort den 16. august 2006. Det indeholder funktioner, der er beregnet til at gøre XML nemmere at bruge i visse tilfælde. De vigtigste ændringer er at muliggøre brugen af ​​line-slutter tegn, der bruges på EBCDIC platforme, og brugen af ​​scripts og figurer fraværende fra Unicode 3.2. XML 1.1 er ikke meget udbredt implementeret og anbefales kun til brug af dem, der har brug for dens unikke funktioner.

Forud for sin femte udgave udgivelse, XML 1.0 afveg fra XML 1.1 i at have strengere krav til karakterer til rådighed til brug i element og attribut navne og entydige identifikatorer: i de første fire udgaver af XML 1.0 personerne blev udelukkende optalt ved hjælp af en specifik version af Unicode standard Den femte udgave erstatter den mekanisme af XML 1.1, hvilket er mere fremtidssikret men reducerer redundans. Den fremgangsmåde, der i den femte udgave af XML 1.0 og i alle udgaver af XML 1.1 er, at kun visse tegn er forbudt i navne, og alt andet er tilladt, for at imødekomme brugen af ​​passende navn tegn i fremtidige versioner af Unicode. I den femte udgave, kan XML navne indeholder tegn i balinesisk, Cham, eller fønikisk scripts blandt mange andre, som er blevet tilføjet til Unicode siden Unicode 3.2.

Næsten enhver Unicode kode punkt kan bruges i de data karakter og attributværdier af en XML 1.0 eller 1.1 dokument, selv om det tegn, der svarer til den kode punktet ikke er defineret i den aktuelle version af Unicode. I tegndata og attributværdier, XML 1.1 giver mulighed for brug af flere kontrol tegn end XML 1.0, men for "robusthed", de fleste af de kontrol karakterer indført i XML 1.1 skal væree udtrykt som numeriske vandelskrav. Blandt de understøttede kontrol tegn i XML 1.1 er to line break-koder, der skal behandles som blanke tegn. Blanke tegn er de eneste kontrol koder, der kan skrives direkte.

Der har været diskussion af en XML 2.0, selv om ingen organisation har annonceret planer for arbejdet på et sådant projekt. XML-SW, som er skrevet af en af ​​de oprindelige udviklere af XML, indeholder nogle forslag til, hvad en XML 2.0 kunne se ud: eliminering af DTDs fra syntaks, integration af navnerum, XML Base og XML Information sat i bunden standard.

World Wide Web Consortium har også en XML Binary Karakterisering arbejdsgruppe laver indledende forskning i use cases og egenskaber til en binær kodning af XML infoset. Arbejdsgruppen er ikke chartrede at have nogen officielle standarder. Da XML er per definition tekstbaseret, ITU-T og ISO bruger navnet Fast Infoset for deres egen binære infoset at undgå forvirring.

Kritik

XML og dens udvidelser er løbende blevet kritiseret for informationsmængde og kompleksitet. Kortlægning af grundlæggende træ model af XML til at skrive systemer af programmeringssprog eller databaser kan være svært, især når XML bruges til udveksling af højt strukturerede data mellem applikationer, som ikke var dens primære design mål. Andre kritikpunkter forsøger at tilbagevise påstanden om, at XML er en selvstændig beskrive sprog. JSON, YAML, og S-Udtryk ofte foreslået som alternativer der fokuserer på repræsentere højt strukturerede data snarere end dokumenter, som kan indeholde både meget struktureret og relativt ustruktureret indhold.

  0   0
Forrige artikel Firehouse Tales
Næste artikel Benjamin Stephenson House

Kommentarer - 0

Ingen kommentar

Tilføj en kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tegn tilbage: 3000
captcha