XSLTProcessor::setParameter

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::setParameterУстанавливает значение параметра

Описание

public XSLTProcessor::setParameter(string $namespace, string $name, string $value): bool
public XSLTProcessor::setParameter(string $namespace, array $options): bool

Метод устанавливает значение для одного или нескольких параметров, чтобы использовать в дальнейшем в преобразованиях 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');
}

?>

Смотрите также