(PHP 5, PHP 7, PHP 8)
XSLTProcessor::setParameter — Устанавливает значение параметра
Метод устанавливает значение для одного или нескольких параметров, чтобы использовать в дальнейшем в преобразованиях XSLTProcessor. Если параметра нет в таблице стилей, то он будет проигнорирован.
namespace
Пространство имён URI параметра XSLT.
name
Локальное название параметра XSLT.
value
Новое значение параметра XSLT.
options
Массив пар name => value
.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Метод выбрасывает ошибку ValueError, если хотя бы один аргумент содержит нулевые байты.
Версия | Описание |
---|---|
8.4.0 | Метод теперь вместо усечения без предупреждения выбрасывает ошибку ValueError, если хотя бы один аргумент содержит нулевые байты. |
8.4.0 | Теперь возможна установка значения параметра, которое содержит как одинарные, так и двойные кавычки. До PHP 8.4.0 это выдавало предупреждение. |
Пример #1 Изменение владельца перед преобразованием
<?php
$collections = array(
'Marc Rutkowski' => 'marc',
'Olivier Parmentier' => 'olivier'
);
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Настройка преобразования
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // добавление стилей xsl
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');
}
?>