Christian Seiler: Komme mit Namspace net klar - HELP!

Beitrag lesen

Hallo Andreas,

die erste Möglichkeit üder den definierten Präfix hat nicht funktioniert, die ausgegebene Tabelle war wiederum leer.

Das sollte aber. Welchen XSLT-Prozessor verwendest Du denn?

Bei mir funktioniert's mit der angegebenen Testdatei (zugehöriges Stylesheet).

Was mir allerdings auffällt: In Deiner XML-Datei taucht folgende Zeile oberhalb von <Einstellungen> auf:

<AblageInfo xmlns="http://blabla.com/blabla">

Hier wird also für das Element AblageInfo ein neuer, ANDERER Default-Namespace definiert. Falls dies auch beim Element Einstellungen der Fall sein soll, Du das beim Kürzen des Quellcodes jedoch aus Versehen weggelassen hast, dann musst Du natürlich den anderen Namespace mit angeben - das macht die Sache zumindest in meinen Augen VIEL übersichtlicher.

Wo ich grad so eine kompetente Person an der Strippe habe, evtl. kannst du mir ja nochmal weiterhelfen...
Ich habe zum Testen das Quell-XML-File modifiziert und die Zeile

<?xml-stylesheet type="text/xsl" href="test.xsl"?>

eingefügt. In dieser .XSL steht der oben genannte Code drinnen. Wie kann ich das Ganze nun ausgeben lassen, ohne das Quell-XML zu verändern?

Klar. Aber auch das hängt von Deinem XSLT-Prozessor ab und wie Du ihn aufrufst. Wenn Du z.B. xsltproc verwendest (ist bei libxml2 dabei), dann würdest Du das z.B. so machen (auf der Kommandozeile aufrufen):

xsltproc test-xsl-ns-1.xsl test-xsl-ns-1.xml > test-xsl-ns-1.html

Oder allgemein:

xsltproc Stylesheet Eingabedatei > Ausgabedatei

Wenn Du dagegen z.B. Saxon verwendest, dann würdest Du folgendes nutzen:

java net.sf.saxon.Transform -o test-xsl-ns-1.html test-xsl-ns-1.xml test-xsl-ns-1.xsl

Oder allgemein:

java net.sf.saxon.Transform -o Ausgabedatei Eingabedatei Stylesheet

Wenn Dir das nicht weiterhilft, musst Du schon erklären, wie Du Dein XSLT denn bisher anwendest.

Viele Grüße,
Christian