(PHP 5, PHP 7, PHP 8)
XSLTProcessor::setParameter — Définit la valeur d'un paramètre
Spécifie la valeur d'un ou plusieurs paramètres pour être utilisés dans une sous-séquence de transformation avec XSLTProcessor. Si le paramètre n'existe pas dans la feuille de style, il sera ignoré.
namespace
L'URI de l'espace de noms du paramètre XSLT.
name
Le nom local du paramètre XSLT.
value
La nouvelle valeur du paramètre XSLT.
options
Un tableau de paire nom => valeur
.
Génère une exception de type ValueError si l'un des arguments contient des octets nuls.
Version | Description |
---|---|
8.4.0 | Génère désormais une exception de type ValueError si l'un des arguments contient des octets nuls, au lieu de les tronquer silencieusement. |
8.4.0 | Il est désormais possible de définir une valeur de paramètre contenant à la fois des guillemets simples et doubles. Avant PHP 8.4.0, cela entraînait un avertissement. |
Exemple #1 Modification du propriétaire avant la transformation
<?php
$collections = array(
'Marc Rutkowski' => 'marc',
'Olivier Parmentier' => 'olivier'
);
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configure le transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attachement des règles xsl
foreach ($collections as $name => $file) {
// Chargement de la source XML
$xml = new DOMDocument;
$xml->load('collection_' . $file . '.xml');
$proc->setParameter('', 'owner', $name);
$proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}
?>