Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2011, 11:00
nh2006
 
Fecha de Ingreso: diciembre-2006
Mensajes: 213
Antigüedad: 18 años, 4 meses
Puntos: 3
como usar xslt

Hola amigos,

Quiero convertir una respuesta xml en html por medio de xslt pero no encuentro cómo:

Si veo el código fuente en el navegador tengo esto:

Código XML:
Ver original
  1. <html>
  2. <head>
  3. <title>XML-RPC</title>
  4. </head>
  5. <body>
  6. xmlrpcval Object
  7. (
  8.     [me] => Array
  9.         (
  10.             [string] =>
  11. <imagenes page="1" pages="84" perpage="12" total="1000">
  12.     <imagen id="1" owner="1" />
  13.     <imagen id="2" owner="2" />
  14.     <imagen id="3" owner="3" />
  15. </imagenes>            
  16.         )
  17.     [mytype] => 1
  18.     [_php_class] =>
  19. )
  20. </body></html>

Le presento una parte del código que obtiene la respuesta anterior:
Código PHP:
Ver original
  1. $valor=$result->value();
  2.     print_r($valor);
  3.     /*
  4.     // Se carga el xml como un objeto dom, esto es un objeto que contiene el arbol xml adentro
  5.     $domXML = DOMDocument::loadXML($valor);
  6.  
  7.     // se levanta el archivo xsl y se carga como un objeto dom
  8.     $domXSL = DOMDocument::load("fichero.xsl");
  9.  
  10.     //se crea una instancia del procesador xsl
  11.     $xsl = new XSLTProcessor();
  12.     // se importa el xsl al procesador
  13.     $xsl->importStyleSheet($domXSL);
  14.  
  15.     // se mete el xml en el procesador, esto hace la transformacion e imprime
  16.     print $xsl->transformToXml($domXML);*/

He dejado como comentario las líneas del código anterior, pero al habilitarlas obtengo lo siguiente:

xmlrpcval Object ( [me] => Array ( [string] => ) [mytype] => 1 [_php_class] => )
Warning: DOMDocument::loadXML() expects parameter 1 to be string, object given in C:\... on line 36

Warning: XSLTProcessor::transformToXml() expects parameter 1 to be object, null given in C:\.. on line 47


Mi archivo fichero.xsl (que por cierto no estoy seguro de que esté bien estructurado ) es el siguiente:

Código XML:
Ver original
  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  2.     <xsl:template match="/">
  3.         <html>
  4.         <head>
  5.         </head>
  6.             <body>
  7.                 <xsl:value-of select="imagenes/imagen"/>
  8.             </body>
  9.         </html>
  10.     </xsl:template>
  11. </xsl:stylesheet>



Me pueden ayudar por favor, desde ya se los agradezco.