XSLT: Unable to transform Source XML to another XML using XSL -
i have written xslt , tested online.
i have tested on following website: http://www.freeformatter.com/xsl-transformer.html
it working , getting output xml
i tested again @ w3schools, not transforming xml giving tag contents of first xml only, , same issue getting in mule code.
http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog
following xml:
<data><dserv><service><sid>a-9000</sid><sitid>a-9000-01-0500</sitid><parameters><parameter><name>a</name><params><param><name>b</name><value>false</value></param><param><name>c</name><value>true</value></param><param><name>d</name><value>true</value></param><param><name>e</name><value>localhost</value></param></params></parameter></parameters></service></dserv></data>
following xslt code :
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"><xsl:output method="xml" encoding="utf-8" indent="no"/><xsl:template match="/"><execution-context xmlns="http://www.jhere.com/vco"><parameters><parameter name="name" type="string"><string><xsl:value-of select="data/dserv/service/parameters/parameter/name" /></string></parameter> <xsl:for-each select="data/dserv/service/parameters/parameter/params/param"><xsl:variable name="man"><xsl:value-of select="name" /></xsl:variable><xsl:if test="contains($man,'b')"> <parameter name="b" type="boolean"><boolean><xsl:value-of select="value" /></boolean></parameter></xsl:if></xsl:for-each><xsl:for-each select="data/dserv/service/parameters/parameter/params/param"><xsl:variable name="man"><xsl:value-of select="name" /></xsl:variable><xsl:if test="contains($man,'c')"><parameter name="c" type="boolean"> <boolean><xsl:value-of select="value" /></boolean></parameter></xsl:if></xsl:for-each><xsl:for-each select="data/dserv/service/parameters/parameter/params/param"><xsl:variable name="man"><xsl:value-of select="name" /></xsl:variable><xsl:if test="contains($man,'d')"><parameter name="d" type="boolean"><boolean><xsl:value-of select="value" /></boolean></parameter></xsl:if></xsl:for-each></parameters></execution-context></xsl:template></xsl:stylesheet>
`
wrong output:
afalsetruetrue
it giving value not xml tags? find out reason why?
in websites giving xml outputs tags , data.
your xslt fine , produces correct output. problem if try show result in browser, not display tags , show text content. that's what's happening when try on w3schools.com:
xslt result http://i57.tinypic.com/1ihg95.png
the w3schools tester designed show result of xslt html, though transforming correctly (as shown in firebug in screenshot), text content gets rendered in page.
Comments
Post a Comment