(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 des transformations ultérieures avec XSLTProcessor. Si le paramètre n'existe pas dans la feuille de style, il sera ignoré.
namespaceL'URI de l'espace de noms du paramètre XSLT.
nameLe nom local du paramètre XSLT.
valueLa nouvelle valeur du paramètre XSLT.
options
Un tableau de paires nom => valeur.
Génère une exception de type ValueError si l'un des arguments contient des octets nuls.
Génère une exception de type ValueError si
namespace n'est pas vide et que name
(ou l'une de ses clés, s'il s'agit d'un tableau) utilise la notation de Clark ou est un QName.
| Version | Description |
|---|---|
| 8.5.0 |
L'argument namespace est désormais pris en compte ;
auparavant, il était ignoré.
Une exception de type ValueError est désormais lancée si
namespace n'est pas vide et que name
(ou l'une de ses clés, s'il s'agit d'un tableau) utilise la notation de Clark ou est un QName.
|
| 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');
}
?>