Transformer en XML

# XSLTProcessor::transformToXml

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToXml — Transformer en XML

### Description

public function 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

- XSLTProcessor::transformToDoc() - Transforme en un document
- XSLTProcessor::transformToUri() - Transforme en URI

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open