(PHP 5, PHP 7, PHP 8)
XSLTProcessor::setParameter — Set value for a parameter
$namespace, string $name, string $value): bool$namespace, array $options): boolSets the value of one or more parameters to be used in subsequent transformations with XSLTProcessor. If the parameter doesn't exist in the stylesheet it will be ignored.
namespaceThe namespace URI of the XSLT parameter.
nameThe local name of the XSLT parameter.
valueThe new value of the XSLT parameter.
options
An array of name => value pairs.
Returns true on success or false on failure.
Example #1 Changing the owner before the transformation
<?php
$collections = array(
'Marc Rutkowski' => 'marc',
'Olivier Parmentier' => 'olivier'
);
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
foreach ($collections as $name => $file) {
// Load the XML source
$xml = new DOMDocument;
$xml->load('collection_' . $file . '.xml');
$proc->setParameter('', 'owner', $name);
$proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}
?>