(PHP 5, PHP 7, PHP 8)
XSLTProcessor::setParameter — Define um valor para um parâmetro
Define o valor para um ou mais parâmetros para ser usados em transformações subsequentes com XSLTProcessor. Se o parâmetro não existir na folha de estilos, ele será ignorado.
namespaceA URI de espaço de nomes do parâmetro XSLT.
nameO nome local do parâmetro XSLT.
valueO novo valor do parâmetro XSLT.
options
Um array de pares name => value.
Lança uma exceção ValueError se qualquer argumento contiver bytes nulos.
| Versão | Descrição |
|---|---|
| 8.4.0 | Agora lança uma exceção ValueError se qualquer argumento contiver bytes nulos ao invés de truncar silenciosamente. |
| 8.4.0 | Agora é possível definir um valor de parâmetro contendo tanto aspas simples quanto aspas duplas. Antes do PHP 8.4.0, isto resultava em um alerta. |
Exemplo #1 Modificando o parâmetro 'owner' antes da transformação
<?php
$collections = array(
'Marc Rutkowski' => 'marc',
'Olivier Parmentier' => 'olivier'
);
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configura o transformador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // anexa as regras xsl
foreach ($collections as $name => $file) {
// Carrega a fonte XML
$xml = new DOMDocument;
$xml->load('collection_' . $file . '.xml');
$proc->setParameter('', 'owner', $name);
$proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}
?>