Effektiv XML-udveksling - Efficient XML Interchange
Efficient XML Interchange ( EXI ) er et binært XML- format til udveksling af data på et computernetværk. Det blev udviklet af W3Cs Efficient Extensible Interchange Working Group og er en af de mest fremtrædende bestræbelser på at kode XML- dokumenter i et binært dataformat snarere end i almindelig tekst. Brug af EXI-format reducerer XML-dokumenters verbositet såvel som omkostningerne ved parsing. Forbedringer i udførelsen af skrivning (generering) af indhold afhænger af hastigheden af mediet, der skrives til, metoderne og kvaliteten af de faktiske implementeringer. EXI er nyttigt til
- et komplet sortiment af XML-dokumentstørrelser, fra snesevis af bytes til terabyte
- reducerer beregningsomkostningen for at fremskynde parsing af komprimerede dokumenter
- øget udholdenhed for små enheder ved at bruge effektiv dekomprimering
Historie
Den World Wide Web Consortium (W3C) dannet en arbejdsgruppe til at standardisere på et format i marts 2006. EXI blev valgt som W3C s Binary XML-format efter en evaluering af forskellige forslag, der omfattede Hurtig Infoset . EXI blev vedtaget som en W3C-anbefaling af W3C den 10. marts 2011. En anden udgave blev offentliggjort i februar 2014.
I november 2016 blev arbejdsgruppen omdøbt til "Efficient Extensible Interchange (EXI)" fra "Efficient XML Interchange (EXI)" for at afspejle det bredere omfang af EXI-anvendelighed ud over XML til andre databeskrivelsessprog.
Alternativer
EXI-formatet er afledt af AgileDelta Efficient XML-format.
En fordel ved EXI i forhold til Fast Infoset er, at EXI (valgfrit) bruger flere begrænsninger fra XML-skemaet . Dette kan gøre EXI-dataene mere kompakte; hvis XML-skemaet f.eks. specificerer, at elementer, der hedder 'bar', kun kan eksistere inden for elementer, der hedder 'foo', kan EXI tildele et kortere token til 'bar'-elementet, vel vidende at det ikke behøver at dele det samme tokenrum som elementer, der forekommer andetsteds i dokumentet.
Den største ulempe ved at bruge sådan "skemainformeret" komprimering, ikke kun kræver dokumentet et skema, men dekoderen har brug for en kopi af det samme skema, som koderen anvendte.
Anvendelser
Der findes en række applikationer med EXI-kapacitet.
Der findes en række EXI-implementeringer, der muliggør integration af EXI-kapaciteter i andre værktøjer.
Relateret: EXI tilpasses også til ikke-XML-dataformater.
- EXI4JSON er en specifikation udviklet af den samme arbejdsgruppe til at bruge det samme format til JSON- dokumenter.
EXI blev anbefalet til brug i det amerikanske forsvarsministeriums globale informationsnet .
Fremtidens arbejde
Flere eksperimentelle initiativer forfølges fortsat af EXI-arbejdsgruppen.
- EXI4CSS undersøger, hvordan man kortlægger Cascading Style Sheets (CSS) til EXI.
- EXI for JavaScript ser ud til at være muligt, hvis du bruger det indledende strukturerede parse-træ til kildekode.
- I betragtning af potentiel sammensætning af XML EXI med XML-kryptering og XML digital signatur.
Referencer
eksterne links
- Effektiv XML Interchange Format 1.0 (W3C-anbefaling)
- Effektiv evaluering af XML-udveksling (arbejdsgruppes note)
- EXIficient - EXIficient er et sæt open source-implementeringer af W3C Efficient XML Interchange (EXI) formatspecifikation
- EXIP - Implementering af open source C
- Nagasena - Open Source Java / C # implementeringer af EXI Format 1.0 leveret af FUJITSU.
- Effektiv XML ™ - kommerciel implementering af EXI-specifikationen i Java, .NET, C og C ++
- Exi-Connexion - Open source Java-implementering af EXIs arbejdsudkast 26. marts 2008 ( [1] )
- OSS EXI Tools til C / C ++ og OSS EXI Tools for .NET - en kommerciel implementering af EXI (prototypudgivelse) af OSS Nokalva