Dutch PHP Conference 2021 - Call for Papers


(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToDocПреобразует в DOMDocument


public XSLTProcessor::transformToDoc ( object $document , string|null $returnClass = null ) : DOMDocument|false

Преобразует исходный узел в DOMDocument применяя таблицу стилей, заданную с помощью метода XSLTProcessor::importStylesheet().

Список параметров


Узел, который нужно преобразовать.

Возвращаемые значения

Возвращает DOMDocument или false при ошибке.


Пример #1 Преобразование в DOMDocument


// Загрузка исходного XML
$xml = new DOMDocument;

$xsl = new DOMDocument;

// Настройка преобразования
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // добавление стилей xsl

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);


Результат выполнения данного примера:

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

Смотрите также

add a note add a note

User Contributed Notes 1 note

franp at free dot fr
14 years ago
In most cases if you expect XML (or XHTML) as output you better use transformToXML() directly. You gain better control over xsl:output attributes, notably omit-xml-declaration.

Instead of :
$proc = new XSLTProcessor();
$dom = $proc->transformToDoc($xml);
echo $dom->saveXML();

do use :
$proc = new XSLTProcessor();
$newXml = $proc->transformToXML($xml);
echo $newXml;

In the first case, <?xml version="1.0" encoding="utf-8"?> is added whatever you set the omit-xml-declaration while transformToXML() take the attribute into account.
To Top