Home directory for Malawi's wwwroot
Duncan Ewan
2021-02-19 3e758c29e0fde36fc088efcfc88f9a3014432b64
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
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 1995-2005 Macromedia, Inc. All rights reserved. -->
 
<xsl:stylesheet version="1.0"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:cf="http://www.macromedia.com/2004/cfform" 
xmlns:xf="http://www.w3.org/2002/xforms" 
xmlns:html="http://www.w3.org/1999/xhtml" 
exclude-result-prefixes="xsi cf xsl xf html">
 
    <!-- <cfformgroup type="vertical"> -->
    <xsl:template match="xf:group[@appearance='vertical']">
        <xsl:call-template name="vertical"/>
    </xsl:template>
 
 
    <!-- default vertical align group -->
    <xsl:template name="vertical">
        <!-- create a table row for each child -->
        <xsl:element name="div">
            <xsl:attribute name="class">vertical</xsl:attribute>
 
            <xsl:if test="xf:label/text()">
                <xsl:element name="span">
                    <xsl:attribute name="class">cfHeaderTitle</xsl:attribute>
                    <xsl:value-of select="xf:label/text()"/>
                </xsl:element>
            </xsl:if>
            
                                    
            <xsl:for-each select="*[not(self::xf:extension)][not(self::xf:label)]">
 
                <xsl:choose>
                    <!-- child is another group element -->
                    <xsl:when test="self::xf:group">
                        <xsl:apply-templates select="."/>    
                    </xsl:when>
                    <xsl:otherwise>
 
                            <!-- set the correct class for this form Element -->
                            <xsl:choose>
                            
                                <!-- textarea: put the label above the textbox -->
                                <xsl:when test="self::xf:textarea">
                                    <xsl:element name="p">
                                        <xsl:attribute name="class">cfLabelPosTop</xsl:attribute>
                                        <xsl:element name="span"><!-- empty span, mac IE hack -->
                                                                                                    
                                            <!-- element is a form element. So we will set the label and classes -->
                                            <xsl:if test="not (self::xf:group) and not(self::xf:submit) and not(self::xf:trigger)">
                                                <xsl:element name="span">
                                                    <xsl:attribute name="class">cfLabelTitle cfFirstChild</xsl:attribute>
                                                    <xsl:element name="label">
                                                        <xsl:value-of select="xf:label/text()"/>
                                                        <xsl:text> </xsl:text>
                                                    </xsl:element>
                                                </xsl:element>
                                            </xsl:if>
                                    
                                            <xsl:apply-templates select="."/>
                                        </xsl:element>                        
                                    </xsl:element>
                                </xsl:when>
                                
                                <!-- radio: -->
                                <xsl:when test="self::xf:select1[@appearance='full']">
                                    <xsl:for-each select="xf:choices/xf:item">
                                    <xsl:element name="div">
                                        <xsl:attribute name="class">cfLabelPosTop</xsl:attribute>
                                            <xsl:element name="p">
                                                <xsl:call-template name="radio"/>
                                            </xsl:element>
                                    </xsl:element>
                                    </xsl:for-each>
                                </xsl:when>
                                
                                
                                <!-- checkbox: -->
                                <xsl:when test="self::xf:select[@appearance='full']">
                
                                    <xsl:for-each select="xf:choices/xf:item">
                                    <xsl:element name="div">
                                        <xsl:attribute name="class">cfLabelPosTop</xsl:attribute>                                    
                                            <xsl:element name="p">                                                
                                                <xsl:call-template name="checkbox"/>
                                            </xsl:element>
                                    </xsl:element>
                                    </xsl:for-each>
                                    
                                </xsl:when>
                                
                                <xsl:when test="self::form | self::xf:model">
                                    <xsl:apply-templates select="."/>
                                </xsl:when>
 
                                <xsl:otherwise>
                                    <xsl:element name="div">
                                        <xsl:attribute name="class">cfLabelPosTop</xsl:attribute>                                
                                            <xsl:element name="p">
                                                <xsl:element name="span"><!-- empty span, mac IE hack -->
        
                                                        <!-- element is a form element. So we will set the label and classes -->
                                                        <xsl:if test="not (self::xf:group) and not(self::xf:submit) and not(self::xf:trigger)">
                                                            <xsl:element name="span">
                                                                <xsl:variable name="id" select="@id"/>
                                                                <xsl:attribute name="class">cfLabelTitle cfFirstChild <xsl:if test="//form/xf:model/xf:bind[@id = $id]/@required = 'true()'">        cfRequiredLabel</xsl:if></xsl:attribute>
                                                                <xsl:element name="label">        
                                                                    <xsl:value-of select="xf:label/text()"/>
                                                                    <xsl:if test="xf:label/text() = false()">
                                                                    <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
                                                                    </xsl:if>
                                                                </xsl:element>
                                                            </xsl:element>
                                                        </xsl:if>
                                                
                                                        <xsl:apply-templates select="."/>                                        
                                                </xsl:element>
                                            </xsl:element>
                                    </xsl:element>
                                </xsl:otherwise>
                            </xsl:choose>
                            
                    </xsl:otherwise>
                </xsl:choose>                        
            </xsl:for-each>                    
        </xsl:element>    
    </xsl:template>
 
</xsl:stylesheet>