Parameter auslesen
Maike
- xsl
0 MudGuard0 Maike0 sschumann0 Thomas J.S.
Hallo,
ich versuche in einer XSL Datei einen Parameter auszulesen, der über das xml-File übergeben wird:
index.xml?param=test
Hier der Ausschnitt aus der XSL Datei:
<xsl:param name="param"/>
...
<xsl:value-of select="$param"/>
Leider funktioniert das nicht, wenn ich den Parameter ausgeben will. Er wurde nicht übergeben, es kommt keine Ausgabe.
Was mache ich falsch?
Danke,
Gruß Maike
Hi,
ich versuche in einer XSL Datei einen Parameter auszulesen, der über das xml-File übergeben wird:
index.xml?param=test
Hier der Ausschnitt aus der XSL Datei:
<xsl:param name="param"/>
...
<xsl:value-of select="$param"/>
Leider funktioniert das nicht, wenn ich den Parameter ausgeben will. Er wurde nicht übergeben, es kommt keine Ausgabe.
Was mache ich falsch?
Du benutzt vermutlich einen XSLT-Prozessor, der dazu nicht in der Lage ist.
Da Du Dich darüber ausschweigst, was Du benutzt, kann ich nur raten: der IE: damit klappt es nicht.
cu,
Andreas
Hi Andreas,
danke für erstmal deine Antwort.
Da Du Dich darüber ausschweigst, was Du benutzt, kann ich nur raten: der IE: damit klappt es nicht.
Ich habe das im IE und im Mozilla getestet. In beiden Fällen klappt's nicht. Was kann ich tun?
Danke,
Gruß Maike
Ich habe das im IE und im Mozilla getestet. In beiden Fällen klappt's nicht. Was kann ich tun?
Was immer vernünftig ist: die Transformierung auf dem Server vornehmen, und an den Client nur das Ergebnis schicken.
Danke, ich werd's mal ausprobieren. Melde mich dann später wieder...
Was immer vernünftig ist: die Transformierung auf dem Server vornehmen, und an den Client nur das Ergebnis schicken.
Was immer vernünftig ist: die Transformierung auf dem Server vornehmen, und an den Client nur das Ergebnis schicken.
Ich habe das ganze jetzt mal über einen lokalen Tomcat-Server laufen lassen.
Zuerst rufe ich ein Servlet auf, dass dann das XML-File an den Browser schickt. Aber wie gebe ich jetzt da einen Parameter mit???
Danke für jede Hilfe!
Gruß Maike
Hallo!
Zuerst rufe ich ein Servlet auf, dass dann das XML-File an den Browser schickt.
So war das nicht gemeint. Der Vorschlag war, dass Du die Transformation auf dem Server durchführst und das
resultierende HTML an den Browser schickst.
Aber wie gebe ich jetzt da einen Parameter mit???
Entweder gepostet (Verarbeitung in der doPost()-Methode des Servlets) oder per HTTP-GET (Verarbeitung in doGet()). Darauf zugreifen kannst Du dort über den HttpRequest, bspw. request.getParameter("xyz"). Den übermittelten Parameter webst Du dann über eine beliebige XML-API (SAX, DOM, JDOM, JAXP) serverseitig in Deine XML-Struktur ein und entscheidest im XSL-Stylesheet, was beim Auftauchen des entsprechenden Tags geschehen soll, z.B. über
<xsl:if test="page/xyz">
<p>Der übermittelte Parameter ist <xsl:value-of select="page/xyz"/></p>
</xsl:if>
Oliver
Entweder gepostet (Verarbeitung in der doPost()-Methode des Servlets) oder per HTTP-GET (Verarbeitung in doGet()). Darauf zugreifen kannst Du dort über den HttpRequest, bspw. request.getParameter("xyz"). Den übermittelten Parameter webst Du dann über eine beliebige XML-API (SAX, DOM, JDOM, JAXP) serverseitig in Deine XML-Struktur ein und entscheidest im XSL-Stylesheet, was beim Auftauchen des entsprechenden Tags geschehen soll
Danke, ich weiß was du meinst. Das wollte ich anfangs so machen, fand es aber ziemlich umständlich den Parameter in die XML-Datei einzufügen. Und dann hab ich gegoogelt und gelesen, dass man in einer XSL-Datei auch Parameter lesen kann mittels <xsl:param ...
schade, dass es nicht funktioniert.
Ich mache das jetzt mal so wie du auch gesagt hast, aber nur als Notlösung, weil's im Moment anders nicht geht. Aber ich denke das ist nicht die optimale Lösung!
Danke trotzdem,
Gruß Maike
Ich mache das jetzt mal so wie du auch gesagt hast, aber nur als Notlösung, weil's im Moment anders nicht geht. Aber ich denke das ist nicht die optimale Lösung!
Schau Dir mal die XTAGS-Taglib an. Da kannst Du rubbedikatz ein XML an ein XSL werfen, und Parameter übergeben, an die Du mit xsl:param rankommst. Ist auch nicht langsamer, nur vielleicht vom MVC-Ansatz ein büßchen doof.
Schau Dir mal die XTAGS-Taglib an. Da kannst Du rubbedikatz ein XML an ein XSL werfen, und Parameter übergeben, an die Du mit xsl:param rankommst. Ist auch nicht langsamer, nur vielleicht vom MVC-Ansatz ein büßchen doof.
Danke ich werd mir das bei Gelegenheit mal anschauen!
Gruß Maike
Hallo,
Ich habe das im IE und im Mozilla getestet. In beiden Fällen klappt's nicht. Was kann ich tun?
Du kannst dir die Zeit nehmen und im Archiv die Antworten auf deine Fragen durchzulesen.
Dort findest du _genau_ die Antworten die du dir erhoffst:
Auch wenn die Suche immer wieder ausgelastet ist, solltest du die Mühe des Suchens auf dich nehmen.
Grüße
Thomas