Język transformacji XML
Język transformacji XML to język programowania stworzony specjalnie, aby utworzyć dowolną formę dokumentu wyjściowego od wejścia XML dokumentu .
Istnieją dwa szczególne przypadki transformacji:
-
XML do XML : dokumentem wyjściowym jest dokument XML;
-
XML to Binary : Dokument wyjściowy to strumień bajtów .
XML do XML
Ponieważ transformacja XML do XML dostarcza dokumenty XML jako dane wyjściowe, możliwe jest zatem utworzenie łańcucha transformacji w celu utworzenia potoku XML .
XML na binarny
Przekształcenie XML na binarne zawiera ważne przypadki specjalne. Najbardziej powszechna jest transformacja XML do HTML , ponieważ zazwyczaj dokument HTML nie jest dokumentem XML.
Dostępne języki
XSLT
XSLT to najbardziej znany język transformacji XML. Zalecenie
W3C XSLT 1.0 zostało wydane w
1999 r. Wraz z zaleceniem
XPath 1.0 i do tej pory zapewniło dużą liczbę wdrożeń (w
Javie ,
Perlu ,
C itp.).
XSLT 2.0 jest następcą standardu, który jest rekomendacją od
stycznia 2007 roku i który ma już wdrożenia takie jak SAXON 9.
XQuery
XQuery 1.0 było od tego czasu rekomendacją W3C styczeń 2007. Program XQuery można wyrazić w dwóch składniach: kompaktowej innej niż XML i składni XML. Język jest oparty na
XPath 2.0. Programy XQuery są pozbawione
efektów ubocznych , podobnie jak XSLT, i zapewniają powiązane możliwości (np. Deklarowanie zmiennych i funkcji,
iterowanie po sekwencjach, używanie typów danych
XML Schema ), mimo że składnia ma niewiele wspólnego. Oprócz składni główną różnicą między XSLT i XQuery jest szablon wzorca warunkowego XSLT, którego XQuery nie posiada.
XProc
XProc ( XML Processing ) to specyfikacja pozwalająca na hermetyzację kilku transformacji poprzez wyszczególnienie interakcji między nimi. XProc jest obecnie w wersji roboczej na W3C.
STX
STX ( Streaming Transformations for XML ) jest inspirowany XSLT, ale został zaprojektowany, aby umożliwić przetwarzanie w jednym lub wielu przebiegach jako strumień oryginalnego dokumentu. Aby to zrobić, używa uproszczonej wersji XPath 2.0 o nazwie STXPath. Implementacje są dostępne w językach Java (Joost) i Perl (XML :: STX).
Skrypt XML
Niezbędny język skryptowy inspirowany
Perlem , który używa składni XML. XML Script obsługuje
XPath, a także
własny język do wybierania węzłów DSLPath. Uwaga: XML Script jest obecnie uważany za przestarzały, o czym świadczy witryna referencyjna dla tego języka, xmlscript.org:
„ XMLScript jest przestarzały i nie jest już rozwijany ani obsługiwany. […] Nowe projekty powinny zamiast tego używać XSLT. ” .
FXT
Funkcjonalne narzędzie do transformacji XML , dosłownie „funkcjonalne narzędzie do transformacji XML”. Jest zaimplementowany w
standardowej ML .
XDuce
Język maszynowy z lekką składnią (w porównaniu do XSLT). Implementacja jest napisana w
ML .
CDuce
Rozszerza XDuce do funkcjonalnego języka programowania ogólnego przeznaczenia.
Xtatic
Stosuje techniki od XDuce do
C # .
HaXml
Biblioteka narzędzi do pisania przekształceń XML w
Haskell . Jego podejście jest bardzo konsekwentne i potężne.
XMLambda
XMLambda (XMλ) został opisany w artykule z
1999 roku autorstwa Erika Meijera i Marka Shieldsa. Żadna implementacja nie jest obecnie dostępna.
TQL
Język zapytań dla danych częściowo ustrukturyzowanych oparty na logice otoczenia. Dostępna jest niewolna implementacja w
Javie (TQL System).
MTran
Język programowania przekształceń XML oparty na
logice monadycznej drugiego rzędu , zaproponowany przez Kazuhiro Inabę i Haruo Hosoyę .
XTiSP
XTiSP (język transformacji XML przeznaczony do przetwarzania strumieniowego) to język przeznaczony dla programistów do określania transformacji drzewa bez konieczności myślenia o przetwarzaniu strumieniowym. XTiSP dba o wykonanie tego przetwarzania w transmisji strumieniowej, używając przypisanej gramatyki. XTiSP był pierwotnie językiem, ale stał się frameworkiem, który można zastosować na przykład do XSLT. Oryginalny język jest teraz określany jako „XTiSP / IV”. Ten projekt jest rozwijany przez Keisuke Nakano .
XStream
XStream to funkcjonalny, zorientowany na przesyłanie strumieniowe język transformacji XML oferowany przez Alaina Frischa .
Xact
Xact to język transformacji XML zaimplementowany w Javie, dobrze radzący sobie z problemami z pisaniem.
FleXML
Uwagi i odniesienia
Bibliografia
-
(w) „ The Saxon XSLT and XQuery Processor ” (dostęp: 10 października 2019 ) .
-
(w) „ Joost - The Streaming XML Transform ” (dostęp 10 października 2019 ) .
-
(in) „XML :: STX” (wersja z 4 stycznia 2007 w Internet Archive ) , na www.gingerall.org .
-
(w) „ XML Scripting - XML Productivity Applications ” (dostęp 10 października 2019 ) .
-
(w) „ CDuce homepage ” (dostęp: 10 października 2019 ) .
-
(w) „ The Xtatic Project: Native XML processing for C # ” (dostęp 10 października 2019 ) .
-
(w) „ haxml Haskell and XML ” (dostęp 10 października 2019 ) .
-
(w) David Mertz, „ XML Matters: Transcending the limits of DOM, SAX, and XSLT ” on IBM developerWorks ,1 st marca 2001(dostęp 10 października 2019 ) .
-
(w) „ TQL ” (dostęp: 10 października 2019 ) .
-
(w) „ MTRAN ” na stronie Kazuhiro Inaba (dostęp 10 października 2019 ) .
-
(in) „ XStream ” , INRIA .
-
(in) " Xact - bezpieczne przetwarzanie XML w Javie " , BRICS.