XSLTProcessor::transformToUri

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToUriTransforme en URI

Description

public XSLTProcessor::transformToUri(object $document, string $uri): int

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

Liste de paramètres

document

Le Dom\Document, DOMDocument, SimpleXMLElement ou objet compatible libxml à transformer.

uri

L'URL pour la transformation.

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

Retourne le nombre d'octets écrits 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 un fichier HTML

<?php

// Chargement du source XML
$xml = new DOMDocument;
$xml->load('collection.xml');

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

// Configuration du transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attachement des règles xsl

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Exemple #2 Transformation en un fichier HTML en utilisant Dom\Document

<?php

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

// Configure le transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attacher les règles XSL

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Voir aussi

add a note

User Contributed Notes 1 note

up
4
jonbarnett at gmail dot com
17 years ago
Sometimes you don't want to transform to a file, an XML string (because you're using text or html), or a DOMDocument.

To transform to standard output, you can use php://output

<?php
$proc
->transformToURI($xml, 'php://output');
?>

To transform to a string (of HTML or text, instead of XML), you can use the above in conjunction with output buffering.
<?php
ob_start
();
$proc->transformToURI($xml, 'php://output');
$outputString = ob_get_flush();
?>
To Top