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

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

  1. (w) „  The Saxon XSLT and XQuery Processor  ” (dostęp: 10 października 2019 ) .
  2. (w) „  Joost - The Streaming XML Transform  ” (dostęp 10 października 2019 ) .
  3. (in) „XML :: STX” (wersja z 4 stycznia 2007 w Internet Archive ) , na www.gingerall.org .
  4. (w) „  XML Scripting - XML ​​Productivity Applications  ” (dostęp 10 października 2019 ) .
  5. (w) „  CDuce homepage  ” (dostęp: 10 października 2019 ) .
  6. (w) „  The Xtatic Project: Native XML processing for C #  ” (dostęp 10 października 2019 ) .
  7. (w) „  haxml Haskell and XML  ” (dostęp 10 października 2019 ) .
  8. (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 ) .
  9. (w) „  TQL  ” (dostęp: 10 października 2019 ) .
  10. (w) „  MTRAN  ” na stronie Kazuhiro Inaba (dostęp 10 października 2019 ) .
  11. (in) „  XStream  ” , INRIA .
  12. (in) Xact - bezpieczne przetwarzanie XML w Javie  " , BRICS.