summaryrefslogtreecommitdiff
path: root/tests/XSLTMark/dbsql500.xsl
blob: c2179648e1a7b14b8f3cc7cd77002836668814c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="table">
  <document>
    <!-- select * from table where id = ... -->
    <xsl:apply-templates select="row[id=3]"/>
    <xsl:apply-templates select="row[id=13]"/>
    <xsl:apply-templates select="row[id=23]"/>
    <xsl:apply-templates select="row[id=33]"/>
    <xsl:apply-templates select="row[id=43]"/>
    <xsl:apply-templates select="row[id=53]"/>
    <xsl:apply-templates select="row[id=63]"/>
    <xsl:apply-templates select="row[id=73]"/>
    <xsl:apply-templates select="row[id=83]"/>
    <xsl:apply-templates select="row[id=93]"/>
    <xsl:apply-templates select="row[id=103]"/>
    <xsl:apply-templates select="row[id=113]"/>
    <xsl:apply-templates select="row[id=123]"/>
    <xsl:apply-templates select="row[id=133]"/>
    <xsl:apply-templates select="row[id=143]"/>
    <xsl:apply-templates select="row[id=153]"/>
    <xsl:apply-templates select="row[id=163]"/>
    <xsl:apply-templates select="row[id=173]"/>
    <xsl:apply-templates select="row[id=183]"/>
    <xsl:apply-templates select="row[id=193]"/>
    <xsl:apply-templates select="row[id=203]"/>
    <xsl:apply-templates select="row[id=213]"/>
    <xsl:apply-templates select="row[id=223]"/>
    <xsl:apply-templates select="row[id=233]"/>
    <xsl:apply-templates select="row[id=243]"/>
    <xsl:apply-templates select="row[id=253]"/>
    <xsl:apply-templates select="row[id=263]"/>
    <xsl:apply-templates select="row[id=273]"/>
    <xsl:apply-templates select="row[id=283]"/>
    <xsl:apply-templates select="row[id=293]"/>
    <xsl:apply-templates select="row[id=303]"/>
    <xsl:apply-templates select="row[id=313]"/>
    <xsl:apply-templates select="row[id=323]"/>
    <xsl:apply-templates select="row[id=333]"/>
    <xsl:apply-templates select="row[id=343]"/>
    <xsl:apply-templates select="row[id=353]"/>
    <xsl:apply-templates select="row[id=363]"/>
    <xsl:apply-templates select="row[id=373]"/>
    <xsl:apply-templates select="row[id=383]"/>
    <xsl:apply-templates select="row[id=393]"/>
    <xsl:apply-templates select="row[id=403]"/>
    <xsl:apply-templates select="row[id=413]"/>
    <xsl:apply-templates select="row[id=423]"/>
    <xsl:apply-templates select="row[id=433]"/>
    <xsl:apply-templates select="row[id=443]"/>
    <xsl:apply-templates select="row[id=453]"/>
    <xsl:apply-templates select="row[id=463]"/>
    <xsl:apply-templates select="row[id=473]"/>
    <xsl:apply-templates select="row[id=483]"/>
    <xsl:apply-templates select="row[id=493]"/>
    <!-- select * from table where id > ... and id < ... -->
    <xsl:apply-templates select="row[id&gt;4 and id&lt;8]"/>
    <xsl:apply-templates select="row[id&gt;14 and id&lt;18]"/>
    <xsl:apply-templates select="row[id&gt;24 and id&lt;28]"/>
    <xsl:apply-templates select="row[id&gt;34 and id&lt;38]"/>
    <xsl:apply-templates select="row[id&gt;44 and id&lt;48]"/>
    <xsl:apply-templates select="row[id&gt;54 and id&lt;58]"/>
    <xsl:apply-templates select="row[id&gt;64 and id&lt;68]"/>
    <xsl:apply-templates select="row[id&gt;74 and id&lt;78]"/>
    <xsl:apply-templates select="row[id&gt;84 and id&lt;88]"/>
    <xsl:apply-templates select="row[id&gt;94 and id&lt;98]"/>
    <xsl:apply-templates select="row[id&gt;104 and id&lt;108]"/>
    <xsl:apply-templates select="row[id&gt;114 and id&lt;118]"/>
    <xsl:apply-templates select="row[id&gt;124 and id&lt;128]"/>
    <xsl:apply-templates select="row[id&gt;134 and id&lt;138]"/>
    <xsl:apply-templates select="row[id&gt;144 and id&lt;148]"/>
    <xsl:apply-templates select="row[id&gt;154 and id&lt;158]"/>
    <xsl:apply-templates select="row[id&gt;164 and id&lt;168]"/>
    <xsl:apply-templates select="row[id&gt;174 and id&lt;178]"/>
    <xsl:apply-templates select="row[id&gt;184 and id&lt;188]"/>
    <xsl:apply-templates select="row[id&gt;194 and id&lt;198]"/>
    <xsl:apply-templates select="row[id&gt;204 and id&lt;208]"/>
    <xsl:apply-templates select="row[id&gt;214 and id&lt;218]"/>
    <xsl:apply-templates select="row[id&gt;224 and id&lt;228]"/>
    <xsl:apply-templates select="row[id&gt;234 and id&lt;238]"/>
    <xsl:apply-templates select="row[id&gt;244 and id&lt;248]"/>
    <xsl:apply-templates select="row[id&gt;254 and id&lt;258]"/>
    <xsl:apply-templates select="row[id&gt;264 and id&lt;268]"/>
    <xsl:apply-templates select="row[id&gt;274 and id&lt;278]"/>
    <xsl:apply-templates select="row[id&gt;284 and id&lt;288]"/>
    <xsl:apply-templates select="row[id&gt;294 and id&lt;298]"/>
    <xsl:apply-templates select="row[id&gt;304 and id&lt;308]"/>
    <xsl:apply-templates select="row[id&gt;314 and id&lt;318]"/>
    <xsl:apply-templates select="row[id&gt;324 and id&lt;328]"/>
    <xsl:apply-templates select="row[id&gt;334 and id&lt;338]"/>
    <xsl:apply-templates select="row[id&gt;344 and id&lt;348]"/>
    <xsl:apply-templates select="row[id&gt;354 and id&lt;358]"/>
    <xsl:apply-templates select="row[id&gt;364 and id&lt;368]"/>
    <xsl:apply-templates select="row[id&gt;374 and id&lt;378]"/>
    <xsl:apply-templates select="row[id&gt;384 and id&lt;388]"/>
    <xsl:apply-templates select="row[id&gt;394 and id&lt;398]"/>
    <xsl:apply-templates select="row[id&gt;404 and id&lt;408]"/>
    <xsl:apply-templates select="row[id&gt;414 and id&lt;418]"/>
    <xsl:apply-templates select="row[id&gt;424 and id&lt;428]"/>
    <xsl:apply-templates select="row[id&gt;434 and id&lt;438]"/>
    <xsl:apply-templates select="row[id&gt;444 and id&lt;448]"/>
    <xsl:apply-templates select="row[id&gt;454 and id&lt;458]"/>
    <xsl:apply-templates select="row[id&gt;464 and id&lt;468]"/>
    <xsl:apply-templates select="row[id&gt;474 and id&lt;478]"/>
    <xsl:apply-templates select="row[id&gt;484 and id&lt;488]"/>
    <xsl:apply-templates select="row[id&gt;494 and id&lt;498]"/>
    <!-- select * from table where firstname = 'Bob' -->
    <xsl:apply-templates select="row[firstname='Bob']"/>
    <!-- select firstname, lastname from table where id=... -->
    <xsl:for-each select="row[id mod 10 = 9]">
       <xsl:apply-templates select="firstname"/>
       <xsl:apply-templates select="lastname"/>
    </xsl:for-each>
  </document>
</xsl:template>

<xsl:template match="row">
  <xsl:apply-templates select="id"/>
  <xsl:apply-templates select="firstname"/>
  <xsl:apply-templates select="lastname"/>
  <xsl:apply-templates select="street"/>
  <xsl:apply-templates select="city"/>
  <xsl:apply-templates select="state"/>
  <xsl:apply-templates select="zip"/>
  <xsl:text>&#x0A;</xsl:text>
</xsl:template>

<xsl:template match="id|firstname|lastname|street|city|state|zip">
  <xsl:value-of select="name(.)"/>
  <xsl:text>=</xsl:text>
  <xsl:value-of select="."/>
  <xsl:text>&#x0A;</xsl:text>
</xsl:template>

</xsl:stylesheet>