(PHP 5, PHP 7, PHP 8)
XSLTProcessor::setParameter — Define el valor de un parámetro
Especifica el valor de uno o varios parámetros para ser utilizados en una subsecuencia de transformación con XSLTProcessor. Si el parámetro no existe en la hoja de estilo, será ignorado.
namespaceLa URI del espacio de nombres del parámetro XSLT.
nameEl nombre local del parámetro XSLT.
valueEl nuevo valor del parámetro XSLT.
options
Un array de pares nombre => valor.
Genera una excepción de tipo ValueError si alguno de los argumentos contiene bytes nulos.
| Versión | Descripción |
|---|---|
| 8.4.0 | Ahora lanza una una excepción de tipo ValueError si alguno de los argumentos contiene bytes nulos, en lugar de truncar silenciosamente. |
| 8.4.0 | Ahora es posible definir un valor de parámetro que contenga tanto comillas simples como dobles. Antes de PHP 8.4.0, esto generaba una advertencia. |
Ejemplo #1 Modificación del propietario antes de la transformación
<?php
$collections = array(
'Marc Rutkowski' => 'marc',
'Olivier Parmentier' => 'olivier'
);
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configurar el transformador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // adjuntar las reglas xsl
foreach ($collections as $name => $file) {
// Cargar la fuente XML
$xml = new DOMDocument;
$xml->load('collection_' . $file . '.xml');
$proc->setParameter('', 'owner', $name);
$proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}
?>