"Fossies" - the Fresh Open Source Software Archive

Member "phpESP/admin/include/lib/adodb/xsl/convert-0.2-0.1.xsl" (4 May 2004, 5659 Bytes) of package /linux/www/old/phpESP-2.1.4.tgz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) XML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    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>