XSLTProcessor::transformToXml

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToXmlTransformiert in einen XML-String

Beschreibung

public XSLTProcessor::transformToXml(object $document): string|null|false

Transformiert den Quellknoten in einen String, 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.

returnClass

Dieser optionale Parameter kann verwendet werden, damit XSLTProcessor::transformToDoc() ein Objekt der angegebenen Klasse zurückgibt. Diese Klasse sollte entweder die gleiche Klasse sein wie die von document oder diese erweitern.

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

Das Ergebnis der Transformation als String 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 einen String

<?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

echo $proc->transformToXML($xml);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Beispiel #2 Transformation in einen String mittels Dom\Document

<?php

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

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // die XSL-Regeln anhängen

echo $proc->transformToXML($xml);

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Siehe auch