PHP 8.4.6 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.

Fehler/Exceptions

The following errors are possible when using an expression that invokes PHP callbacks.

  • Throws an Error if a PHP callback is invoked but there were no callbacks registered, or if the named callback was not registered.
  • Throws a TypeError if the php:function syntax is used and the handler name is not a string.
  • Throws an Error if a non-DOM object was returned from a callback.

Rückgabewerte

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

Changelog

Version Beschreibung
8.4.0 Wenn der Callback nicht aufgerufen werden kann, wird nun ein Error ausgelöst, anstatt eine Warnung auszugeben.
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