Re: [xsl] XSL does not transform correctly

Subject: Re: [xsl] XSL does not transform correctly
From: andrew welch <andrew.j.welch@xxxxxxxxx>
Date: Tue, 6 Dec 2005 09:51:40 +0000
> My XSL script does not extract information from the source XML file
> correctly. Instead of extracting only the name of an element it extracts
> everything.
>
> XSL Script
>
> Below is my XSL code:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> xmlns:fo="http://www.w3.org/1999/XSL/Format";>
> <xsl:template match="/project/namespace/querySubject/queryItem">
> <xsl:for-each select="columnName">
> <p> <xsl:value-of select="text() " /></p>
> </xsl:for-each>
> </xsl:template>
> </xsl:stylesheet>


This is because the "default template" is being used as you haven't
specified a root matching template.  This will apply-templates down
through the tree copying each text node to the output.

Add a root matching template that only selects the element you want :

<xsl:template match="/">
  <xsl:apply-templates select="/project/namespace/querySubject/queryItem"/>
</xsl:template>

cheers
andrew

Current Thread