XSLTProcessor::setParameter
(PHP 5, PHP 7, PHP 8)
XSLTProcessor::setParameter — Set value for a parameter
Description
Sets 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.
Parameters
namespaceThe namespace URI of the XSLT parameter.
nameThe local name of the XSLT parameter.
valueThe new value of the XSLT parameter.
optionsAn array of
name => valuepairs.
Errors/Exceptions
Throws a ValueError if any of the arguments contain null bytes.
Changelog
| Version | Description |
|---|---|
| 8.4.0 | Now throws a ValueError if any of the arguments contain null bytes instead of silently truncating. |
| 8.4.0 | It is now possible to set a parameter value containing both single and double quotes. Prior to PHP 8.4.0, this resulted in a warning. |
Examples
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');
}
?>See Also
- XSLTProcessor::getParameter() - Get value of a parameter
- XSLTProcessor::removeParameter() - Remove parameter
↑ and ↓ to navigate • Enter to select • Esc to close • / to open