XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
chris auSubject: xsl transformation
Author: chris au
Date: 27 Dec 2007 12:18 AM
Hi,

i have the following problem. One of the systems I use automatically generate xml data of which some of this data is embedded html and example would be

<?xml version="1.0"?>
<TEST1>
<Comment>
<p><b>I would like to know what is going on</b></p>
<p><i>this is a test system</i></p>
</Comment>
</TEST1>

the stylesheet I am applying looks like this

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="TEST1">
<table border ="1">
<tr>
<xsl:apply-templates select="Comment
</tr>

</table>

<xsl:template match="Comment">
<td>Comment</td><td> <xsl:value-of select="."/></td>
</xsl:template>
</xsl:stylesheet>


The output I am getting after the rendering is something like this when I view the source

<table>
<tr>
<td>
Comment
</td>
<td>
&lt;p&gt;&lt;b&gt;I would like to know what is going on&lt;/b&gt;&lt;/p&gt;
</td>
</tr>
</table>

There is nothing I can do to modify the xml as the xml producer is not provided by me.

Any help is appreciated.

Chris

Postnext
Alberto MassariSubject: xsl transformation
Author: Alberto Massari
Date: 27 Dec 2007 05:29 AM
Hi Chris,
I don't see why your XSL engine should process the xsl:value-of on the "Comment" node by serializing also the element tags; which processor are you using? Are you sure the source XML has the text you wrote, or is it using a CDATA section and/or entity references?

Alberto

Postnext
chris auSubject: xsl transformation
Author: chris au
Date: 27 Dec 2007 04:37 PM
hi Alberto,

thanks for the quicky response, what do you mean by processor? I am 100% sure the xml file being generated is of the same format as the one I have displayed and no CDATA tags are being used. At the moment I am using a proprietary product which generates the XML and all I tell this product where my XSL file is located if I want to change the output to html.

Regards,

Chris

Posttop
Alberto MassariSubject: xsl transformation
Author: Alberto Massari
Date: 28 Dec 2007 06:36 AM
Hi Chris,
an "XSLT processor" is a software that reads the instructions written in the XSLT stylesheet and executes them on the input XML document. As you say you have a proprietary software that accepts an XSLT stylesheet as parameter, I would look at the documentation of that tool to know which XSLT processor it is using under the cover (maybe it's a 3rd-party engine, maybe they wrote one by themself).

From what I can see from the snippet you published, when that processor finds xsl:value-of working on an element node, it returns the serialized XML instead of the concatenation of its child text nodes. You could try work around this non-conformance by using <xsl:value-of select="string(.)"/>

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.