PHP 8.4.2 Released!

XSLTProcessor::transformToUri

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToUriTransformiert in einen URI

Beschreibung

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

Transformiert den Quellknoten in einen URI, indem das mittels der Methode XSLTProcessor::importStylesheet() übergebene Stylesheet angewendet wird.

Parameter-Liste

document

Das zu verarbeitende Dom\Document-, DOMDocument-, SimpleXMLElement- oder libxml-kompatible Objekt.

uri

Der URI für das Ziel der Transformation.

Rückgabewerte

Gibt die Anzahl geschriebener Bytes zurück oder false, falls ein Fehler aufgetreten ist.

Changelog

Version Beschreibung
8.4.0 Unterstützung für Dom\Document hinzugefügt.

Beispiele

Beispiel #1 Transformation in eine HTML-Datei

<?php

// XML-Quelle laden
$xml = new DOMDocument;
$xml->load('collection.xml');

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

// Transformierenden Prozessor instanziieren und konfigurieren
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // die XSL-Regeln anhängen

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

?>

Beispiel #2 Transformation in eine HTML-Datei mittels Dom\Document

<?php

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

// Transformierenden Prozessor instanziieren und konfigurieren
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // die XSL-Regeln anhängen

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

?>

Siehe auch

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