Saltamontes: In PHP Variable an XSL Template übergeben

Hallo erstmal.

Ich würde gerne einige Variablen aus PHP an ein XSL Template zum Umwandeln einer XML Datei übergebn. Dachte eigentlich dass es auch ohne geht, aber dem war leider nicht der Fall.

Hier erstmal mein Code:

<?
$xml_doc = ($_FILES['xml_doc']['tmp_name']);
 if ($_FILES['xml_doc']['type'] != 'text/xml'){
    print '<p class="error">Die Datei ist keine XML Datein</p>';
 }else{

$xml = new DomDocument();
$xml ->load($xml_doc);
if (!$xml){
   exit ("Fehler beim Parsen der xml Datei");
}

$xslt = new DomDocument();
$xslt ->load("content/xml/templ.xsl");
if (!$xslt){
   exit ("Fehler beim Parsen der xsl Datei");
}

$xsltproc = new XsltProcessor();
if (!$xsltproc){
   exit ("Fehler beim erstellen des XSLT-Prozessors");
}

$xsltproc ->importStylesheet($xslt);
$string = (utf8_decode($xsltproc ->transformToXml($xml)));
}
?>

Und da am Ende müsste ich eine Variable für den Pfad der XML Datei mit übergeben.

Wär schön, wenn da jemand weiter weiß!

  1. Hallo,

    Ich würde gerne einige Variablen aus PHP an ein XSL Template zum Umwandeln einer XML Datei übergebn. Dachte eigentlich dass es auch ohne geht, aber dem war leider nicht der Fall.

    In deiner XSL-Datei muss das ein globaler Parameter (xsl:param) und keine Variable (xsl:variable) sein, denn der Wert einer Variable kann in XSL nicht geändert werden.

    Und da am Ende müsste ich eine Variable für den Pfad der XML Datei mit übergeben.

    Wär schön, wenn da jemand weiter weiß!

    XSLTProcessor->setParameter():
    http://www.php.net/manual/en/function.xsl-xsltprocessor-set-parameter.php

    Grüße
    Thomas

    1. Vielen Dank Thomas!
      Du hast mir mal wieder weiter geholfen :)