Wydajna wymiana XML
Efficient XML Interchange ( EXI ) to binarny format XML służący do wymiany danych w sieci komputerowej. Został opracowany przez grupę roboczą Efficient Extensible Interchange W3C i jest jednym z najbardziej znanych wysiłków na rzecz kodowania dokumentów XML w formacie danych binarnych , a nie zwykłego tekstu. Korzystanie z formatu EXI zmniejsza gadatliwość dokumentów XML, a także koszty analizowania. Poprawa wydajności pisania (generowania) treści zależy od szybkości zapisywanego nośnika, metod i jakości rzeczywistych wdrożeń. EXI jest przydatne dla
- pełny zakres rozmiarów dokumentów XML, od kilkudziesięciu bajtów do terabajtów
- zmniejszenie narzutu obliczeniowego w celu przyspieszenia analizowania skompresowanych dokumentów
- zwiększenie wytrzymałości małych urządzeń poprzez zastosowanie efektywnej dekompresji
Historia
World Wide Web Consortium (W3C) utworzyło grupę roboczą w celu standaryzacji formatu w marcu 2006 roku. EXI został wybrany jako binarny format XML W3C po ocenie różnych propozycji, które obejmowały Fast Infoset . Format EXI wywodzi się z formatu AgileDelta Efficient XML. EXI został przyjęty jako rekomendacja W3C przez W3C w dniu 10 marca 2011 r. Drugie wydanie zostało opublikowane w lutym 2014 r.
W listopadzie 2016 r. Zmieniono nazwę grupy roboczej na „Efficient Extensible Interchange (EXI)” z „Efficient XML Interchange (EXI)”, aby odzwierciedlić szerszy zakres zastosowania EXI poza XML w innych językach opisu danych.
Cechy
Zaletą EXI w porównaniu z Fast Infoset jest to, że EXI (opcjonalnie) wykorzystuje więcej ograniczeń ze schematu XML . Może to sprawić, że dane EXI będą bardziej zwarte; na przykład, jeśli schemat XML określa, że elementy o nazwie „bar” mogą istnieć tylko w elementach o nazwie „foo”, EXI może przypisać krótszy token do elementu „bar”, wiedząc, że nie musi dzielić tej samej przestrzeni tokenów jako elementy występujące w innym miejscu dokumentu. Główną wadą korzystania z takiej kompresji „opartej na schemacie” jest to, że nie tylko dokument wymaga schematu, ale także dekoder potrzebuje kopii tego samego schematu, którego użył koder.
Używa
Dostępnych jest wiele aplikacji obsługujących EXI.
Dostępnych jest wiele implementacji EXI, które umożliwiają integrację możliwości EXI z innymi narzędziami.
Powiązane: EXI jest również dostosowywane do formatów danych innych niż XML.
- EXI4JSON to specyfikacja opracowana przez tę samą grupę roboczą w celu używania tego samego formatu dla dokumentów JSON .
Globalnej Sieci Informacyjnej Departamentu Obrony Stanów Zjednoczonych .
Przyszła praca
Grupa robocza EXI nadal realizuje wiele inicjatyw eksperymentalnych.
- EXI4CSS bada, jak mapować kaskadowe arkusze stylów (CSS) do EXI.
- Wydaje się, że EXI dla JavaScript jest możliwe, jeśli używa się początkowego strukturalnego drzewa analizy dla kodu źródłowego.
- Biorąc pod uwagę potencjalną kompozycję XML EXI z szyfrowaniem XML i podpisem cyfrowym XML.
Linki zewnętrzne
- Wydajny XML Interchange Format 1.0 (zalecenie W3C)
- Wydajna ocena wymiany XML (notatka grupy roboczej)
- EXIficient - EXIficient to zestaw implementacji open source specyfikacji formatu W3C Efficient XML Interchange (EXI)
- EXIP — implementacja Open Source C
- Nagasena — implementacje Open Source Java/C# formatu EXI 1.0 dostarczone przez FUJITSU.
- Efficient XML™ - komercyjna implementacja specyfikacji EXI w językach Java, .NET, C i C++
- Exi-Connexion - implementacja Open Source Java roboczej wersji roboczej EXI 26 marca 2008 r. ( [1] )
- OSS EXI Tools for C/C++ i OSS EXI Tools for .NET - komercyjna implementacja EXI (wydanie prototypu) firmy OSS Nokalva