XML-transformasjonsspråk

Et XML-transformasjonsspråk er et programmeringsspråk som er opprettet spesielt for å lage en hvilken som helst form for utdatadokument fra et XML- inngangsdokument.

Det er to spesifikke tilfeller av transformasjon:

XML til XML

Siden en XML til XML- transformasjon sender ut XML-dokumenter, er det derfor mulig å opprette en transformasjonskjede for å danne en XML-rørledning .

XML til binær

XML til binær transformasjon inneholder viktige spesielle tilfeller. Den vanligste er XML til HTML- transformasjon , siden et HTML- dokument generelt ikke er et XML-dokument.

Språk tilgjengelig

XSLT XSLT er det mest kjente XML-transformasjonsspråket. W3C XSLT 1.0-anbefalingen ble utgitt i 1999 , sammen med XPath 1.0- anbefalingen, og har gitt et stort antall implementeringer til dags dato (i Java , Perl , C , etc.).
XSLT 2.0 er etterfølgerstandarden som har vært en anbefaling siden januar 2007, og som allerede har implementeringer som SAXON 9. XQuery XQuery 1.0 har vært en W3C-anbefaling siden januar 2007. Et XQuery-program kan uttrykkes i to syntakser: en ikke-XML-kompakt og en XML-syntaks. Språket er basert på XPath 2.0. XQuery-programmer er blottet for bivirkninger , akkurat som XSLT og gir relaterte muligheter (f.eks. Å erklære variabler og funksjoner, itere over sekvenser, bruke XML Schema- datatyper ), selv om syntaksen ikke har lite til felles. I tillegg til syntaks, er den viktigste forskjellen mellom XSLT og XQuery XSLT er betinget mønster mal som XQuery ikke har. XProc XProc ( XML Processing ) er en spesifikasjon som gjør det mulig å kapsle inn flere transformasjoner ved å detaljere samspillet mellom dem. XProc er for tiden i Working Draft på W3C. STX STX ( Streaming Transformations for XML ) er inspirert av XSLT, men ble designet for å tillate behandling i en eller flere passeringer som en strøm av kildedokumentet. For å gjøre dette bruker den en lett versjon av XPath 2.0, kalt STXPath. Implementeringer er tilgjengelige i Java (Joost) og Perl (XML :: STX). XML-skript Et Perl- inspirert imperativt skriptspråk som bruker XML-syntaks. XML Script støtter XPath så vel som dets proprietære språk for valg av DSLPath-noder. Merk: XML-skript blir nå ansett som foreldet, som det fremgår av referansesiden for dette språket, xmlscript.org: “  XMLScript er foreldet og blir ikke lenger utviklet eller støttet. […] Nye prosjekter bør bruke XSLT i stedet.  " . FXT Et funksjonelt XML-transformasjonsverktøy , bokstavelig talt "et funksjonelt XML-transformasjonsverktøy". Den er implementert i Standard ML . XDuce Et maskinskrevet språk med en lett syntaks (sammenlignet med XSLT). Implementeringen er skrevet i ML . CDuce Utvider XDuce til et funksjonelt programmeringsspråk for generelle formål. Xtatic Bruker teknikker fra XDuce til C # . HaXml Et bibliotek med verktøy for å skrive XML-transformasjoner i Haskell . Hans tilnærming er veldig konsekvent og kraftig. XMLambda XMLambda (XMλ) ble beskrevet i en artikkel fra 1999 av Erik Meijer og Mark Shields. Ingen implementering er for øyeblikket tilgjengelig. TQL Et spørrespråk for semistrukturerte data basert på omgivelseslogikk. En ikke-gratis implementering i Java er tilgjengelig (TQL System). MTran Et programmeringsspråk for XML-transformasjoner basert på andreordens monadiske logikk , foreslått av Kazuhiro Inaba og Haruo Hosoya . XTiSP XTiSP (XML Transformation language indended for Stream Processing) er et språk designet for programmereren til å spesifisere tretransformasjoner uten å måtte tenke på streaming-behandling. XTiSP tar seg av å utføre denne behandlingen i streaming ved å bruke de tildelte grammatikkene. XTiSP var opprinnelig et språk, men har blitt et rammeverk som for eksempel kan brukes på XSLT. Originalspråket er nå referert til som "XTiSP / IV". Dette prosjektet er utviklet av Keisuke Nakano . XStream XStream er et funksjonelt, streamingorientert XML-transformasjonsspråk som tilbys av Alain Frisch . Xact Xact er et XML-transformasjonsspråk implementert i Java, og fungerer godt på skriveproblemer. FleXML

Merknader og referanser

Referanser

  1. (in) "  The Saxon XSLT and XQuery Processor  " (åpnet 10. oktober 2019 ) .
  2. (in) "  Joost - The Streaming XML Transform  " (åpnet 10. oktober 2019 ) .
  3. (in) "XML :: STX" (versjon av 4. januar 2007 på Internett-arkivet ) , på www.gingerall.org .
  4. (in) "  XML Scripting - XML ​​Productivity Applications  " (åpnet 10. oktober 2019 ) .
  5. (in) "  CDuce hjemmeside  " (åpnet 10. oktober 2019 ) .
  6. (in) "  The Xtatic Project: Native XML processing for C #  " (åpnet 10. oktober 2019 ) .
  7. (in) "  haxml Haskell and XML  " (åpnet 10. oktober 2019 ) .
  8. (in) David Mertz, "  XML Matters: Transcending the limitations of DOM, SAX, and XSLT  "IBM developerWorks ,1 st mars 2001(åpnet 10. oktober 2019 ) .
  9. (in) "  TQL  " (åpnet 10. oktober 2019 ) .
  10. (in) "  MTRAN  "stedet Kazuhiro Inaba (åpnet 10. oktober 2019 ) .
  11. (i) XStream  " , INRIA .
  12. (in) Xact - typesikker XML-behandling i Java  " , BRICS.