XML mit verschiedenen XSL Stylesheets
santa_xlaus
- xsl
0 santa_xlaus0 Thomas J.S.0 santa_xlaus0 Thomas J.S.0 MR
Ich habe folgendes Problem:
Ich hab eine XML datei die ich mit 2 verschiedenen XSL Stylesheets darstellen möchte. Aber wie? Es sollen auch die gleichen Teile der XML dargestellt werden. Die XML soll aus einem HTML Dokument aufgerufen werden. Also Link A => Stylesheet A, Link B => Stylesheet B. Bin für jegliche Hilfe dankbar.
santa_xlaus
Ok, geht also nicht einfach, schon gar nicht einfach mit nur client seitig. Manchmal frag ich mich warum so manches xslt konzept (zumindest in der browser umsetzung) nicht zuende gedacht wurde, zB: xsl:param, warum kann man das nicht per xml-url-parameter befüllen (ohne server side script); oder xml:sylesheet, man kann alternate=yes|no angeben und media, warum aber keinen parameter den man ändern kann von der client side ohne irgendwelche zusätzlichen scripte?
Hallo,
Ok, geht also nicht einfach, schon gar nicht einfach mit nur client seitig.
Es geht, auch nicht besonder schwierig, aber der Sinn dahinter stellt sich in Frage, denn es geht nur mit JavaScript und nur wenn der Browser XSLT-Unterstützung anbietet.
Bei Bedarf suche ich einige alten Beiträge von mir aus dem Archiv dazu aus.
Manchmal frag ich mich warum so manches xslt konzept (zumindest in der browser umsetzung) nicht zuende gedacht wurde, zB: xsl:param, warum kann man das nicht per xml-url-parameter befüllen (ohne server side script);
Weil der/ein XSLT-Prozessor ist nun mal nicht dafür zuständig, was außerhalb seines Bereichs passiert. Der Prozessor braucht deshalb etwas was ihm sagt, dass er sich für diesen oder jenen Parameter interessieren soll.
Grüße
Thomas
Hi,
»»»»Bei Bedarf suche ich einige alten Beiträge von mir aus dem Archiv dazu aus.
Wenn das ganze auf eine Geschichte mit document.createProcessingInstruction(..) hinausläuft krieg ich das schon selber hin.
»»»»Weil der/ein XSLT-Prozessor ist nun mal nicht dafür zuständig, was außerhalb seines Bereichs passiert.
Naja aber wenn man den Parameter an die XML dranhängt, in php Manier, also var=val und var als param im xsl vorkommt, finde ich es schwach das dann der XSLT Prozessor diesen Parameter nicht selbstätig zuweist. Es wird ihm ja ene XML an die Hand gegeben warum nicht auch zusatzinfos?
Ich hatte halt gehofft es gibt eine script-lose Möglichkeit.
santa_xlaus
Hallo,
»»»»Bei Bedarf suche ich einige alten Beiträge von mir aus dem Archiv dazu aus.
Wenn das ganze auf eine Geschichte mit document.createProcessingInstruction(..) hinausläuft
Nein.
krieg ich das schon selber hin.
Fein :)
»»»»Weil der/ein XSLT-Prozessor ist nun mal nicht dafür zuständig, was außerhalb seines Bereichs passiert.
Naja aber wenn man den Parameter an die XML dranhängt, in php Manier, also var=val und var als param im xsl vorkommt, finde ich es schwach das dann der XSLT Prozessor diesen Parameter nicht selbstätig zuweist.
Warum? Was kümmert den XSLT-Prozessor was "draussen im Web" lost ist?
Das ist nicht seine Aufgabe. Warum sollte der XSLT-Prozessor auf die Adressenzeile des Browsers zugreifen? Wenn, dann sollte der Browser so schlau sein und den/die Parameter aus seiner Adressenzeile weitergeben. Hmm ... nun ja, aber an wen denn und woher sollte er wissen, wann er ein Parameter an den XSLT-Prozessor weitergeben soll und wann nicht? Einfach alle URL-Params immer gleich an den XSLT-Prozessor senden und ihm überlassen was er mit dem Zeug macht?
Natürlich wäre es wunderschön, wenn intelligente Software gäbe, der weiss was der Webseitenersteller gemeint hat und wann er was an welche Anwendung weitergeben soll.
Es wird ihm ja ene XML an die Hand gegeben warum nicht auch zusatzinfos?
Eben, du merkst es selbst: es ist nicht ein "Hol-Schuld" des Prozessors sondern ein "Bring-Schuld" des Browsers, wenn keine Parameter übergeben werden.
Ich hatte halt gehofft es gibt eine script-lose Möglichkeit.
Ich sage nochmal: nicht alle Browser bieten XSLT-Unterstützung und bis dahin eignet sich die clienseitige Sache höchstest als Experiment zu Hause oder im homogenen Intranet.
Grüße
Thomas
also ich hab genau das, nämlich eine XML und mehrere XSL, die da was rauslesen mit javascript umgesetzt.
musst halt mit javasript beide dateien einlesen(also eine xsl, eine xml) dann gibts du an, das er das transformieren soll.
das geht für IE und FF natürlich verschieden^^
einfach mal googln, hab den link grad nich parat.
mfg MR