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
|
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Group">
<xsl:apply-templates select="@*|*"/>
</xsl:template>
<xsl:template match="@label"></xsl:template>
<xsl:template match="@id"><xsl:attribute name="id">view_<xsl:value-of select="."/></xsl:attribute></xsl:template>
<xsl:template match="options//@id"><xsl:attribute name="id"><xsl:value-of select="."/></xsl:attribute></xsl:template>
<xsl:template match="options">
<xsl:for-each select="Value">
<xsl:element name="option">
<xsl:apply-templates select="@*"/>
<xsl:value-of select="@label"/>
</xsl:element>
</xsl:for-each>
</xsl:template>
<xsl:template name="onchange_tmpl">
<xsl:attribute name="onchange">
<xsl:text>javascript:</xsl:text>
<xsl:if test="/result/@object">
<xsl:value-of select="/result/@object"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:text>OptionsUpdater('view_</xsl:text><xsl:value-of select="@id"/><xsl:text>', ((this.getAttribute('type') == "checkbox")?this.checked:this.value))</xsl:text>
</xsl:attribute>
</xsl:template>
<xsl:template match="checkbox">
<xsl:if test="@label">
<xsl:value-of select="@label"/>
</xsl:if>
<xsl:element name="input">
<xsl:attribute name="type">checkbox</xsl:attribute>
<xsl:call-template name="onchange_tmpl"/>
<xsl:apply-templates select="*|@*"/>
</xsl:element>
</xsl:template>
<xsl:template match="text">
<xsl:if test="@label">
<xsl:value-of select="@label"/>
</xsl:if>
<xsl:element name="input">
<xsl:attribute name="type">text</xsl:attribute>
<xsl:call-template name="onchange_tmpl"/>
<xsl:apply-templates select="*|@*"/>
</xsl:element>
</xsl:template>
<xsl:template match="input|select">
<xsl:if test="@label">
<xsl:value-of select="@label"/>:
</xsl:if>
<xsl:copy>
<xsl:call-template name="onchange_tmpl"/>
<xsl:apply-templates select="*|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/result">
<div style="white-space:nowrap;">
<xsl:if test="*"><hr style="margin: 1px;"/></xsl:if>
<xsl:if test="//Error">
<span class="error"><xsl:value-of select="//Error"/></span>
</xsl:if>
<xsl:if test="not(//Error)">
<xsl:apply-templates select="*"/>
</xsl:if>
<xsl:if test="*"><hr style="margin: 1px;" /></xsl:if>
</div>
</xsl:template>
</xsl:stylesheet>
|