dmarston 00/12/15 14:37:49
Added: test/tests/conf/position position77.xsl position01.xsl
position02.xml position02.xsl position03.xml
position03.xsl position04.xml position04.xsl
position05.xml position05.xsl position06.xml
position06.xsl position07.xml position07.xsl
position08.xml position08.xsl position09.xml
position09.xsl position10.xml position10.xsl
position11.xml position11.xsl position12.xml
position12.xsl position13.xml position13.xsl
position14.xml position14.xsl position15.xml
position15.xsl position16.xml position16.xsl
position17.xml position17.xsl position18.xml
position18.xsl position19.xml position19.xsl
position20.xml position20.xsl position21.xml
position21.xsl position22.xml position22.xsl
position23.xml position23.xsl position24.xml
position24.xsl position25.xml position25.xsl
position26.xml position26.xsl position27.xml
position27.xsl position28.xml position28.xsl
position29.xml position29.xsl position30.xml
position30.xsl position31.xml position31.xsl
position32.xml position32.xsl position33.xml
position33.xsl position34.xml position34.xsl
position35.xml position35.xsl position36.xml
position36.xsl position37.xml position37.xsl
position38.xml position38.xsl position39.xml
position39.xsl position40.xml position40.xsl
position41.xml position41.xsl position42.xml
position42.xsl position43.xml position43.xsl
position44.xml position44.xsl position45.xml
position45.xsl position46.xml position46.xsl
position47.xml position47.xsl position48.xml
position48.xsl position49.xml position49.xsl
position50.xml position50.xsl position51.xml
position51.xsl position52.xml position52.xsl
position53.xml position53.xsl position54.xml
position54.xsl position55.xml position55.xsl
position56.xml position56.xsl position57.xml
position57.xsl position58.xml position58.xsl
position59.xml position59.xsl position60.xml
position60.xsl position61.xml position61.xsl
position62.xml position62.xsl position63.xml
position63.xsl position64.xml position64.xsl
position65.xml position65.xsl position66.xml
position66.xsl position67.xml position67.xsl
position68.xml position68.xsl position69.xml
position69.xsl position70.xml position70.xsl
position71.xml position71.xsl position72.xml
position72.xsl position73.xml position73.xsl
position74.xml position74.xsl position75.xml
position75.xsl position76.xml position76.xsl
position77.xml position01.xml
Log:
Copy of tests in Lotus/IBM repository
Revision Changes Path
1.1 xml-xalan/test/tests/conf/position/position77.xsl
Index: position77.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS77 -->
<!-- Document: http://www.w3.org/TR/xslt -->
<!-- DocVersion: 19991116 -->
<!-- Section: 5.4 -->
<!-- AdditionalSpec: 4, 10 and "current node list" in 1 -->
<!-- Purpose: Test positional indexing in current node list passed
via apply-templates with select that has predicate. -->
<xsl:template match="metadata">
<out>
<xsl:apply-templates select="CLASSIFICATION"/>
<xsl:text> ====== tickers ====== </xsl:text>
<xsl:apply-templates select="[EMAIL PROTECTED]'ticker']"/>
<xsl:text> ====== sectors ====== </xsl:text>
<xsl:apply-templates select="[EMAIL PROTECTED]'sector']"/>
</out>
</xsl:template>
<xsl:template match="keyword">
<xsl:value-of select="@value"/>
<xsl:value-of select="position()"/>
<xsl:value-of select="last()"/>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:template>
<xsl:template match="*">
<xsl:value-of select="@value"/>
<xsl:value-of select="position()"/>
<xsl:value-of select="last()"/>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position01.xsl
Index: position01.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS01 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function in direct select. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="position()=1"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position02.xml
Index: position02.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position02.xsl
Index: position02.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS02 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function with wildcard. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[position()=4]"/>
<xsl:apply-templates/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position03.xml
Index: position03.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a test="true"><num>1</num></a>
<a><num>1191</num></a>
<a><num>263</num></a>
<a test="true"><num>2</num></a>
<a><num>827</num></a>
<a><num>256</num></a>
<a test="true"><num>3</num></a>
<a test="true"><num>4</num></a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position03.xsl
Index: position03.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS03 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function anded with attribute test. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED] and position()=8]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position04.xml
Index: position04.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a test="true"><num>1</num></a>
<a><num>1191</num></a>
<a><num>263</num></a>
<a test="true"><num>2</num></a>
<a><num>827</num></a>
<a><num>256</num></a>
<a test="true"><num>3</num></a>
<a test="true"><num>4</num></a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position04.xsl
Index: position04.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS04 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' in 2nd predicate. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED]()=4]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position05.xml
Index: position05.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a test="true"><num>1</num></a>
<a><num>5</num></a>
<a test="false"><num>5</num></a>
<a test="true"><num>2</num></a>
<a><num>5</num></a>
<a test="false"><num>7</num></a>
<a test="true"><num>3</num></a>
<a test="true"><num>4</num></a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position05.xsl
Index: position05.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS05 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' when used with xsl:key. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','true')[position()=4]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position06.xml
Index: position06.xml
===================================================================
<doc>
<a test="true"><num>1</num></a>
<a><num>5</num></a>
<a test="false"><num>5</num></a>
<a test="true"><num>2</num></a>
<a><num>5</num></a>
<a test="false"><num>5</num></a>
<a test="true"><num>3</num></a>
<a test="true"><num>4</num></a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position06.xsl
Index: position06.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS06 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'count()'. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="count(*)"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position07.xml
Index: position07.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a test="true">a</a>
<a>b</a>
<a test="false">c</a>
<a test="true">d</a>
<a>e</a>
<a test="false">f</a>
<a test="true">g</a>
<a test="false">h</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position07.xsl
Index: position07.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS07 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()'. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="*[last()=position()]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position08.xml
Index: position08.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position08.xsl
Index: position08.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS08 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function. -->
<xsl:template match="doc">
<out>
<xsl:apply-templates/>
</out>
</xsl:template>
<xsl:template match="a[position()=4]">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="a[position()=3]">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="a[position()=2]">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="a[position()=1]">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position09.xml
Index: position09.xml
===================================================================
<?xml version="1.0"?>
<doc>
<foo>
<a><num val="1"/></a>
<a><num val="2"/></a>
<a><num val="3"/></a>
</foo>
<foo>
<a><num val="4"/></a>
<a><num val="5"/></a>
<a><num val="6"/></a>
</foo>
<foo>
<a><num val="7"/></a>
<a><num val="8"/></a>
<a><num val="9"/></a>
</foo>
<baz>
<a><num val="10"/></a>
<a><num val="11"/></a>
<a><num val="12"/></a>
</baz>
</doc>
1.1 xml-xalan/test/tests/conf/position/position09.xsl
Index: position09.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS09 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 Node Set Functions -->
<!-- Purpose: Test of position in predicates, both long and short versions.
-->
<xsl:template match="doc">
<out>
<xsl:apply-templates/>
</out>
</xsl:template>
<xsl:template match="foo[3]/a[position()=3]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="foo[3]/a[position()=2]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="foo[3]/a[position()=1]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="foo[2]/a[position()=3]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="foo[2]/a[position()=2]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="foo[2]/a[position()=1]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="foo[1]/a[position()=3]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="foo[1]/a[position()=2]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="foo[1]/a[position()=1]/num/@val">
<xsl:value-of select="."/><xsl:text>,</xsl:text>
</xsl:template>
<xsl:template match="a/num">
<xsl:apply-templates select="@val"/>
</xsl:template>
<!-- Override default template matching, otherwise the values 10, 11, 12 will
be displayed -->
<xsl:template match="@val" priority="-1"/>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position10.xml
Index: position10.xml
===================================================================
<?xml version="1.0"?>
<doc>
<foo>
<a><num val="6"/></a>
<a><num val="2"/></a>
<a><num val="4"/></a>
</foo>
<foo>
<a><num val="3"/></a>
<a><num val="1"/></a>
<a><num val="5"/></a>
</foo>
</doc>
1.1 xml-xalan/test/tests/conf/position/position10.xsl
Index: position10.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS10 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of position() function and sorting. -->
<xsl:template match="doc">
<out>
<xsl:for-each select="foo/a/num/@val">
<xsl:value-of select="position()"/>_<xsl:value-of select="."/>
<xsl:text> </xsl:text>
</xsl:for-each>
Now, sort the data...
<xsl:for-each select="foo/a/num/@val">
<xsl:sort select="."/>
<xsl:value-of select="position()"/>_<xsl:value-of select="."/>
<xsl:text> </xsl:text>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position11.xml
Index: position11.xml
===================================================================
<?xml version="1.0"?>
<letters>
<letter>a</letter>
<letter>b</letter>
<letter>c</letter>
<letter>d</letter>
<letter>e</letter>
<letter>f</letter>
</letters>
1.1 xml-xalan/test/tests/conf/position/position11.xsl
Index: position11.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS11 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of position() and last() functions. -->
<xsl:template match="letters">
<out>
<xsl:apply-templates select="letter"/>
</out>
</xsl:template>
<xsl:template match="letter">
<xsl:value-of select="normalize-space(text())"/>
<xsl:if test="not(position()=last())">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position12.xml
Index: position12.xml
===================================================================
<?xml version="1.0"?>
<doc>
<p/>
<p/>
<p/>
</doc>
1.1 xml-xalan/test/tests/conf/position/position12.xsl
Index: position12.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS12 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of position() function. -->
<xsl:template match="doc">
<out>
<xsl:apply-templates select="p"/>
</out>
</xsl:template>
<xsl:template match="p">
<xsl:value-of select="position()=2"/><xsl:text>,</xsl:text>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position13.xml
Index: position13.xml
===================================================================
<?xml version="1.0"?>
<doc>
<p/>
<p/>
<p/>
</doc>
1.1 xml-xalan/test/tests/conf/position/position13.xsl
Index: position13.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS13 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()' function. -->
<xsl:template match="doc">
<out>
<xsl:apply-templates select="p"/>
</out>
</xsl:template>
<xsl:template match="p">
<xsl:value-of select="last()=3"/><xsl:text>,</xsl:text>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position14.xml
Index: position14.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
</doc>
1.1 xml-xalan/test/tests/conf/position/position14.xsl
Index: position14.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS14 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()' function. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="last()=1"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position15.xml
Index: position15.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position15.xsl
Index: position15.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS15 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="a[position()=4]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position16.xml
Index: position16.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position16.xsl
Index: position16.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS16 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="a[position()=3]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position17.xml
Index: position17.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position17.xsl
Index: position17.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS17 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="a[position()=1]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position18.xml
Index: position18.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position18.xsl
Index: position18.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS18 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of position() function and a varaible. -->
<xsl:variable name="first" select="1"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="a[position()=$first]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position19.xml
Index: position19.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position19.xsl
Index: position19.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS19 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing (shorthand) in select. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="a[4]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position20.xml
Index: position20.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position20.xsl
Index: position20.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS20 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="a[3]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position21.xml
Index: position21.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position21.xsl
Index: position21.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS21 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="a[1]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position22.xml
Index: position22.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>A<a>1</a>B<a>2</a>C<a>3</a>D<a>4</a>E</doc>
1.1 xml-xalan/test/tests/conf/position/position22.xsl
Index: position22.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS22 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing on the text() nodes. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="text()[1]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position23.xml
Index: position23.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>A<a>1</a>B<a>2</a>C<a>3</a>D<a>4</a>E</doc>
1.1 xml-xalan/test/tests/conf/position/position23.xsl
Index: position23.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS23 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing on the text() nodes. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="text()[3]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position24.xml
Index: position24.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position24.xsl
Index: position24.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS24 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()' function with current context position. -->
<xsl:template match="doc">
<out>
<xsl:for-each select="*">
<xsl:value-of select="last()=4"/>
<xsl:text>,</xsl:text>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position25.xml
Index: position25.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position25.xsl
Index: position25.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS25 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function with wildcard. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[position()=3]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position26.xml
Index: position26.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position26.xsl
Index: position26.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS26 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function with wildcard. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[position()=1]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position27.xml
Index: position27.xml
===================================================================
<?xml version="1.0"?>
<letters>
<letter>a</letter>
<letter>b</letter>
<letter>c</letter>
<letter>d</letter>
<letter>e</letter>
<letter>f</letter>
<letter>g</letter>
</letters>
1.1 xml-xalan/test/tests/conf/position/position27.xsl
Index: position27.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS27 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of positional capabilities with choose. -->
<xsl:template match="letters">
<out>
<xsl:apply-templates select="letter"/>
</out>
</xsl:template>
<xsl:template match="letter">
<xsl:choose>
<xsl:when test="position()=1">
<xsl:text>First: </xsl:text><xsl:value-of
select="."/><xsl:text>+</xsl:text>
</xsl:when>
<xsl:when test="position()=last()">
<xsl:text>+Last: </xsl:text><xsl:value-of select="."/>
</xsl:when>
<xsl:when test="position()=ceiling(last() div 2)">
<xsl:text>-Middle: </xsl:text><xsl:value-of
select="."/><xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position28.xml
Index: position28.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position28.xsl
Index: position28.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS28 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing with wildcard. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[4]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position29.xml
Index: position29.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position29.xsl
Index: position29.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS29 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing with wildcard. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[3]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position30.xml
Index: position30.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position30.xsl
Index: position30.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS30 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing with wildcard. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[1]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position31.xml
Index: position31.xml
===================================================================
<?xml version="1.0"?>
<items>
<bracket group="1">left front</bracket>
<button group="1">momentary</button>
<button group="1">toggle</button>
<dial group="1">source select</dial>
<button group="2">power switch</button>
<light group="2">main panel</light>
<light group="2">selector</light>
<bracket group="1">right front</bracket>
<bracket group="2">top inner</bracket>
<dial group="1">output select</dial>
<dial group="3">frequency</dial>
<dial group="3">voltage</dial>
<light group="1">power</light>
<light group="2">safety</light>
</items>
1.1 xml-xalan/test/tests/conf/position/position31.xsl
Index: position31.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS31 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of position() with a sibling axis. -->
<xsl:template match="items">
<out>
<xsl:apply-templates/>
</out>
</xsl:template>
<xsl:template match="sfdhd">
<xsl:text>Pos</xsl:text><xsl:value-of select="position()"/><xsl:text>
G</xsl:text><xsl:value-of select="@group"/><xsl:text>- </xsl:text><xsl:value-of
select="."/>
</xsl:template>
<xsl:template match="bracket|button|dial|light">
<xsl:choose>
<xsl:when test="position()=2"><!-- Have to skip interstitial text -->
<xsl:text>Group: </xsl:text><xsl:value-of select="@group"/><xsl:text>
</xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of
select="name(.)"/>
</xsl:when>
<xsl:when test="@group != preceding-sibling::*[1]/@group">
<xsl:text>Group: </xsl:text><xsl:value-of select="@group"/><xsl:text>
</xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of
select="name(.)"/>
</xsl:when>
<xsl:otherwise>
<xsl:text> </xsl:text><xsl:value-of select="."/><xsl:text>
</xsl:text><xsl:value-of select="name(.)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position32.xml
Index: position32.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>1191</num>
</a>
<a>
<num>263</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>827</num>
</a>
<a>
<num>256</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position32.xsl
Index: position32.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS32 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function with wildcard and attribute
test. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED] and position()=7]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position33.xml
Index: position33.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>1191</num>
</a>
<a>
<num>263</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>827</num>
</a>
<a>
<num>256</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position33.xsl
Index: position33.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS33 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function with wildcard and attribute
test. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED] and position()=1]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position34.xml
Index: position34.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>1191</num>
</a>
<a>
<num>263</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>827</num>
</a>
<a>
<num>256</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position34.xsl
Index: position34.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS34 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' function with wildcard and attribute
test. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED] and position()=4]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position35.xml
Index: position35.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>1191</num>
</a>
<a>
<num>263</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>827</num>
</a>
<a>
<num>256</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position35.xsl
Index: position35.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS35 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' in 2nd predicate. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED]()=3]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position36.xml
Index: position36.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>1191</num>
</a>
<a>
<num>263</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>827</num>
</a>
<a>
<num>256</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position36.xsl
Index: position36.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS36 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' in 2nd predicate. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED]()=1]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position37.xml
Index: position37.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2<a>under2</a>2.5</a>
<b>3<a>under3</a>3.5</b>
<b>4<c>under4</c>4.5<a>under4.5</a>4.9</b>
<b>5<c>5.1<a>under5</a>5.5</c>5.9</b>
<b>6<c>6.1<d>6.3</d><a>under6.5</a><d>6.7</d>6.8</c>6.9</b>
<a>7<c>7.1<a>under7</a>7.5</c>7.9</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position37.xsl
Index: position37.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS37 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of position() in a for-each node set. -->
<xsl:template match="doc">
<out>
<xsl:for-each select=".//a">
<xsl:value-of select="position()"/>
<xsl:text>. </xsl:text>
<xsl:choose>
<xsl:when test="count(./*)=0">
<xsl:value-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="text()[1]"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>
</xsl:text>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position38.xml
Index: position38.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>1191</num>
</a>
<a>
<num>263</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>827</num>
</a>
<a>
<num>256</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position38.xsl
Index: position38.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS38 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing (shorthand) in 2nd predicate. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position39.xml
Index: position39.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>1191</num>
</a>
<a>
<num>263</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>827</num>
</a>
<a>
<num>256</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position39.xsl
Index: position39.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS39 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing in 2nd predicate. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position40.xml
Index: position40.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>1191</num>
</a>
<a>
<num>263</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>827</num>
</a>
<a>
<num>256</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position40.xsl
Index: position40.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS40 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing in 2nd predicate. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="[EMAIL PROTECTED]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position41.xml
Index: position41.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1<b>under1</b>1.5</a>
<a>2<b>under2</b>2.5</a>
<a>3<b>under3</b>3.5<b>under3.5</b>3.9</a>
<a>4<c>under4</c>4.5<b>under4.5</b>4.9</a>
<a>5<b>under5</b>5.5<x>under5.5</x>5.9</a>
<a>6<b>under6</b>6.5<c>under6.5</c>6.9</a>
<a>7<b>under7</b>7.5</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position41.xsl
Index: position41.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS41 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of position() in a for-each node set involving parent
axis. -->
<xsl:template match="doc">
<out>
<xsl:apply-templates select="a/x"/>
</out>
</xsl:template>
<xsl:template match="x">
<xsl:text>From the x node...
</xsl:text>
<xsl:for-each select="../../a/b[1]">
<xsl:if test="position() >= 2 and position() <= 6">
<xsl:value-of select="."/>
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position42.xml
Index: position42.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position42.xsl
Index: position42.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS42 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' when used with xsl:key. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','false')[position()=2]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position43.xml
Index: position43.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position43.xsl
Index: position43.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS43 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' when used with xsl:key. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','true')[position()=1]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position44.xml
Index: position44.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position44.xsl
Index: position44.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS44 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' when used with xsl:key. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','false')[position()=1]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position45.xml
Index: position45.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position45.xsl
Index: position45.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS45 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing when used with xsl:key. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','true')[4]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position46.xml
Index: position46.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position46.xsl
Index: position46.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS46 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing when used with xsl:key. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','true')[3]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position47.xml
Index: position47.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position47.xsl
Index: position47.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS47 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing when used with xsl:key. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','true')[1]/num"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position48.xml
Index: position48.xml
===================================================================
<doc>
<alpha key="a">
<z>5</z>
</alpha>
<alpha key="b">
<b>3</b>
<z>9</z>
</alpha>
<alpha key="c">
<z>2</z>
</alpha>
<alpha key="d">
<z>4</z>
<z>12</z>
</alpha>
<alpha key="e">
<z>6</z>
<z>11</z>
<z>1</z>
</alpha>
<alpha key="f">
<z>3</z>
<f>8</f>
</alpha>
<alpha key="g">
<z>7</z>
<g>1</g>
<z>10</z>
</alpha>
</doc>
1.1 xml-xalan/test/tests/conf/position/position48.xsl
Index: position48.xsl
===================================================================
<?xml version="1.0" encoding="iso-8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS48 -->
<!-- Document: http://www.w3.org/TR/xslt -->
<!-- DocVersion: 19991116 -->
<!-- Section: 10 -->
<!-- Purpose: Test position predicate on sort key. -->
<xsl:template match="doc">
<out>Order should be cfdaegb...
<xsl:for-each select="alpha">
<xsl:sort select="z[1]" data-type="number"/>
<xsl:value-of select="@key"/>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position49.xml
Index: position49.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position49.xsl
Index: position49.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS49 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of positional indexing when used with xsl:key and
xsl:apply-templates. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:apply-templates select="key('k','true')[4]/num"/>
</out>
</xsl:template>
<xsl:template match="num">
<B><xsl:value-of select="."/></B>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position50.xml
Index: position50.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position50.xsl
Index: position50.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS50 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' when used with xsl:key and
xsl:apply-templates. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:apply-templates select="key('k','true')[3]/num"/>
</out>
</xsl:template>
<xsl:template match="num">
<B><xsl:value-of select="."/></B>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position51.xml
Index: position51.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>7</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position51.xsl
Index: position51.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS51 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'position()' when used with xsl:key and
xsl:apply-templates. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:apply-templates select="key('k','true')[1]/num"/>
</out>
</xsl:template>
<xsl:template match="num">
<B><xsl:value-of select="."/></B>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position52.xml
Index: position52.xml
===================================================================
<doc>
<alpha key="a">
<z>5</z>
</alpha>
<alpha key="b">
<b>3</b>
<z>9</z>
</alpha>
<alpha key="c">
<z>2</z>
<z>5</z>
</alpha>
<alpha key="d">
<z>4</z>
<z>12</z>
<z>5</z>
</alpha>
<alpha key="e">
<z>6</z>
<z>11</z>
<e>1</e>
</alpha>
<alpha key="f">
<f>8</f>
<z>4</z>
<z>3</z>
<z>8</z>
</alpha>
<alpha key="g">
<z>7</z>
<g>1</g>
<z>10</z>
</alpha>
<alpha key="h">
<h>1</h>
<z>9</z>
<h>4</h>
</alpha>
</doc>
1.1 xml-xalan/test/tests/conf/position/position52.xsl
Index: position52.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS52 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of count() on a set filtered by position. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="count(*/z[2])"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position53.xml
Index: position53.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position53.xsl
Index: position53.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS53 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of count() with attribute wildcard. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="count(a/@*)"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position54.xml
Index: position54.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">
<num>1</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>2</num>
</a>
<a>
<num>5</num>
</a>
<a test="false">
<num>5</num>
</a>
<a test="true">
<num>3</num>
</a>
<a test="true">
<num>4</num>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position54.xsl
Index: position54.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS54 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of count() of wildcarded attribute axis, long-form
notation. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="count(a/attribute::*)"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position55.xml
Index: position55.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">a</a>
<a>b</a>
<a test="false">c</a>
<a test="true">d</a>
<a>e</a>
<a test="false">f</a>
<a test="true">g</a>
<a test="false">h</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position55.xsl
Index: position55.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS55 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()'. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[last()]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position56.xml
Index: position56.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">a</a>
<a>b</a>
<a test="false">c</a>
<a test="true">d</a>
<a>e</a>
<a test="false">f</a>
<a test="true">g</a>
<a test="false">h</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position56.xsl
Index: position56.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS56 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()' with keys. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','true')[last()=position()]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position57.xml
Index: position57.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">a</a>
<a>b</a>
<a test="false">c</a>
<a test="true">d</a>
<a>e</a>
<a test="false">f</a>
<a test="true">g</a>
<a test="false">h</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position57.xsl
Index: position57.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS57 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()'. -->
<xsl:key name="k" match="a" use="@test"/>
<xsl:key name="k2" match="a" use="num"/>
<xsl:template match="doc">
<out>
<xsl:value-of select="key('k','true')[last()]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position58.xml
Index: position58.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">a</a>
<a>b</a>
<a test="false">c</a>
<a test="true">d</a>
<a>e</a>
<a test="false">f</a>
<a test="true">g</a>
<a test="false">h</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position58.xsl
Index: position58.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS58 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()'. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[not(@test)][last()=position()]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position59.xml
Index: position59.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">a</a>
<a>b</a>
<a test="false">c</a>
<a test="true">d</a>
<a>e</a>
<a test="false">f</a>
<a test="true">g</a>
<a test="false">h</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position59.xsl
Index: position59.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS59 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of 'last()'. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="*[not(@test)][last()]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position60.xml
Index: position60.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position60.xsl
Index: position60.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS60 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of greater-than with position(). -->
<xsl:template match="doc">
<out>
<xsl:for-each select="a[position()>2]">
<xsl:value-of select="."/>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position61.xml
Index: position61.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position61.xsl
Index: position61.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS61 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of less-than with position(). -->
<xsl:template match="doc">
<out>
<xsl:for-each select="a[position()<3]">
<xsl:value-of select="."/>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position62.xml
Index: position62.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position62.xsl
Index: position62.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS62 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of greater-than-or-equal-to with position(). -->
<xsl:template match="doc">
<out>
<xsl:for-each select="a[position()>=2]">
<xsl:value-of select="."/>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position63.xml
Index: position63.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position63.xsl
Index: position63.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS63 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of less-than-or-equal-to with position(). -->
<xsl:template match="doc">
<out>
<xsl:for-each select="a[position() <=3]">
<xsl:value-of select="."/>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position64.xml
Index: position64.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position64.xsl
Index: position64.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS64 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of not-equal-to with position(). -->
<xsl:template match="doc">
<out>
<xsl:for-each select="a[position()!=2]">
<xsl:value-of select="."/>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position65.xml
Index: position65.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position65.xsl
Index: position65.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS65 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of a numeric formula in positional indexing. -->
<xsl:template match="doc">
<out>
<xsl:for-each select="a[3-2]">
<xsl:value-of select="."/>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position66.xml
Index: position66.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position66.xsl
Index: position66.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS66 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19990922 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of zero in positional indexing. -->
<xsl:template match="doc">
<out>
<xsl:for-each select="a[0]">
<xsl:value-of select="."/>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position67.xml
Index: position67.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position67.xsl
Index: position67.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS67 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of number function to make positional indexing definite.
-->
<xsl:template match="doc">
<out>
<xsl:value-of select="a[number('3')]"/>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position68.xml
Index: position68.xml
===================================================================
<?xml version="1.0"?>
<metadata>
<keyword tag="ticker" value="MSFT"/>
<keyword tag="sector" value="unitedstates"/>
<keyword tag="ticker" value="IBM"/>
<keyword tag="ticker" value="Lotus"/>
<SUMMARY>tetettete</SUMMARY>
<CLASSIFICATION state="immediate"/>
<IPTYPE_REF majorName="Earn" minorName="announcement"/>
</metadata>
1.1 xml-xalan/test/tests/conf/position/position68.xsl
Index: position68.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: pos68 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test positional indexing with predicated nodesets. -->
<xsl:template match="metadata">
<out>
<xsl:for-each select="[EMAIL PROTECTED]'ticker']">
<xsl:value-of select="@value"/>
<xsl:value-of select="position()"/>
<xsl:value-of select="last()"/>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:for-each>
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position69.xml
Index: position69.xml
===================================================================
<?xml version="1.0"?>
<metadata>
<keyword tag="ticker" value="MSFT"/>
<keyword tag="sector" value="unitedstates"/>
<keyword tag="ticker" value="IBM"/>
<keyword tag="ticker" value="Lotus"/>
<SUMMARY>tetettete</SUMMARY>
<CLASSIFICATION state="immediate"/>
<IPTYPE_REF majorName="Earn" minorName="announcement"/>
</metadata>
1.1 xml-xalan/test/tests/conf/position/position69.xsl
Index: position69.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: pos69 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test positional indexing with predicated nodesets. -->
<xsl:template match="metadata">
<out>
<xsl:text>
</xsl:text>
<xsl:for-each select="[EMAIL PROTECTED]'ticker']">
<xsl:sort select="@value"/>
<xsl:value-of select="@value"/>
<xsl:value-of select="position()"/>
<xsl:value-of select="last()"/>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:for-each>
<xsl:text>
</xsl:text>
<xsl:apply-templates select="[EMAIL PROTECTED]'ticker']">
<xsl:sort select="@value"/>
</xsl:apply-templates>
<xsl:text>
</xsl:text>
</out>
</xsl:template>
<xsl:template match="keyword">
<xsl:value-of select="@value"/>
<xsl:value-of select="position()"/>
<xsl:value-of select="last()"/>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position70.xml
Index: position70.xml
===================================================================
<?xml version="1.0"?>
<doc att="top">
<!-- This is the 1st comment -->
text-in-doc
<inner>
inner-text
<!-- This is the 2nd comment -->
<sub>subtext</sub>
text-after
</inner>
text-in-doc2
<inner2 blat="bar">
<sub>subtext</sub>final-text
</inner2>
</doc>
1.1 xml-xalan/test/tests/conf/position/position70.xsl
Index: position70.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS70 -->
<!-- Document: http://www.w3.org/TR/xslt -->
<!-- DocVersion: 19991116 -->
<!-- Section: 5.4 -->
<!-- Purpose: Test that set of nodes changes when strip-space is in effect.
-->
<!-- "The xsl:apply-templates instruction processes all children of the
current node,
including text nodes. However, text nodes that have been stripped as
specified
in 3.4 Whitespace Stripping will not be processed." -->
<xsl:strip-space elements="doc inner inner2"/>
<xsl:template match="/doc">
<out>
<xsl:apply-templates select="*|@*|comment()|text()"/>
</out>
</xsl:template>
<xsl:template match="*"><!-- for child elements -->
<xsl:text>E(</xsl:text>
<xsl:value-of select="position()"/>
<xsl:text>):</xsl:text>
<xsl:value-of select="name()"/>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="@*">
<!-- The parser has freedom to present attributes in any order it wants.
Input file should have only one attribute if you want consistent results
across parsers. -->
<xsl:text>A(</xsl:text>
<xsl:value-of select="position()"/>
<xsl:text>):</xsl:text>
<xsl:value-of select="name()"/>
</xsl:template>
<xsl:template match="text()">
<xsl:text>T(</xsl:text>
<xsl:value-of select="position()"/>
<xsl:text>):</xsl:text>
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="comment()">
<xsl:text>C(</xsl:text>
<xsl:value-of select="position()"/>
<xsl:text>):</xsl:text>
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position71.xml
Index: position71.xml
===================================================================
<?xml version="1.0"?>
<?a-pi some data?>
<?b-pi some data?>
<doc>
test
</doc>
<?c-pi some data?>
1.1 xml-xalan/test/tests/conf/position/position71.xsl
Index: position71.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS71 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test that position test can be applied to PI nodes. -->
<xsl:template match="/">
<out>
<xsl:apply-templates select="./processing-instruction()[2]"/>
</out>
</xsl:template>
<xsl:template match="processing-instruction()">
<xsl:text>Found PI: </xsl:text><xsl:value-of select="name()"/>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position72.xml
Index: position72.xml
===================================================================
<?xml version="1.0"?>
<doc>OUTER
<a>1
<b>1.1
<c>1.2
<d>1.3
<e>1.4
<f>HERE
</f>1.5
</e>1.6
</d>1.7
</c>1.8
</b>1.9
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position72.xsl
Index: position72.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS72 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of position() and the ancestor-or-self axis. -->
<xsl:template match="doc">
<out>
<xsl:apply-templates select=".//f"/>
</out>
</xsl:template>
<xsl:template match="f">
<xsl:value-of select="ancestor-or-self::*[1]/text()"/>
<xsl:value-of select="ancestor-or-self::*[2]/text()"/>
<xsl:value-of select="ancestor-or-self::*[3]/text()"/>
<xsl:value-of select="ancestor-or-self::*[4]/text()"/>
<xsl:value-of select="ancestor-or-self::*[5]/text()"/>
<xsl:value-of select="ancestor-or-self::*[6]/text()"/>
<xsl:value-of select="ancestor-or-self::*[7]/text()"/>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position73.xml
Index: position73.xml
===================================================================
<?xml version="1.0"?>
<doc>OUTER
<a>1
<b>1.1
<c>1.2
<d>1.3
<e>1.4
<f>HERE
</f>1.5
</e>1.6
</d>1.7
</c>1.8
</b>1.9
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position73.xsl
Index: position73.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS73 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of position() and for-each resetting the frame of
reference of a node-set. -->
<xsl:template match="doc">
<out>
<xsl:apply-templates select=".//f"/>
</out>
</xsl:template>
<xsl:template match="f">
<xsl:for-each select="ancestor-or-self::*">
<xsl:value-of select="position()"/>
<xsl:text>. </xsl:text>
<xsl:choose>
<xsl:when test="count(./*)=0">
<xsl:value-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="text()[1]"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position74.xml
Index: position74.xml
===================================================================
<?xml version="1.0"?>
<doc><a><b><c><d><e><f>HERE</f>
<g>we </g>
<h>found
<i>the </i>
<j>rest
<k>of
<l>the </l>
<m>tree</m>
that
</k>we
</j>wanted
</h>
</e>
</d>
</c>
</b>
</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position74.xsl
Index: position74.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS74 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 2.4 -->
<!-- Purpose: Test of position() and for-each resetting the frame of
reference of a node-set. -->
<xsl:template match="doc">
<out>
<xsl:apply-templates select=".//f"/>
</out>
</xsl:template>
<xsl:template match="f">
<xsl:value-of select="text()[1]"/><xsl:text>
</xsl:text>
<xsl:for-each select="following::*">
<xsl:value-of select="position()"/>
<xsl:text>. </xsl:text>
<xsl:choose>
<xsl:when test="count(./*)=0">
<xsl:value-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="text()[1]"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position75.xml
Index: position75.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<doc>
<a test="true">A1<b>B1</b>A2<!-- This is the 1st comment -->A3<b>B2</b>
A4<!-- This is the 2nd comment -->A5</a>
</doc>
1.1 xml-xalan/test/tests/conf/position/position75.xsl
Index: position75.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS75 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of last() on various sets of children. -->
<xsl:template match="doc">
<out>
<xsl:value-of select="a/*[last()]"/>,
<xsl:value-of select="a/child::*[last()]"/>,
<xsl:value-of select="a/descendant::*[last()]"/>;
<xsl:value-of select="a/child::node()[last()]"/>,
<xsl:value-of select="a/child::text()[last()]"/>;
<xsl:value-of select="a/child::comment()[last()]"/>,
</out>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position76.xml
Index: position76.xml
===================================================================
<?xml version="1.0"?>
<doc>
<item xmlns:bdd="http://buster.com"/>
</doc>
1.1 xml-xalan/test/tests/conf/position/position76.xsl
Index: position76.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- FileName: POS76 -->
<!-- Document: http://www.w3.org/TR/xpath -->
<!-- DocVersion: 19991116 -->
<!-- Section: 4.1 -->
<!-- Purpose: Test of position() with namespace axis. -->
<!-- The XML parser has freedom to present namespaces in any order it wants.
Nevertheless, the position() function should work on this axis, not
raise an error.
The input should have only one namespace if you want consistent results
across parsers. -->
<xsl:template match="doc">
<out>
<xsl:apply-templates/>
</out>
</xsl:template>
<xsl:template match="item">
<xsl:value-of select="name(namespace::*[1])"/>
</xsl:template>
</xsl:stylesheet>
1.1 xml-xalan/test/tests/conf/position/position77.xml
Index: position77.xml
===================================================================
<?xml version="1.0"?>
<metadata>
<keyword majorName="Earn"/>
<keyword tag="ticker" value="MSFT"/>
<keyword tag="sector" value="unitedstates"/>
<keyword tag="ticker" value="IBM"/>
<keyword tag="ticker" value="Lotus"/>
<CLASSIFICATION value="immediate"/>
<keyword tag="sector" value="automotive">
<keyword tag="ticker" value="GM"/>
<keyword tag="ticker" value="F"/>
<keyword tag="ticker" value="C"/>
</keyword>
<IPTYPE_REF majorName="Earn" value="announcement"/>
</metadata>
1.1 xml-xalan/test/tests/conf/position/position01.xml
Index: position01.xml
===================================================================
<?xml version="1.0"?>
<doc>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</doc>