XSLTProcessor::transformToXml

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToXmlTransformer en XML

Description

public XSLTProcessor::transformToXml(object $document): string|null|false

Transforme le nœud source en une chaîne en y appliquant une feuille de style donnée par la méthode xsltprocessor::importStylesheet().

Liste de paramètres

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.

Erreurs / Exceptions

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.

Valeurs de retour

Le résultat de la transformation en tant que chaîne de caractères ou false si une erreur survient.

Historique

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.

Exemples

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>

Voir aussi