(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().
documentLe 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.
Lance une Error si un callback PHP est invoqué mais qu'aucun callback n'est enregistré, ou si le callback nommé n'est pas enregistré.
Lance une TypeError si
la syntaxe php:function est utilisée et que le nom du gestionnaire
n'est pas une chaîne de caractères.
Lance une Error si un objet non DOM est retourné par un callback.
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>