PHP - Função XSLTProcessor :: transformToDoc ()
Definição e Uso
XML é uma linguagem de marcação para compartilhar os dados na web, XML é tanto para leitura humana quanto para máquina. A extensão XSL é uma implementação do padrão XSL para realizar a transformação XSTL usando a biblioteca libxslt.
o XSLTProcessor::transformToDoc() A função aceita um objeto da classe DOMNode como parâmetro e o transforma em DOMDocument aplicando uma folha de estilo a ele.
Sintaxe
XSLTProcessor::transformToDoc($doc);
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | doc(Mandatory) Este é um objeto da classe DOMNode que representa o documento a ser transformado. |
Valores Retornados
Esta função retorna um objeto da classe DOMDocument em caso de sucesso e um valor booleano que é FALSE em caso de falha.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP Versão 5 e funciona em todas as versões posteriores.
Exemplo
A seguir está um exemplo desta função -
sample.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="example.xsl"?>
<Tutorial>
<Title>JavaFX</Title>
<Authors>
<Author>Krishna</Author>
<Author>Rajeev</Author>
</Authors>
<Body>Sample text</Body>
</Tutorial>
sample.xsl:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
Title - <xsl:value-of select="/Tutorial/Title"/>
Authors: <xsl:apply-templates select="/Tutorial/Authors/Author"/>
</xsl:template>
<xsl:template match="Author">
- <xsl:value-of select="." />
</xsl:template>
</xsl:stylesheet>
sample.php:
<?php
//Loading an XSL document
$xsl = new DOMDocument();
$xsl->load("sample.xsl");
//Loading an XML document
$xml = new DOMDocument();
$xml->load("sample.xml");
//Creating an XSLTProcessor
$proc = new XSLTProcessor();
//Importing the XSL document
$proc->importStyleSheet($xsl);
//Transforming the style to XML
$res = $proc->transformToDoc($xml);
print_r($res);
?>
Isso produzirá o seguinte resultado -
DOMDocument Object
(
[doctype] =>
[implementation] => (object value omitted)
[documentElement] =>
[actualEncoding] =>
[encoding] =>
[xmlEncoding] =>
[standalone] => 1
[xmlStandalone] => 1
[version] => 1.0
[xmlVersion] => 1.0
[strictErrorChecking] => 1
[documentURI] =>
[config] =>
[formatOutput] =>
[validateOnParse] =>
[resolveExternals] =>
[preserveWhiteSpace] => 1
[recover] =>
[substituteEntities] =>
[nodeName] => #document
[nodeValue] =>
[nodeType] => 9
[parentNode] =>
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] =>
[nextSibling] =>
[attributes] =>
[ownerDocument] =>
[namespaceURI] =>
[prefix] =>
[localName] =>
[baseURI] =>
[textContent] =>
Title - JavaFX
Authors:
- Krishna
- Rajeev
)