XSLTProcessor::setParameter
(PHP 5, PHP 7, PHP 8)
XSLTProcessor::setParameter — Set value for a parameter
说明
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.
参数
namespace-
The namespace URI of the XSLT parameter.
name-
The local name of the XSLT parameter.
value-
The new value of the XSLT parameter.
options-
An array of
name => valuepairs.
错误/异常
Throws a ValueError if any of the arguments contain null bytes.
更新日志
| 版本 | 说明 |
|---|---|
| 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. |
示例
示例 #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');
}
?>参见
- XSLTProcessor::getParameter() - Get value of a parameter
- XSLTProcessor::removeParameter() - Remove parameter