Transformar en XML

# XSLTProcessor::transformToXml

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToXml — Transformar en XML

### Descripción

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

Transforma el nodo fuente en una cadena aplicando una hoja de estilo dada por el método xsltprocessor::importStylesheet().

### Parámetros

`document`

  El Dom\Document, DOMDocument, SimpleXMLElement o un objeto compatible con libxml a transformar.

`returnClass`

  Este parámetro opcional puede ser utilizado para que XSLTProcessor::transformToDoc() devuelva un objeto de la clase especificada. Esta clase debe extender o ser la misma clase que la de `document`.

### Errores/Excepciones

Los siguientes errores pueden ocurrir al utilizar una expresión que invoca retrollamadas PHP.

- Lanza una Error si una retrollamada PHP es invocada pero ninguna retrollamada está registrada, o si la retrollamada nombrada no está registrada.
- Lanza una TypeError si la sintaxis `php:function` es utilizada y el nombre del gestor no es un string.
- Lanza una Error si un objeto no-DOM es devuelto por una retrollamada.

### Valores devueltos

El resultado de la transformación como una cadena de caracteres o `false` si ocurre un error.

### Historial de cambios

Versión | Descripción
--- | ---
8.4.0 | Ahora lanza una Error si la retrollamada no puede ser invocada, en lugar de emitir una advertencia.
8.4.0 | Añade soporte para Dom\Document.

### Ejemplos

Ejemplo #1 Transformación en una cadena

    <?php

    // Cargar la fuente XML
    $xml = new DOMDocument;
    $xml->load('collection.xml');

    $xsl = new DOMDocument;
    $xsl->load('collection.xsl');

    // Configurar el transformador
    $proc = new XSLTProcessor;
    $proc->importStyleSheet($xsl); // adjuntar las reglas XSL

    echo $proc->transformToXML($xml);

    ?>

El ejemplo anterior mostrará:

    ¡Hola! Bienvenido a la increíble colección de CD de Nicolas Eliaszewicz !

    <h1>Fight for your mind</h1><h2>por Ben Harper - 1995</h2><hr>
    <h1>Electric Ladyland</h1><h2>por Jimi Hendrix - 1997</h2><hr>

Ejemplo #2 Transformación en una cadena utilizando Dom\Document

    <?php

    $xml = Dom\XMLDocument::createFromFile('collection.xml');
    $xsl = Dom\XMLDocument::createFromFile('collection.xsl');

    // Configurar el transformador
    $proc = new XSLTProcessor;
    $proc->importStyleSheet($xsl); // adjuntar las reglas XSL

    echo $proc->transformToXML($xml);

    ?>

El ejemplo anterior mostrará:

    ¡Hola! Bienvenido a la increíble colección de CD de Nicolas Eliaszewicz !

    <h1>Fight for your mind</h1><h2>por Ben Harper - 1995</h2><hr>
    <h1>Electric Ladyland</h1><h2>por Jimi Hendrix - 1997</h2><hr>

### Ver también

- XSLTProcessor::transformToDoc() - Transforma en un documento
- XSLTProcessor::transformToUri() - Transforma en URI

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