(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.
namespace
La URI del espacio de nombres del parámetro XSLT.
name
El nombre local del parámetro XSLT.
value
El 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');
}
?>