xsl-list
[Top] [All Lists]

Re: CATCH ALL | template rule (2nd try)

2005-05-17 14:17:17
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>
--~--