Fixes to the PaintWeb cron task.
[moodle/mihaisucan.git] / lib / adodb / xsl / convert-0.2-0.1.xsl
blob61841b4831a684480d1cc0484255a453a3150b97
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5 <xsl:output method="xml" indent="yes" omit-xml-declaration="no" encoding="UTF-8"/>
7 <!-- Schema -->
8 <xsl:template match="/">
9 <xsl:comment>
10 ADODB XMLSchema
11 http://adodb-xmlschema.sourceforge.net
12 </xsl:comment>
14 <xsl:element name="schema">
15 <xsl:attribute name="version">0.1</xsl:attribute>
17 <xsl:apply-templates select="schema/table|schema/sql"/>
18 </xsl:element>
19 </xsl:template>
21 <!-- Table -->
22 <xsl:template match="table">
23 <xsl:variable name="table_name" select="@name"/>
25 <xsl:element name="table">
26 <xsl:attribute name="name"><xsl:value-of select="$table_name"/></xsl:attribute>
28 <xsl:if test="string-length(@platform) > 0">
29 <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
30 </xsl:if>
32 <xsl:if test="string-length(@version) > 0">
33 <xsl:attribute name="version"><xsl:value-of select="@version"/></xsl:attribute>
34 </xsl:if>
36 <xsl:apply-templates select="descr[1]"/>
38 <xsl:choose>
39 <xsl:when test="count(DROP) > 0">
40 <xsl:element name="DROP"/>
41 </xsl:when>
42 <xsl:otherwise>
43 <xsl:apply-templates select="field"/>
44 </xsl:otherwise>
45 </xsl:choose>
47 <xsl:apply-templates select="constraint"/>
49 </xsl:element>
51 <xsl:apply-templates select="index"/>
52 </xsl:template>
54 <!-- Field -->
55 <xsl:template match="field">
56 <xsl:element name="field">
57 <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
58 <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>
60 <xsl:if test="string-length(@size) > 0">
61 <xsl:attribute name="size"><xsl:value-of select="@size"/></xsl:attribute>
62 </xsl:if>
64 <xsl:choose>
65 <xsl:when test="count(PRIMARY) > 0">
66 <xsl:element name="PRIMARY"/>
67 </xsl:when>
68 <xsl:when test="count(KEY) > 0">
69 <xsl:element name="KEY"/>
70 </xsl:when>
71 <xsl:when test="count(NOTNULL) > 0">
72 <xsl:element name="NOTNULL"/>
73 </xsl:when>
74 </xsl:choose>
76 <xsl:choose>
77 <xsl:when test="count(AUTO) > 0">
78 <xsl:element name="AUTO"/>
79 </xsl:when>
80 <xsl:when test="count(AUTOINCREMENT) > 0">
81 <xsl:element name="AUTOINCREMENT"/>
82 </xsl:when>
83 </xsl:choose>
85 <xsl:choose>
86 <xsl:when test="count(DEFAULT) > 0">
87 <xsl:element name="DEFAULT">
88 <xsl:attribute name="value">
89 <xsl:value-of select="DEFAULT[1]/@value"/>
90 </xsl:attribute>
91 </xsl:element>
92 </xsl:when>
93 <xsl:when test="count(DEFDATE) > 0">
94 <xsl:element name="DEFDATE">
95 <xsl:attribute name="value">
96 <xsl:value-of select="DEFDATE[1]/@value"/>
97 </xsl:attribute>
98 </xsl:element>
99 </xsl:when>
100 <xsl:when test="count(DEFTIMESTAMP) > 0">
101 <xsl:element name="DEFDTIMESTAMP">
102 <xsl:attribute name="value">
103 <xsl:value-of select="DEFTIMESTAMP[1]/@value"/>
104 </xsl:attribute>
105 </xsl:element>
106 </xsl:when>
107 </xsl:choose>
109 <xsl:if test="count(NOQUOTE) > 0">
110 <xsl:element name="NOQUOTE"/>
111 </xsl:if>
113 <xsl:apply-templates select="constraint"/>
114 </xsl:element>
115 </xsl:template>
117 <!-- Constraint -->
118 <xsl:template match="constraint">
119 <xsl:element name="constraint">
120 <xsl:value-of select="normalize-space(text())"/>
121 </xsl:element>
122 </xsl:template>
124 <!-- Index -->
125 <xsl:template match="index">
126 <xsl:element name="index">
127 <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
128 <xsl:attribute name="table"><xsl:value-of select="../@name"/></xsl:attribute>
130 <xsl:apply-templates select="descr[1]"/>
132 <xsl:if test="count(CLUSTERED) > 0">
133 <xsl:element name="CLUSTERED"/>
134 </xsl:if>
136 <xsl:if test="count(BITMAP) > 0">
137 <xsl:element name="BITMAP"/>
138 </xsl:if>
140 <xsl:if test="count(UNIQUE) > 0">
141 <xsl:element name="UNIQUE"/>
142 </xsl:if>
144 <xsl:if test="count(FULLTEXT) > 0">
145 <xsl:element name="FULLTEXT"/>
146 </xsl:if>
148 <xsl:if test="count(HASH) > 0">
149 <xsl:element name="HASH"/>
150 </xsl:if>
152 <xsl:choose>
153 <xsl:when test="count(DROP) > 0">
154 <xsl:element name="DROP"/>
155 </xsl:when>
156 <xsl:otherwise>
157 <xsl:apply-templates select="col"/>
158 </xsl:otherwise>
159 </xsl:choose>
160 </xsl:element>
161 </xsl:template>
163 <!-- Index Column -->
164 <xsl:template match="col">
165 <xsl:element name="col">
166 <xsl:value-of select="normalize-space(text())"/>
167 </xsl:element>
168 </xsl:template>
170 <!-- SQL QuerySet -->
171 <xsl:template match="sql">
172 <xsl:element name="sql">
173 <xsl:if test="string-length(@platform) > 0">
174 <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
175 </xsl:if>
177 <xsl:if test="string-length(@key) > 0">
178 <xsl:attribute name="key"><xsl:value-of select="@key"/></xsl:attribute>
179 </xsl:if>
181 <xsl:if test="string-length(@prefixmethod) > 0">
182 <xsl:attribute name="prefixmethod"><xsl:value-of select="@prefixmethod"/></xsl:attribute>
183 </xsl:if>
185 <xsl:apply-templates select="descr[1]"/>
186 <xsl:apply-templates select="query"/>
187 </xsl:element>
188 </xsl:template>
190 <!-- Query -->
191 <xsl:template match="query">
192 <xsl:element name="query">
193 <xsl:if test="string-length(@platform) > 0">
194 <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
195 </xsl:if>
197 <xsl:value-of select="normalize-space(text())"/>
198 </xsl:element>
199 </xsl:template>
201 <!-- Description -->
202 <xsl:template match="descr">
203 <xsl:element name="descr">
204 <xsl:value-of select="normalize-space(text())"/>
205 </xsl:element>
206 </xsl:template>
207 </xsl:stylesheet>