Ahh Dimitre, quit teasing me with that XSLT 2.0 stuff!
It is working great! Except... I am getting additional junk. Not
sure where it is coming from. Like an apply-templates with no match
and you just get the text of the elements back. I have set up empty
match templates for my mode of "Exceptions", it helped some, but I'm
still getting back extra junk. In my "simple example" I am not
getting back the extra junk. Any ideas?
On 5/17/05, Dimitre Novatchev <dnovatchev(_at_)gmail(_dot_)com> wrote:
On 5/18/05, Karl Stubsjoen <kstubs(_at_)gmail(_dot_)com> wrote:
Okay, I am going to try that! How about this simpler example
though..., would you mind providing the inverse for this one:
<xsl:template match="A">
<xsl:copy>
<match>
<xsl:apply-templates
select="B[X[(_at_)val=$match_v1]][X[@val=$match_v2]]"/>
</match>
<exception>
<!-- currently, copy of the match above, but would like this to be
expressed as the exception -->
<xsl:apply-templates
select="B[X[(_at_)val=$match_v1]][X[@val=$match_v2]]"/>
</exception>
</xsl:copy>
</xsl:template>
N.P.
This can be done mechanically:
<xsl:apply-templates
select="B[X[(_at_)val=$match_v1]][X[@val=$match_v2]]"/>
<xsl:variable name="x"
select="B[X[(_at_)val=$match_v1]][X[@val=$match_v2]]"/>
<xsl:apply-templates select="node()[not(count(.|$x) = count($x))]"/>
Of course, in XPath 2.0 one will use the except operator:
<xsl:apply-templates select="node() except $x"/>
Cheers,
Dimitre
On 5/17/05, Dimitre Novatchev <dnovatchev(_at_)gmail(_dot_)com> wrote:
<xsl:apply-templates
select="fx:node-set($interval)//fn:interval[//field[(_at_)fieldname='EntityID']=$FTEInterval_Members][//field[(_at_)fieldname='EntityID']=$FTEInterval_JTED_Mains]"
mode="Exceptions" />
What is the inverse of this? Which would suffice to be my "CATCH
ALL", in otherwords match everything else where the above combination
fails.
fx:node-set($interval)//node()[not(count(. | yourExpression) =
count(yourExpression))]
generally, if there are two node-sets: $ns1 and $ns2, their set difference
$ns2 - $ns1
is expressed by this XPath expression:
$ns2[not(count(. | $ns1) = count($ns1) ) ]
Cheers,
Dimitre
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--