[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: XSLT 2.0 processor?



Andreas Tille schrieb:

Hallo,

ich möchte mit Hilfe eines XSLT 2.0 Scripts XML Dateien konvertieren.
Auf meiner Soche nach einem brauchbaren xslt Prozessor in Debian bin
ich bisher nur auf welche für XSLT 1.0 gestoßen.  Z.B. xsltproc sagt
gleich

$ xsltproc script.xslt example.xml compilation error: file script.xslt line 2 element stylesheet
xsl:version: only 1.0 features are supported
xmlXPathCompOpEval: function compare not found
XPath error : Unregistered function
xmlXPathCompiledEval: 3 objects left on the stack.

Mein nächster Versuch mit sabcmd aus sablotron:

$ sabcmd script.xslt example.xml Error [code:9] [URI:file:///.../script.xslt] [line:38] [node:element '<xsl:attribute>']
  unexpected attribute 'select'

scheitert sicher auch, weil das Attribut nicht zum XSLT 1.0 Sprachumfang
gehört (für mich ist das auch Neuland).

Ähnlich ergeht es mir mit xalan:

$ cat example.xml | xalan  -xsl script.xslt

XSLException Type is: XPathParserException
Message is: The function 'compare' was not found.
expression = '0 = compare( $sYesResponse, $sVaccinationResponse )' Remaining tokens are: ( 'compare' '(' '$' 'sYesResponse' ',' '$' 'sVaccinationResponse' ')') (script.xslt, line 143, column 75)

woraus ich ebenfalls schließe, daß hier ein XSLT 2.0 Feature das Problem
bereitet.  (Laut Webseite kann xalan auch nur XSLT 1.0.)

Dann gibt es noch Saxon in Debian und zwar in Version 6.5.5.  Wenn man
auf die Webseite
     http://saxon.sourceforge.net/
geht, steht dort explizit, daß diese Version nur XSLT 1.0 unterstützt und
Version 9.0, daß auch XSLT 2.0 kann, scheint noch nicht für Debian paketiert
zu sein - wenn ich die Seite http://www.saxonica.com/ richtig verstanden
habe, weil es nicht mehr frei ist.

Ein weiterer unfreier Kandidat für mein vorhaben scheint
http://www.oxygenxml.com/ zu sein - wenigstens ist das für Linux auch
verfügbar im Gegensatz zu AltovaXML (was meine Kollegen benutzt haben,
um das fragliche Skript zu erstellen).

Hat jemand noch eine Idee, womit ich weiterkommen könnte?

Editiere mal deine sources.list in /etc/apt/ und trage non-free bei den einträgen nach.

Nach einem apt-get update sollte dann dein wunschpaket mit apt-get install zu finden sein.


Viele Grüße

       Andreas.

Gruß Dirk Finkedley



Reply to: