xsl-list
[Top] [All Lists]

Re: XPath2 preceding / following axis and attributes

2006-01-10 03:10:35
On 1/10/06, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
In fact, it is easy to see that the following two XPath expressions
are equivalent:

      someElement/@someAttribute/following::someNodeTest

and

     someElement/following::someNodeTest

No, I don't think that's correct. The former includes descendants of
someElement, the latter doesn't.

If so, then Saxon 8.6.1 produces an unexpected result:

When this transformation:

<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";


 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:template match="/">
   <xsl:sequence select=
    "/*/Sample/Data[1]/@category/following::node()"
    />
 </xsl:template>
</xsl:stylesheet>


is applied with Saxon 8.6.1on this source xml document:

<Performance>
  <Sample timestamp="Wednesday, November 30, 2005 5:10:02 PM">
    <Data category="Memory" counter="Available MBytes" instance="">205</Data>
    <Data category="Process" counter="Private Bytes"
instance="lsass">1.397146E+07</Data>
    <Data category="Process" counter="Virtual Bytes"
instance="svchost">6.877594E+07</Data>
    <Data category="Process" counter="Virtual Bytes"
instance="winword">5.653791E+08</Data>
  </Sample>
  <Sample timestamp="Wednesday, November 30, 2005 5:10:04 PM">
    <Data category="Memory" counter="Available MBytes" instance="">192</Data>
    <Data category="Process" counter="Private Bytes"
instance="lsass">1.403699E+07</Data>
    <Data category="Process" counter="Virtual Bytes"
instance="svchost">6.877594E+07</Data>
    <Data category="Process" counter="Virtual Bytes"
instance="winword">5.653791E+08</Data>
  </Sample>
</Performance>

the following result is produced:

205
    <Data category="Process" counter="Private Bytes"
instance="lsass">1.397146E+07</Data>1.397146E+07
    <Data category="Process" counter="Virtual Bytes"
instance="svchost">6.877594E+07</Data>6.877594E+07
    <Data category="Process" counter="Virtual Bytes"
instance="winword">5.653791E+08</Data>5.653791E+08

  <Sample timestamp="Wednesday, November 30, 2005 5:10:04 PM">
    <Data category="Memory" counter="Available MBytes" instance="">192</Data>
    <Data category="Process" counter="Private Bytes"
instance="lsass">1.403699E+07</Data>
    <Data category="Process" counter="Virtual Bytes"
instance="svchost">6.877594E+07</Data>
    <Data category="Process" counter="Virtual Bytes"
instance="winword">5.653791E+08</Data>
  </Sample>
    <Data category="Memory" counter="Available MBytes" instance="">192</Data>192
    <Data category="Process" counter="Private Bytes"
instance="lsass">1.403699E+07</Data>1.403699E+07
    <Data category="Process" counter="Virtual Bytes"
instance="svchost">6.877594E+07</Data>6.877594E+07
    <Data category="Process" counter="Virtual Bytes"
instance="winword">5.653791E+08</Data>5.653791E+08


So, is this a Saxon 8.6.1 bug in handling the "following" axis?

--
Cheers,
Dimitre Novatchev
---------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all.

--~------------------------------------------------------------------
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>
--~--