(PHP 5, PHP 7, PHP 8)
XSLTProcessor::transformToXml — Transformer en XML
Transforme le nœud source en une chaîne en y appliquant une feuille de style donnée par la méthode xsltprocessor::importStylesheet().
document
Le Dom\Document, DOMDocument, SimpleXMLElement ou un objet libxml-compatible à transformer.
returnClass
Ce paramètre facultatif peut être utilisé afin que
XSLTProcessor::transformToDoc()
renvoie un objet de la classe spécifiée.
Cette classe doit soit étendre la classe de document
,
soit être la même classe que celle de document
.
Les erreurs suivantes peuvent survenir lors de l'utilisation d'une expression qui invoque des callbacks PHP.
php:function
est utilisée et que le nom du gestionnaire
n'est pas une chaîne de caractères.
Le résultat de la transformation en tant que chaîne de caractères ou false
si une erreur
survient.
Version | Description |
---|---|
8.4.0 | Lance désormais une Error si le callback ne peut pas être invoqué, au lieu d'émettre un avertissement. |
8.4.0 | Ajout du support pour Dom\Document. |
Exemple #1 Transformation en une chaîne
<?php
// Charger la source XML
$xml = new DOMDocument;
$xml->load('collection.xml');
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configurer le transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attacher les règles XSL
echo $proc->transformToXML($xml);
?>
L'exemple ci-dessus va afficher :
Salut ! Bienvenue dans la superbe collection de CD de Nicolas Eliaszewicz ! <h1>Fight for your mind</h1><h2>par Ben Harper - 1995</h2><hr> <h1>Electric Ladyland</h1><h2>par Jimi Hendrix - 1997</h2><hr>
Exemple #2 Transformation en une chaîne en utilisant Dom\Document
<?php
$xml = Dom\XMLDocument::createFromFile('collection.xml');
$xsl = Dom\XMLDocument::createFromFile('collection.xsl');
// Configurer le transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attacher les règles XSL
echo $proc->transformToXML($xml);
?>
L'exemple ci-dessus va afficher :
Salut ! Bienvenue dans la superbe collection de CD de Nicolas Eliaszewicz ! <h1>Fight for your mind</h1><h2>par Ben Harper - 1995</h2><hr> <h1>Electric Ladyland</h1><h2>par Jimi Hendrix - 1997</h2><hr>