[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Saxon Error: Conditional Transformation Matches BOTH of "Either/Or" Template


Subject: Re: [xsl] Saxon Error: Conditional Transformation Matches BOTH of "Either/Or" Template
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Thu, 6 Jun 2013 13:16:04 +0100

> First, "Thanks" again for your kind input.

np

> Using:  match="para[not(@selectout) or contains(@selectout, 'html')]" does not work because the "contains(@selectout, 'html')" clause returns a boolean and not a node().
>

That doesn't really make sense... all predicates evaluate to a true/false.

> Creating two templates simplified everything and now all is well:
>
> <xsl:template match="para[@selectout]">
>     <xsl:if test="contains(@selectout, 'html')">
>         ...
>     </xsl:if>
>
>     <xsl:if test="not(contains(@selectout, 'html'))">
>         <!-- do nothing -->
>     </xsl:if>
> </xsl:template>
>
>
> <xsl:template match="para[not(@selectout)]">
>     ...
> </xsl:template>

Ah ok, did you originally have:

 match="para[@selectout]"

and

 match="para[not(@selectout)] | para[contains(@selectout, 'html')]"

...in which case you can see where the match conflict would come from.

-- 
Andrew Welch
http://andrewjwelch.com


Current Thread