[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/lib/adodb/xsl/ -> convert-0.2-0.3.xsl (source)

   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.3</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:element name="table">
  24              <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
  25  
  26              <xsl:if test="string-length(@platform) > 0">
  27                  <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
  28              </xsl:if>
  29  
  30              <xsl:if test="string-length(@version) > 0">
  31                  <xsl:attribute name="version"><xsl:value-of select="@version"/></xsl:attribute>
  32              </xsl:if>
  33  
  34              <xsl:apply-templates select="descr[1]"/>
  35  
  36              <xsl:choose>
  37                  <xsl:when test="count(DROP) > 0">
  38                      <xsl:element name="DROP"/>
  39                  </xsl:when>
  40                  <xsl:otherwise>
  41                      <xsl:apply-templates select="field"/>
  42                  </xsl:otherwise>
  43              </xsl:choose>
  44  
  45              <xsl:apply-templates select="constraint"/>
  46  
  47              <xsl:apply-templates select="opt"/>
  48  
  49              <xsl:apply-templates select="index"/>
  50  
  51              <xsl:apply-templates select="data"/>
  52          </xsl:element>
  53      </xsl:template>
  54  
  55      <!-- Field -->
  56      <xsl:template match="field">
  57          <xsl:element name="field">
  58              <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
  59              <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>
  60  
  61              <xsl:if test="string-length(@size) > 0">
  62                  <xsl:attribute name="size"><xsl:value-of select="@size"/></xsl:attribute>
  63              </xsl:if>
  64  
  65              <xsl:choose>
  66                  <xsl:when test="string-length(@opts) = 0">
  67                      <xsl:if test="count(UNSIGNED) > 0">
  68                          <xsl:element name="UNSIGNED"/>
  69                      </xsl:if>
  70                  </xsl:when>
  71                  <xsl:when test="@opts = 'UNSIGNED'">
  72                      <xsl:element name="UNSIGNED"/>
  73                  </xsl:when>
  74                  <xsl:when test="contains(@opts,'UNSIGNED')">
  75                      <xsl:attribute name="opts">
  76                          <xsl:value-of select="concat(substring-before(@opts,'UNSIGNED'),substring-after(@opts,'UNSIGNED'))"/>
  77                      </xsl:attribute>
  78                      <xsl:element name="UNSIGNED"/>
  79                  </xsl:when>
  80                  <xsl:otherwise>
  81                      <xsl:attribute name="opts"><xsl:value-of select="@opts"/></xsl:attribute>
  82                      <xsl:if test="count(UNSIGNED) > 0">
  83                          <xsl:element name="UNSIGNED"/>
  84                      </xsl:if>
  85                  </xsl:otherwise>
  86              </xsl:choose>
  87  
  88              <xsl:apply-templates select="descr[1]"/>
  89  
  90              <xsl:choose>
  91                  <xsl:when test="count(PRIMARY) > 0">
  92                      <xsl:element name="PRIMARY"/>
  93                  </xsl:when>
  94                  <xsl:when test="count(KEY) > 0">
  95                      <xsl:element name="KEY"/>
  96                  </xsl:when>
  97                  <xsl:when test="count(NOTNULL) > 0">
  98                      <xsl:element name="NOTNULL"/>
  99                  </xsl:when>
 100              </xsl:choose>
 101  
 102              <xsl:choose>
 103                  <xsl:when test="count(AUTO) > 0">
 104                      <xsl:element name="AUTO"/>
 105                  </xsl:when>
 106                  <xsl:when test="count(AUTOINCREMENT) > 0">
 107                      <xsl:element name="AUTOINCREMENT"/>
 108                  </xsl:when>
 109              </xsl:choose>
 110  
 111              <xsl:choose>
 112                  <xsl:when test="count(DEFAULT) > 0">
 113                      <xsl:element name="DEFAULT">
 114                          <xsl:attribute name="value">
 115                              <xsl:value-of select="DEFAULT[1]/@value"/>
 116                          </xsl:attribute>
 117                      </xsl:element>
 118                  </xsl:when>
 119                  <xsl:when test="count(DEFDATE) > 0">
 120                      <xsl:element name="DEFDATE">
 121                          <xsl:attribute name="value">
 122                              <xsl:value-of select="DEFDATE[1]/@value"/>
 123                          </xsl:attribute>
 124                      </xsl:element>
 125                  </xsl:when>
 126                  <xsl:when test="count(DEFTIMESTAMP) > 0">
 127                      <xsl:element name="DEFTIMESTAMP">
 128                          <xsl:attribute name="value">
 129                              <xsl:value-of select="DEFTIMESTAMP[1]/@value"/>
 130                          </xsl:attribute>
 131                      </xsl:element>
 132                  </xsl:when>
 133              </xsl:choose>
 134  
 135              <xsl:if test="count(NOQUOTE) > 0">
 136                  <xsl:element name="NOQUOTE"/>
 137              </xsl:if>
 138  
 139              <xsl:apply-templates select="constraint"/>
 140  
 141              <xsl:apply-templates select="opt"/>
 142          </xsl:element>
 143      </xsl:template>
 144  
 145      <!-- Constraint -->
 146      <xsl:template match="constraint">
 147          <xsl:element name="constraint">
 148              <xsl:if test="string-length(@platform) > 0">
 149                  <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
 150              </xsl:if>
 151  
 152              <xsl:value-of select="normalize-space(text())"/>
 153          </xsl:element>
 154      </xsl:template>
 155  
 156      <!-- Opt -->
 157      <xsl:template match="opt">
 158          <xsl:element name="opt">
 159              <xsl:if test="string-length(@platform) > 0">
 160                  <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
 161              </xsl:if>
 162  
 163              <xsl:value-of select="normalize-space(text())"/>
 164          </xsl:element>
 165      </xsl:template>
 166  
 167      <!-- Index -->
 168      <xsl:template match="index">
 169          <xsl:element name="index">
 170              <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
 171  
 172              <xsl:apply-templates select="descr[1]"/>
 173  
 174              <xsl:if test="count(CLUSTERED) > 0">
 175                  <xsl:element name="CLUSTERED"/>
 176              </xsl:if>
 177  
 178              <xsl:if test="count(BITMAP) > 0">
 179                  <xsl:element name="BITMAP"/>
 180              </xsl:if>
 181  
 182              <xsl:if test="count(UNIQUE) > 0">
 183                  <xsl:element name="UNIQUE"/>
 184              </xsl:if>
 185  
 186              <xsl:if test="count(FULLTEXT) > 0">
 187                  <xsl:element name="FULLTEXT"/>
 188              </xsl:if>
 189  
 190              <xsl:if test="count(HASH) > 0">
 191                  <xsl:element name="HASH"/>
 192              </xsl:if>
 193  
 194              <xsl:choose>
 195                  <xsl:when test="count(DROP) > 0">
 196                      <xsl:element name="DROP"/>
 197                  </xsl:when>
 198                  <xsl:otherwise>
 199                      <xsl:apply-templates select="col"/>
 200                  </xsl:otherwise>
 201              </xsl:choose>
 202          </xsl:element>
 203      </xsl:template>
 204  
 205      <!-- Index Column -->
 206      <xsl:template match="col">
 207          <xsl:element name="col">
 208              <xsl:value-of select="normalize-space(text())"/>
 209          </xsl:element>
 210      </xsl:template>
 211  
 212      <!-- SQL QuerySet -->
 213      <xsl:template match="sql">
 214          <xsl:element name="sql">
 215              <xsl:if test="string-length(@platform) > 0">
 216                  <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
 217              </xsl:if>
 218  
 219              <xsl:if test="string-length(@key) > 0">
 220                  <xsl:attribute name="key"><xsl:value-of select="@key"/></xsl:attribute>
 221              </xsl:if>
 222  
 223              <xsl:if test="string-length(@prefixmethod) > 0">
 224                  <xsl:attribute name="prefixmethod"><xsl:value-of select="@prefixmethod"/></xsl:attribute>
 225              </xsl:if>
 226  
 227              <xsl:apply-templates select="descr[1]"/>
 228  
 229              <xsl:apply-templates select="query"/>
 230          </xsl:element>
 231      </xsl:template>
 232  
 233      <!-- Query -->
 234      <xsl:template match="query">
 235          <xsl:element name="query">
 236              <xsl:if test="string-length(@platform) > 0">
 237                  <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
 238              </xsl:if>
 239  
 240              <xsl:value-of select="normalize-space(text())"/>
 241          </xsl:element>
 242      </xsl:template>
 243  
 244      <!-- Description -->
 245      <xsl:template match="descr">
 246          <xsl:element name="descr">
 247              <xsl:value-of select="normalize-space(text())"/>
 248          </xsl:element>
 249      </xsl:template>
 250  
 251      <!-- Data -->
 252      <xsl:template match="data">
 253          <xsl:element name="data">
 254              <xsl:if test="string-length(@platform) > 0">
 255                  <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute>
 256              </xsl:if>
 257  
 258              <xsl:apply-templates select="descr[1]"/>
 259  
 260              <xsl:apply-templates select="row"/>
 261          </xsl:element>
 262      </xsl:template>
 263  
 264      <!-- Data Row -->
 265      <xsl:template match="row">
 266          <xsl:element name="row">
 267              <xsl:apply-templates select="f"/>
 268          </xsl:element>
 269      </xsl:template>
 270  
 271      <!-- Data Field -->
 272      <xsl:template match="f">
 273          <xsl:element name="f">
 274              <xsl:if test="string-length(@name) > 0">
 275                  <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
 276              </xsl:if>
 277  
 278              <xsl:value-of select="normalize-space(text())"/>
 279          </xsl:element>
 280      </xsl:template>
 281  </xsl:stylesheet>


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1