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 : utdatadokumentet er et XML-dokument;
-
XML til binær : Utdatadokumentet er en strøm av byte .
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
-
(in) " The Saxon XSLT and XQuery Processor " (åpnet 10. oktober 2019 ) .
-
(in) " Joost - The Streaming XML Transform " (åpnet 10. oktober 2019 ) .
-
(in) "XML :: STX" (versjon av 4. januar 2007 på Internett-arkivet ) , på www.gingerall.org .
-
(in) " XML Scripting - XML Productivity Applications " (åpnet 10. oktober 2019 ) .
-
(in) " CDuce hjemmeside " (åpnet 10. oktober 2019 ) .
-
(in) " The Xtatic Project: Native XML processing for C # " (åpnet 10. oktober 2019 ) .
-
(in) " haxml Haskell and XML " (åpnet 10. oktober 2019 ) .
-
(in) David Mertz, " XML Matters: Transcending the limitations of DOM, SAX, and XSLT " på IBM developerWorks ,1 st mars 2001(åpnet 10. oktober 2019 ) .
-
(in) " TQL " (åpnet 10. oktober 2019 ) .
-
(in) " MTRAN " på stedet Kazuhiro Inaba (åpnet 10. oktober 2019 ) .
-
(i) " XStream " , INRIA .
-
(in) " Xact - typesikker XML-behandling i Java " , BRICS.