xref: /aosp_15_r20/external/apache-xml/test/tests/extensions/library/libraryNodeset01.xsl (revision 1212f9a0ffdc28482b8821715d2222bf16dc14e2)
1*1212f9a0SAndroid Build Coastguard Worker<?xml version="1.0"?>
2*1212f9a0SAndroid Build Coastguard Worker<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
3*1212f9a0SAndroid Build Coastguard Worker                xmlns:cextend="http://xml.apache.org/xalan"
4*1212f9a0SAndroid Build Coastguard Worker		        xmlns:test="http://www.cnn.com"
5*1212f9a0SAndroid Build Coastguard Worker        		xmlns:default="http://www.hello.com"
6*1212f9a0SAndroid Build Coastguard Worker                exclude-result-prefixes="test default cextend">
7*1212f9a0SAndroid Build Coastguard Worker
8*1212f9a0SAndroid Build Coastguard Worker  <!-- FileName: libraryNodeset01 -->
9*1212f9a0SAndroid Build Coastguard Worker  <!-- Document: http://www.w3.org/TR/xslt -->
10*1212f9a0SAndroid Build Coastguard Worker  <!-- DocVersion: 19991116 -->
11*1212f9a0SAndroid Build Coastguard Worker  <!-- Section: 14 Extensions -->
12*1212f9a0SAndroid Build Coastguard Worker  <!-- Purpose: Testing Lotus-specific extension "Nodeset". -->
13*1212f9a0SAndroid Build Coastguard Worker
14*1212f9a0SAndroid Build Coastguard Worker<xsl:strip-space elements="*"/>
15*1212f9a0SAndroid Build Coastguard Worker<xsl:output indent="yes"/>
16*1212f9a0SAndroid Build Coastguard Worker
17*1212f9a0SAndroid Build Coastguard Worker<xsl:template match="/">
18*1212f9a0SAndroid Build Coastguard Worker   <out>
19*1212f9a0SAndroid Build Coastguard Worker	  <xsl:variable name="rtf">
20*1212f9a0SAndroid Build Coastguard Worker		<docelem xmlns="http://www.hello.com" xmlns:test="http://www.cnn.com">
21*1212f9a0SAndroid Build Coastguard Worker			<elem1>
22*1212f9a0SAndroid Build Coastguard Worker				<elem1a>ELEMENT1A</elem1a>
23*1212f9a0SAndroid Build Coastguard Worker				<elem1b>,ELEMENT1B</elem1b>
24*1212f9a0SAndroid Build Coastguard Worker			</elem1>
25*1212f9a0SAndroid Build Coastguard Worker			<elem2>
26*1212f9a0SAndroid Build Coastguard Worker				<elem2a>ELEMENT2A</elem2a>
27*1212f9a0SAndroid Build Coastguard Worker				<elem2b/>
28*1212f9a0SAndroid Build Coastguard Worker			</elem2>
29*1212f9a0SAndroid Build Coastguard Worker			<elem3>1</elem3>
30*1212f9a0SAndroid Build Coastguard Worker			<elem3>2</elem3>
31*1212f9a0SAndroid Build Coastguard Worker			<test:elem3/>
32*1212f9a0SAndroid Build Coastguard Worker			<elem3>4</elem3>
33*1212f9a0SAndroid Build Coastguard Worker			<elem3>5</elem3>
34*1212f9a0SAndroid Build Coastguard Worker			<elem4>Yahoo</elem4>
35*1212f9a0SAndroid Build Coastguard Worker		</docelem>
36*1212f9a0SAndroid Build Coastguard Worker		<docelem>
37*1212f9a0SAndroid Build Coastguard Worker			<elem1>
38*1212f9a0SAndroid Build Coastguard Worker				<elem2>
39*1212f9a0SAndroid Build Coastguard Worker					<elem3 attr1="A" attr2="B" attr3="C">Whooa</elem3>
40*1212f9a0SAndroid Build Coastguard Worker					<elem3 attr1="Z" attr2="Y" attr3="X">Aoohw</elem3>
41*1212f9a0SAndroid Build Coastguard Worker				</elem2>
42*1212f9a0SAndroid Build Coastguard Worker			</elem1>
43*1212f9a0SAndroid Build Coastguard Worker		</docelem>
44*1212f9a0SAndroid Build Coastguard Worker	  </xsl:variable>
45*1212f9a0SAndroid Build Coastguard Worker
46*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="Count">
47*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:value-of select="count(cextend:nodeset($rtf)/default:docelem/default:elem3)"/>
48*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
49*1212f9a0SAndroid Build Coastguard Worker
50*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="Sum">
51*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:value-of select="sum(cextend:nodeset($rtf)/default:docelem/default:elem3)"/>
52*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
53*1212f9a0SAndroid Build Coastguard Worker
54*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="Number">
55*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:value-of select="number(cextend:nodeset($rtf)/default:docelem/default:elem3[2])"/>
56*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
57*1212f9a0SAndroid Build Coastguard Worker
58*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="Name">
59*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:value-of select="name(cextend:nodeset($rtf)/*)"/>
60*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
61*1212f9a0SAndroid Build Coastguard Worker
62*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="Local-name">
63*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:value-of select="local-name(cextend:nodeset($rtf)/*)"/>
64*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
65*1212f9a0SAndroid Build Coastguard Worker
66*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="Namespace-URIs">
67*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:attribute name="uri1">
68*1212f9a0SAndroid Build Coastguard Worker	  		<xsl:value-of select="namespace-uri(cextend:nodeset($rtf)/default:docelem)"/>
69*1212f9a0SAndroid Build Coastguard Worker	  	</xsl:attribute>
70*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:attribute name="uri2">
71*1212f9a0SAndroid Build Coastguard Worker	  		<xsl:value-of select="namespace-uri(cextend:nodeset($rtf)/default:docelem/default:elem1)"/>
72*1212f9a0SAndroid Build Coastguard Worker	  	</xsl:attribute>
73*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:attribute name="uri3">
74*1212f9a0SAndroid Build Coastguard Worker	  		<xsl:value-of select="namespace-uri(cextend:nodeset($rtf)/default:docelem/test:elem3)"/>
75*1212f9a0SAndroid Build Coastguard Worker	  	</xsl:attribute>
76*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
77*1212f9a0SAndroid Build Coastguard Worker
78*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="Value-DOCELEM-Elem1">
79*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:value-of select="cextend:nodeset($rtf)/default:docelem/default:elem1"/>
80*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
81*1212f9a0SAndroid Build Coastguard Worker
82*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="FE-DOCELEM-STAR">
83*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:for-each select="cextend:nodeset($rtf)/default:docelem/*">
84*1212f9a0SAndroid Build Coastguard Worker		  <xsl:value-of select="name(.)"/><xsl:text> </xsl:text>
85*1212f9a0SAndroid Build Coastguard Worker	  	</xsl:for-each>
86*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
87*1212f9a0SAndroid Build Coastguard Worker
88*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="FE-DOCELEM-ELEM2-STAR">
89*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:for-each select="cextend:nodeset($rtf)/default:docelem/default:elem2/*">
90*1212f9a0SAndroid Build Coastguard Worker		  <xsl:value-of select="name(.)"/><xsl:text> </xsl:text>
91*1212f9a0SAndroid Build Coastguard Worker	  	</xsl:for-each>
92*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
93*1212f9a0SAndroid Build Coastguard Worker
94*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="AT-DOCELEM-ELEM4">
95*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:apply-templates select="cextend:nodeset($rtf)/default:docelem/default:elem4"/>
96*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
97*1212f9a0SAndroid Build Coastguard Worker
98*1212f9a0SAndroid Build Coastguard Worker	  <xsl:element name="Copy-of-ELEM1B">
99*1212f9a0SAndroid Build Coastguard Worker	  	<xsl:copy-of select="cextend:nodeset($rtf)/default:docelem/default:elem1/default:elem1b"/>
100*1212f9a0SAndroid Build Coastguard Worker	  </xsl:element>
101*1212f9a0SAndroid Build Coastguard Worker
102*1212f9a0SAndroid Build Coastguard Worker   </out>
103*1212f9a0SAndroid Build Coastguard Worker</xsl:template>
104*1212f9a0SAndroid Build Coastguard Worker
105*1212f9a0SAndroid Build Coastguard Worker<xsl:template match="default:elem4">
106*1212f9a0SAndroid Build Coastguard Worker	  <xsl:value-of select="."/>
107*1212f9a0SAndroid Build Coastguard Worker</xsl:template>
108*1212f9a0SAndroid Build Coastguard Worker
109*1212f9a0SAndroid Build Coastguard Worker
110*1212f9a0SAndroid Build Coastguard Worker  <!--
111*1212f9a0SAndroid Build Coastguard Worker   * Licensed to the Apache Software Foundation (ASF) under one
112*1212f9a0SAndroid Build Coastguard Worker   * or more contributor license agreements. See the NOTICE file
113*1212f9a0SAndroid Build Coastguard Worker   * distributed with this work for additional information
114*1212f9a0SAndroid Build Coastguard Worker   * regarding copyright ownership. The ASF licenses this file
115*1212f9a0SAndroid Build Coastguard Worker   * to you under the Apache License, Version 2.0 (the  "License");
116*1212f9a0SAndroid Build Coastguard Worker   * you may not use this file except in compliance with the License.
117*1212f9a0SAndroid Build Coastguard Worker   * You may obtain a copy of the License at
118*1212f9a0SAndroid Build Coastguard Worker   *
119*1212f9a0SAndroid Build Coastguard Worker   *     http://www.apache.org/licenses/LICENSE-2.0
120*1212f9a0SAndroid Build Coastguard Worker   *
121*1212f9a0SAndroid Build Coastguard Worker   * Unless required by applicable law or agreed to in writing, software
122*1212f9a0SAndroid Build Coastguard Worker   * distributed under the License is distributed on an "AS IS" BASIS,
123*1212f9a0SAndroid Build Coastguard Worker   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124*1212f9a0SAndroid Build Coastguard Worker   * See the License for the specific language governing permissions and
125*1212f9a0SAndroid Build Coastguard Worker   * limitations under the License.
126*1212f9a0SAndroid Build Coastguard Worker  -->
127*1212f9a0SAndroid Build Coastguard Worker
128*1212f9a0SAndroid Build Coastguard Worker</xsl:stylesheet>
129