[ 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.2</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:apply-templates select="../index[@table=$table_name]"/> 50 </xsl:element> 51 </xsl:template> 52 53 <!-- Field --> 54 <xsl:template match="field"> 55 <xsl:element name="field"> 56 <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute> 57 <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> 58 59 <xsl:if test="string-length(@size) > 0"> 60 <xsl:attribute name="size"><xsl:value-of select="@size"/></xsl:attribute> 61 </xsl:if> 62 63 <xsl:choose> 64 <xsl:when test="count(PRIMARY) > 0"> 65 <xsl:element name="PRIMARY"/> 66 </xsl:when> 67 <xsl:when test="count(KEY) > 0"> 68 <xsl:element name="KEY"/> 69 </xsl:when> 70 <xsl:when test="count(NOTNULL) > 0"> 71 <xsl:element name="NOTNULL"/> 72 </xsl:when> 73 </xsl:choose> 74 75 <xsl:choose> 76 <xsl:when test="count(AUTO) > 0"> 77 <xsl:element name="AUTO"/> 78 </xsl:when> 79 <xsl:when test="count(AUTOINCREMENT) > 0"> 80 <xsl:element name="AUTOINCREMENT"/> 81 </xsl:when> 82 </xsl:choose> 83 84 <xsl:choose> 85 <xsl:when test="count(DEFAULT) > 0"> 86 <xsl:element name="DEFAULT"> 87 <xsl:attribute name="value"> 88 <xsl:value-of select="DEFAULT[1]/@value"/> 89 </xsl:attribute> 90 </xsl:element> 91 </xsl:when> 92 <xsl:when test="count(DEFDATE) > 0"> 93 <xsl:element name="DEFDATE"> 94 <xsl:attribute name="value"> 95 <xsl:value-of select="DEFDATE[1]/@value"/> 96 </xsl:attribute> 97 </xsl:element> 98 </xsl:when> 99 <xsl:when test="count(DEFTIMESTAMP) > 0"> 100 <xsl:element name="DEFTIMESTAMP"> 101 <xsl:attribute name="value"> 102 <xsl:value-of select="DEFTIMESTAMP[1]/@value"/> 103 </xsl:attribute> 104 </xsl:element> 105 </xsl:when> 106 </xsl:choose> 107 108 <xsl:if test="count(NOQUOTE) > 0"> 109 <xsl:element name="NOQUOTE"/> 110 </xsl:if> 111 112 <xsl:apply-templates select="constraint"/> 113 </xsl:element> 114 </xsl:template> 115 116 <!-- Constraint --> 117 <xsl:template match="constraint"> 118 <xsl:element name="constraint"> 119 <xsl:value-of select="normalize-space(text())"/> 120 </xsl:element> 121 </xsl:template> 122 123 <!-- Index --> 124 <xsl:template match="index"> 125 <xsl:element name="index"> 126 <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute> 127 128 <xsl:apply-templates select="descr[1]"/> 129 130 <xsl:if test="count(CLUSTERED) > 0"> 131 <xsl:element name="CLUSTERED"/> 132 </xsl:if> 133 134 <xsl:if test="count(BITMAP) > 0"> 135 <xsl:element name="BITMAP"/> 136 </xsl:if> 137 138 <xsl:if test="count(UNIQUE) > 0"> 139 <xsl:element name="UNIQUE"/> 140 </xsl:if> 141 142 <xsl:if test="count(FULLTEXT) > 0"> 143 <xsl:element name="FULLTEXT"/> 144 </xsl:if> 145 146 <xsl:if test="count(HASH) > 0"> 147 <xsl:element name="HASH"/> 148 </xsl:if> 149 150 <xsl:choose> 151 <xsl:when test="count(DROP) > 0"> 152 <xsl:element name="DROP"/> 153 </xsl:when> 154 <xsl:otherwise> 155 <xsl:apply-templates select="col"/> 156 </xsl:otherwise> 157 </xsl:choose> 158 </xsl:element> 159 </xsl:template> 160 161 <!-- Index Column --> 162 <xsl:template match="col"> 163 <xsl:element name="col"> 164 <xsl:value-of select="normalize-space(text())"/> 165 </xsl:element> 166 </xsl:template> 167 168 <!-- SQL QuerySet --> 169 <xsl:template match="sql"> 170 <xsl:element name="sql"> 171 <xsl:if test="string-length(@platform) > 0"> 172 <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute> 173 </xsl:if> 174 175 <xsl:if test="string-length(@key) > 0"> 176 <xsl:attribute name="key"><xsl:value-of select="@key"/></xsl:attribute> 177 </xsl:if> 178 179 <xsl:if test="string-length(@prefixmethod) > 0"> 180 <xsl:attribute name="prefixmethod"><xsl:value-of select="@prefixmethod"/></xsl:attribute> 181 </xsl:if> 182 183 <xsl:apply-templates select="descr[1]"/> 184 <xsl:apply-templates select="query"/> 185 </xsl:element> 186 </xsl:template> 187 188 <!-- Query --> 189 <xsl:template match="query"> 190 <xsl:element name="query"> 191 <xsl:if test="string-length(@platform) > 0"> 192 <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute> 193 </xsl:if> 194 195 <xsl:value-of select="normalize-space(text())"/> 196 </xsl:element> 197 </xsl:template> 198 199 <!-- Description --> 200 <xsl:template match="descr"> 201 <xsl:element name="descr"> 202 <xsl:value-of select="normalize-space(text())"/> 203 </xsl:element> 204 </xsl:template> 205 </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 |