(PHP 5, PHP 7, PHP 8)
XSLTProcessor::setParameter — Setzt den Wert für einen Parameter
Setzt den Wert von einem oder mehreren Parametern zur Verwendung bei Transformationen mittels XSLTProcessor. Falls ein Parameter im Stylesheet nicht existiert wird der angegebene Wert ignoriert.
namespace
Die Namespace-URI des XSLT-Parameters.
name
Der lokale Name des Parameters.
value
Der neue Wert für den XSLT-Parameter.
options
Ein assoziatives Array mit name => wert
-Paaren.
Wenn eines der Argumente Null-Bytes enthält, wird ein ValueError geworfen.
Version | Beschreibung |
---|---|
8.4.0 | Es wird nun ein ValueError geworfen, wenn eines der Argumente Null-Bytes enthält, anstatt diese stillschweigend abzuschneiden. |
8.4.0 | Es ist nun möglich, einen Parameterwert zu setzen, der sowohl einfache als auch doppelte Anführungszeichen enthält. Vor PHP 8.4.0 führte dies zu einer Warnung. |
Beispiel #1 Ändern des Parameters "owner" vor der Transformation
<?php
$collections = array(
'Marc Rutkowski' => 'marc',
'Olivier Parmentier' => 'olivier'
);
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Prozessor konfigurieren
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // Stylesheet anhängen
foreach ($collections as $name => $file) {
// XML-Quelle laden
$xml = new DOMDocument;
$xml->load('collection_' . $file . '.xml');
$proc->setParameter('', 'owner', $name);
$proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}
?>