i have tried a number of approaches but with various but not correct
results. I want to delete the absent node (and everything below it)
where $vardate = from and @pword $varpword.
Starting with:
<player pword='82345'>
<absentia>
<absent type="C">
<to>20030921</to>
<from>20030901</from>
</absent>
<absent type="D">
<to>20030801</to>
<from>20030103</from>
</absent>
</absentia>
<player>
ending with:
<player pword='82345'>
<absentia>
<absent type="D">
<to>20030801</to>
<from>20030103</from>
</absent>
</absentia>
<player>
tried this (along with about 10 variations):
<xsl:param name="vardate" select="0" />
<xsl:param name="varpword" select="0" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="absent">
<xsl:variable name="date1" select="./from"/>
<xsl:variable name="pword" select="ancestor::@pword"/>
<xsl:copy>
<xsl:apply-templates select="@*|node()[not($date1 = $vardate and
$pword = $varpword)]"/>
</xsl:copy>
</xsl:template>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list