XML / XSL / PHP - Adressleiste auslesen
Maurizio Leonardi
- xml
0 wucher wichtel0 Maurizio
1 Thomas J.S.0 Maurizio
Hallo
Wie kann ich mit XSL eine Variabel aus der Adressleiste auslesen?
Ich benutze Sablotron als Processor und PHP 4.3.3 und kenne mich damit noch gar nicht so gut aus.
Code in PHP:
----------------------------------------------
<?
echo phpinfo();
$zeiger = xslt_create();
$navigation_seite= xslt_process($zeiger, 'navigation.xml', 'standard.xsl');
xslt_free($zeiger);
echo $navigation_seite;
?>
Code in XSL:
----------------------------------------------
....
<div id="content">
<xsl:for-each select="nav">
<div><xsl:value-of select="title" /></div>
</xsl:for-each>
<h1><xsl:value-of select="document('home.xml')/inhalt/seite/h1" /></h1>
<xsl:value-of select="document('home.xml')/inhalt/seite/text" />
</div>
....
home.xml sollte dynamisch werden und das möchte ich über die Adresszeile. Die URL sieht dann zum Beispiel so aus: http://www.domain.com/?id=home
Ist dies überhaupt möglich?
Besten dank für ein Feedback schon im voraus.
Grüsse
Hallo!
Wie kann ich mit XSL eine Variabel aus der Adressleiste auslesen?
Da du auch mit PHP arbeitest, könnte ich mir vorstellen, dass du den GET-Parameter mit PHP ausliest und das dann an XSL irgendwie weitergibst.
Ob das funktioniert, kann ich nicht sagen. Hab selber nicht so wirklich eine Ahnung :-P Aber vielleicht hilft es ja.
Sonst wäre es auch eine Möglichkeit Google zu befragen. Vielleicht findet sich dort noch etwas hilfreiches.
ciao, ww
Hallo!
Wie kann ich mit XSL eine Variabel aus der Adressleiste auslesen?
Da du auch mit PHP arbeitest, könnte ich mir vorstellen, dass du den GET-Parameter mit PHP ausliest und das dann an XSL irgendwie weitergibst.
Ob das funktioniert, kann ich nicht sagen. Hab selber nicht so wirklich eine Ahnung :-P Aber vielleicht hilft es ja.
Sonst wäre es auch eine Möglichkeit Google zu befragen. Vielleicht findet sich dort noch etwas hilfreiches.
ciao, ww
Hallo!
Danke für die Antwort.
Ja das ist das Problem. Dass man mit GET die Paramater ausliest mit PHP, das ist mir bekannt, nur eben die Übergabe....in XSL selber kann man soviel ich weiss keinen PHP Code benutzen.
trotzdem Danke.
Hallo,
Wie kann ich mit XSL eine Variabel aus der Adressleiste auslesen?
Überhaupt nicht.
Ich benutze Sablotron als Processor und PHP 4.3.3 und kenne mich damit noch gar nicht so gut aus.
Code in PHP:
<?
echo phpinfo();
$zeiger = xslt_create();
$navigation_seite= xslt_process($zeiger, 'navigation.xml', 'standard.xsl');
Suche in der PHP-Doku nach set_parameter().
Lese dann den Paramtrer im XSLT aus und füge ihn dort ein wo du ihn brauchst.
Grüße
Thomas
irgendwie schnall ich das nicht. ich hab folgender code probiert:
<?
$zeiger = xslt_create();
$navigation_seite= xslt_process($zeiger, 'navigation.xml', 'standard.xsl');
xslt_free($zeiger);
$proc->setParameter('', 'owner', $name);
echo $navigation_seite;
?>
er meldet folgendes:
Fatal error: Call to a member function on a non-object in xxxx.php on line 5
Hallo,
Wie kann ich mit XSL eine Variabel aus der Adressleiste auslesen?
Überhaupt nicht.
Ich benutze Sablotron als Processor und PHP 4.3.3 und kenne mich damit noch gar nicht so gut aus.
Code in PHP:
<?
echo phpinfo();
$zeiger = xslt_create();
$navigation_seite= xslt_process($zeiger, 'navigation.xml', 'standard.xsl');Suche in der PHP-Doku nach set_parameter().
Lese dann den Paramtrer im XSLT aus und füge ihn dort ein wo du ihn brauchst.Grüße
Thomas
Hallo,
irgendwie schnall ich das nicht. ich hab folgender code probiert:
<?
$zeiger = xslt_create();
$navigation_seite= xslt_process($zeiger, 'navigation.xml', 'standard.xsl');
xslt_free($zeiger);
$proc->setParameter('', 'owner', $name);
echo $navigation_seite;
?>er meldet folgendes:
Fatal error: Call to a member function on a non-object in xxxx.php on line 5
Du verwendest die alten Sachen von PHP. Sofern du nur PHP 4.x hast, ist das OK, sonst solltest du die Funktionen von PHP 5 benutzen:
http://www.php.net/manual/en/function.xsl-xsltprocessor-set-parameter.php#id7968471
Bei PHP 4 solltest du die Seite: http://www.php.net/manual/en/function.xslt-process.php durchlesen:
$parameters = array (
'myparam' => 'test',
'myparam2' => 'noch ein test'
);
xslt_process($zeiger, 'navigation.xml', 'standard.xsl', NULL, NULL, $parameters);
Grüße
Thomas