<xsl:copy-of select="* except X"/>
means "make an exact copy of all the children, except any child selected by
the expression X (which should not be copied at all).
I suspect you are misunderstanding it to mean "copy all the children,
modifying them as you do so to leave out any nodes selected by X".
Clearly that doesn't work: the select expression selects all the children,
then unselects some of them, then xsl:copy-of copies all those that remain.
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
-----Original Message-----
From: Knight, Michel [mailto:michel(_dot_)knight(_at_)tc(_dot_)gc(_dot_)ca]
Sent: 22 July 2009 21:45
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] XSLT/XPATH 2.0 - except example.
Using Saxon 9
Windows
XSLT/XPATH 2.0
Hi,
I'm trying to remove the h1 from my source with the "except"
and it doesn't work.
ex:<xsl:copy-of select="* except
(//xhtml:div[(_at_)class='border']//xhtml:h1)" />
When I do the same logic to class=border section it work??
<xsl:copy-of select="* except(//xhtml:div[(_at_)class='border'])" />
What I'm I missing, with the except for the removal of that
section h1???
Note: source code included.
Regards,
Michel
--------------- My StyleSheet
<xsl:strip-space elements="*"/>
<xsl:template match="xhtml:html" exclude-result-prefixes="xhtml" >
<root>
<content>
<xsl:apply-templates
select="//xhtml:div[(_at_)class='center']"
exclude-result-prefixes="xhtml"/>
</content>
</root>
</xsl:template>
<!--
==============================================================
=========
-->
<!--*****************************************-->
<!-- Content section just remove the right nav-->
<xsl:template match ="//xhtml:div[(_at_)class='center']"
exclude-result-prefixes="xhtml">
<!-- Right Nav first-->
Remove h1
<!-- THIS doesn't WORK, why????? -->
<xsl:copy-of select="* except
(//xhtml:div[(_at_)class='border']//xhtml:h1)" />
END of remove h1
<!-- THIS WORK -->
<xsl:copy-of select="*
except(//xhtml:div[(_at_)class='border'])" />
</xsl:template>
<!--*****************************************-->
</xsl:stylesheet>
--------------- My Source
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
xml:lang="en"> <head> </head> <body> <!--googleoff:all-->
<div class="page"> <div class="center"> <div class="border">
<h1> <a name="cont" id="cont"> Aviation Security </a> </h1>
<p>The Government of Canada has committed more than programs
include the following:</p> </div> </div> </div> </body> </html>
--~------------------------------------------------------------------
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>
--~--