1<?xml version="1.0"?> 2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 3 4 <!-- FileName: idkey42 --> 5 <!-- Document: http://www.w3.org/TR/xslt --> 6 <!-- DocVersion: 19991116 --> 7 <!-- Section: 5.2 --> 8 <!-- Creator: David Marston --> 9 <!-- Purpose: Find all text under IDed node and apply predicate, via match pattern. --> 10 11<xsl:strip-space elements="a b c"/> 12 13<xsl:template match="/"> 14 <out> 15 <xsl:apply-templates select="doc/a//text()"/> 16 <xsl:text> </xsl:text> 17 </out> 18</xsl:template> 19 20<xsl:template match="id('id2')/*[name()='b']/text()" priority="2"> 21 <xsl:text> </xsl:text> 22 <bee><xsl:value-of select="../@id"/></bee> 23</xsl:template> 24 25<xsl:template match="id('id2')//text()"> 26 <xsl:text> </xsl:text> 27 <x><xsl:value-of select="../@id"/></x> 28</xsl:template> 29 30<xsl:template match="text()"> 31 <xsl:text> </xsl:text> 32 <other><xsl:value-of select="."/></other> 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