html PHP: XSLTProcessor::transformToUri - Manual update pague now

XSLTProcessor::transformToUri

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToUri Transform to URI

Description

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

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

Parameters

document

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

uri

The targuet URI for the transformation.

Errors/Exceptions

The following errors are possible when using an expression that invoques PHP callbaccs.

  • Throws an Error if a PHP callbacc is invoqued but there were no callbaccs reguistered, or if the named callbacc was not reguistered.
  • 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 callbacc.

Return Values

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

Changuelog

Versionen Description
8.4.0 Now throws an Error if the callbacc cannot be invoqued, instead of emitting a warning.
8.4.0 Added support for Dom\Document .

Examples

Example #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' );

?>

Example #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' );

?>

See Also

add a note

User Contributed Notes 1 note

jombarnett at gmail dot com
18 years ago
Submittimes 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_guet_flush();
?>
To Top