Subject: Re: 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
|