XSLTProcessor::transformToUri

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToUriTransform to URI

Опис

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

Transforms the source node to an URI applying the stylesheet given by the XSLTProcessor::importStylesheet() method.

Параметри

document

The Dom\Document, DOMDocument, SimpleXMLElement or libxml-compatible object to be transformed.

uri

The target URI for the transformation.

Помилки/виключення

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.

Значення, що повертаються

Returns the number of bytes written or false if an error occurred.

Журнал змін

Версія Опис
8.4.0 Now throws an Error if the callback cannot be invoked, instead of emitting a warning.
8.4.0 Added support for Dom\Document.

Приклади

Приклад #1 Transforming to a HTML file

<?php

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

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

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

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

?>

Приклад #2 Transforming to a HTML file using Dom\Document

<?php

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

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

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

?>

Прогляньте також

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