Subject: Re: [xsl] xsl:apply-templates in combination with xsl:choose From: Martin Honnen <Martin.Honnen@xxxxxx> Date: Wed, 26 Aug 2009 14:12:03 +0200 |
<xsl:template match="filesystem"> .....
<xsl:choose> <xsl:when test="file/document(.)/xh:html/xh:head/xh:link/attribute::rel[contains(.,'stylesheet')]"> <xsl:apply-templates select="file" mode="neuerTest"/> </xsl:when>
<xsl:when
test="file/document(.)/xh:html/xh:head/xh:title[contains(.,'Mag')]">
<xsl:apply-templates select="file" mode="#default"/>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="file" mode="neuerTest"> ... <xsl:template>
<xsl:template match="file" mode="#default"> ... <xsl:template>
The problem is that the first 'when' always turns true. So all files are
processed using the first argument. I tried testing for the other type
in first place and got the same result: The test I place first is always
true even if I made sure that in the documents to be processed the
things I test for are exclusive. Type B doesn't have a stylesheet
attribute and type A never contains 'Mag' in title.
There must be a syntactical error or am I using this at the wrong place?
<xsl:template match="filesystem"> <xsl:apply-templates select="file"/> </xsl:template>
<xsl:template match="file" mode="neuerMode"> ... </xsl:template>
<xsl:template match="file" mode="someOtherMode"> ... </xsl:template> --
Martin Honnen http://msmvps.com/blogs/martin_honnen/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xsl:apply-templates in co, David Carlisle | Thread | [xsl] hyphenator in xsl implementin, Bruno Mascret |
Re: [xsl] xsl:apply-templates in co, David Carlisle | Date | [xsl] hyphenator in xsl implementin, Bruno Mascret |
Month |