[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?xml version="1.0" encoding="UTF-8"?> 2 <xsl:stylesheet version="1.0" 3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 > 5 <xsl:output method="xml" indent="yes" omit-xml-declaration="no" encoding="UTF-8"/> 6 7 <!-- Schema --> 8 <xsl:template match="/"> 9 <xsl:comment> 10 ADODB XMLSchema 11 http://adodb-xmlschema.sourceforge.net 12 </xsl:comment> 13 14 <xsl:element name="schema"> 15 <xsl:attribute name="version">0.1</xsl:attribute> 16 17 <xsl:apply-templates select="schema/table|schema/sql"/> 18 </xsl:element> 19 </xsl:template> 20 21 <!-- Table --> 22 <xsl:template match="table"> 23 <xsl:variable name="table_name" select="@name"/> 24 25 <xsl:element name="table"> 26 <xsl:attribute name="name"><xsl:value-of select="$table_name"/></xsl:attribute> 27 28 <xsl:if test="string-length(@platform) > 0"> 29 <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute> 30 </xsl:if> 31 32 <xsl:if test="string-length(@version) > 0"> 33 <xsl:attribute name="version"><xsl:value-of select="@version"/></xsl:attribute> 34 </xsl:if> 35 36 <xsl:apply-templates select="descr[1]"/> 37 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> 46 47 <xsl:apply-templates select="constraint"/> 48 49 </xsl:element> 50 51 <xsl:apply-templates select="index"/> 52 </xsl:template> 53 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> 59 60 <xsl:if test="string-length(@size) > 0"> 61 <xsl:attribute name="size"><xsl:value-of select="@size"/></xsl:attribute> 62 </xsl:if> 63 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> 75 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> 84 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> 108 109 <xsl:if test="count(NOQUOTE) > 0"> 110 <xsl:element name="NOQUOTE"/> 111 </xsl:if> 112 113 <xsl:apply-templates select="constraint"/> 114 </xsl:element> 115 </xsl:template> 116 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> 123 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> 129 130 <xsl:apply-templates select="descr[1]"/> 131 132 <xsl:if test="count(CLUSTERED) > 0"> 133 <xsl:element name="CLUSTERED"/> 134 </xsl:if> 135 136 <xsl:if test="count(BITMAP) > 0"> 137 <xsl:element name="BITMAP"/> 138 </xsl:if> 139 140 <xsl:if test="count(UNIQUE) > 0"> 141 <xsl:element name="UNIQUE"/> 142 </xsl:if> 143 144 <xsl:if test="count(FULLTEXT) > 0"> 145 <xsl:element name="FULLTEXT"/> 146 </xsl:if> 147 148 <xsl:if test="count(HASH) > 0"> 149 <xsl:element name="HASH"/> 150 </xsl:if> 151 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> 162 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> 169 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> 176 177 <xsl:if test="string-length(@key) > 0"> 178 <xsl:attribute name="key"><xsl:value-of select="@key"/></xsl:attribute> 179 </xsl:if> 180 181 <xsl:if test="string-length(@prefixmethod) > 0"> 182 <xsl:attribute name="prefixmethod"><xsl:value-of select="@prefixmethod"/></xsl:attribute> 183 </xsl:if> 184 185 <xsl:apply-templates select="descr[1]"/> 186 <xsl:apply-templates select="query"/> 187 </xsl:element> 188 </xsl:template> 189 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> 196 197 <xsl:value-of select="normalize-space(text())"/> 198 </xsl:element> 199 </xsl:template> 200 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>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |