summaryrefslogtreecommitdiff
path: root/tests/XSLTMark/decoy.xsl
blob: 5adb95ba92ecdb55aa3803e1dd00e11884823192 (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
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output encoding="utf-8"/>
<!-- 
       decoy stylesheet is same as patterns.xsl, but has lots of decoy patterns 
       to distract the matching process...
     -->

  <xsl:template match="decoy" priority="2">
    <ERROR>
      <xsl:apply-templates/>
    </ERROR>
  </xsl:template>
  <!--
  <xsl:template match="*/*/*/*/*">
    <ERROR/>
  </xsl:template>
-->
  <xsl:template match="decoy2" priority="-100">
    <ERROR/>
  </xsl:template>
  
  <xsl:template name="decoy">
    <ERROR/>
  </xsl:template>
    
  <xsl:template match="/decoy/*/*/*/*">
    <ERROR/>
  </xsl:template>

  <xsl:template match="/foo/bar/baz/quux">
    <ERROR/>
  </xsl:template>

  <xsl:template match="text()[*/../*/../foobar]">
    <ERROR/>
  </xsl:template>

  <xsl:template match="foobar[../*/../*/baz]">
    <ERROR/>
  </xsl:template>

  <xsl:template match="foobar[3]">
    <ERROR/>
  </xsl:template>

  <xsl:template match="foo|bar|baz|quux|metasyntactic|variable|fubar">
    <ERROR/>
  </xsl:template>

  <xsl:template match="foobar/table/row/id">
    <ERROR/>
  </xsl:template>

  <xsl:template match="table/row[id='abcdefg']" priority="3">
    <ERROR/>
  </xsl:template>

  <xsl:template match="text()[contains(.,'decoy')]">
    <ERROR/>
  </xsl:template>



  <xsl:template match="table/row[6]" priority="5">
    <row6>
      <xsl:apply-templates/>
    </row6>
  </xsl:template>

  <xsl:template match="table/row[id='0091']">
    <id91>
      <xsl:apply-templates/>
    </id91>
  </xsl:template>

  <xsl:template match="//row[firstname='Egon']">
    <egon>
      <xsl:apply-templates/>
    </egon>
  </xsl:template>

  <xsl:template match="table//row[*[.='Aranow']]">
    <aranow>
      <xsl:apply-templates/>
    </aranow>
  </xsl:template>

  <xsl:template match="row" priority="-1">
    <row>
      <xsl:apply-templates/>
    </row>
  </xsl:template>

  <xsl:template match="row[id mod 3 = 2][following-sibling::row[4]/firstname='Bob']">
    <crazy>
      <xsl:apply-templates/>
    </crazy>
  </xsl:template>

  <xsl:template match="id|firstname|lastname|street|city|state|zip">
    <xsl:copy><xsl:value-of select="."/></xsl:copy>
  </xsl:template>

</xsl:stylesheet>