1<?xml version="1.0" encoding="ISO-8859-1"?> 2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 3 4 <!-- FileName: position74 --> 5 <!-- Document: http://www.w3.org/TR/xpath --> 6 <!-- DocVersion: 19991116 --> 7 <!-- Section: 2.4 --> 8 <!-- Creator: David Marston --> 9 <!-- Purpose: Test of position() and for-each resetting the frame of reference of a node-set. 10 Show position via value-of before going into for-each loop. --> 11 12<xsl:template match="doc"> 13 <out> 14 <xsl:apply-templates select=".//f"/> 15 </out> 16</xsl:template> 17 18<xsl:template match="f"> 19 <xsl:value-of select="text()[1]"/><xsl:text> 20</xsl:text> 21 <xsl:for-each select="following::*"> 22 <xsl:value-of select="position()"/> 23 <xsl:text>. </xsl:text> 24 <xsl:choose> 25 <xsl:when test="count(./*)=0"> 26 <xsl:value-of select="."/> 27 </xsl:when> 28 <xsl:otherwise> 29 <xsl:value-of select="text()[1]"/> 30 </xsl:otherwise> 31 </xsl:choose> 32 </xsl:for-each> 33</xsl:template> 34 35 36 <!-- 37 * Licensed to the Apache Software Foundation (ASF) under one 38 * or more contributor license agreements. See the NOTICE file 39 * distributed with this work for additional information 40 * regarding copyright ownership. The ASF licenses this file 41 * to you under the Apache License, Version 2.0 (the "License"); 42 * you may not use this file except in compliance with the License. 43 * You may obtain a copy of the License at 44 * 45 * http://www.apache.org/licenses/LICENSE-2.0 46 * 47 * Unless required by applicable law or agreed to in writing, software 48 * distributed under the License is distributed on an "AS IS" BASIS, 49 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 50 * See the License for the specific language governing permissions and 51 * limitations under the License. 52 --> 53 54</xsl:stylesheet> 55