Tengo un documento XML simple que contiene información de imagen. Necesito transformarlo a HTML, simple, ¿verdad? Sin embargo, cuando uso el XSL a continuación, explota con el error "No se puede escribir un nodo de atributo cuando no hay ninguna etiqueta de inicio del elemento abierta". No puedo ver dónde está la etiqueta abierta, ¿alguna idea?¿Cómo agregar una imagen?
XML:
<root> <HeaderText> <HeaderText>Dan Testing</HeaderText> </HeaderText> <Image> <img width="100" height="100" alt="FPO lady" src="/uploadedImages/temp_photo_small.jpg"/> </Image> <BodyText> <p>This is a test of the body text<br /></p> </BodyText> <ShowLinkArrow>false</ShowLinkArrow> </root>
XSL:
<xsl:stylesheet version="1.0" extension-element-prefixes="msxsl" exclude-result-prefixes="msxsl js dl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:js="urn:custom-javascript" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:dl="urn:datalist"> <xsl:output method="xml" version="1.0" omit-xml-declaration="yes" indent="yes" encoding="utf-8"/> <xsl:template match="/" xml:space="preserve"> <img> <xsl:attribute name="width"> 100 </xsl:attribute> <xsl:attribute name="height"> 100 </xsl:attribute> <xsl:attribute name="class"> CalloutRightPhoto </xsl:attribute> <xsl:attribute name="src"> <xsl:copy-of select="/root/Image/node()"/> </xsl:attribute> </img> </xsl:template> </xsl:stylesheet>
Estoy tratando de resolver algo muy similar. Necesito generar informes de palabras de una aplicación PHP para lo que estoy transformando XML con XSLT. ¿Funciona la solución anterior para generar documentos word 2007? – ivantxo
No, lo anterior no es para generar documentos de palabras, sino simplemente para crear una etiqueta a partir de la entrada XML dada. Si desea generar documentos de Word utilizando XSLT, entonces buena suerte, ya que es muy complejo. – samjudson