phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] phpgwapi/inc/adodb/xsl/convert-0.2-0.1.xsl, 1.2


From: nomail
Subject: [Phpgroupware-cvs] phpgwapi/inc/adodb/xsl/convert-0.2-0.1.xsl, 1.2
Date: Thu, 30 Dec 2004 07:47:33 +0100

Update of /phpgwapi/inc/adodb/xsl
Added Files:
        Branch: 
          convert-0.2-0.1.xsl

date: 2004/12/30 06:47:33;  author: skwashd;  state: Exp;  lines: +207 -0

Log Message:
new HEAD
=====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>
        <xsl:output method="xml" indent="yes" omit-xml-declaration="no" 
encoding="UTF-8"/>
        
        <!-- Schema -->
        <xsl:template match="/">
                <xsl:comment>
ADODB XMLSchema
http://adodb-xmlschema.sourceforge.net
</xsl:comment>
                
                <xsl:element name="schema">
                        <xsl:attribute name="version">0.1</xsl:attribute>
                        
                        <xsl:apply-templates select="schema/table|schema/sql"/>
                </xsl:element>
        </xsl:template>
        
        <!-- Table -->
        <xsl:template match="table">
                <xsl:variable name="table_name" select="@name"/>
                
                <xsl:element name="table">
                        <xsl:attribute name="name"><xsl:value-of 
select="$table_name"/></xsl:attribute>
                        
                        <xsl:if test="string-length(@platform) > 0">
                                <xsl:attribute name="platform"><xsl:value-of 
select="@platform"/></xsl:attribute>
                        </xsl:if>
                        
                        <xsl:if test="string-length(@version) > 0">
                                <xsl:attribute name="version"><xsl:value-of 
select="@version"/></xsl:attribute>
                        </xsl:if>
                        
                        <xsl:apply-templates select="descr[1]"/>
                        
                        <xsl:choose>
                                <xsl:when test="count(DROP) > 0">
                                        <xsl:element name="DROP"/>
                                </xsl:when>
                                <xsl:otherwise>
                                        <xsl:apply-templates select="field"/>
                                </xsl:otherwise>
                        </xsl:choose>
                        
                        <xsl:apply-templates select="constraint"/>
                        
                </xsl:element>
                
                <xsl:apply-templates select="index"/>
        </xsl:template>
        
        <!-- Field -->
        <xsl:template match="field">
                <xsl:element name="field">
                        <xsl:attribute name="name"><xsl:value-of 
select="@name"/></xsl:attribute>
                        <xsl:attribute name="type"><xsl:value-of 
select="@type"/></xsl:attribute>
                        
                        <xsl:if test="string-length(@size) > 0">
                                <xsl:attribute name="size"><xsl:value-of 
select="@size"/></xsl:attribute>
                        </xsl:if>
                        
                        <xsl:choose>
                                <xsl:when test="count(PRIMARY) > 0">
                                        <xsl:element name="PRIMARY"/>
                                </xsl:when>
                                <xsl:when test="count(KEY) > 0">
                                        <xsl:element name="KEY"/>
                                </xsl:when>
                                <xsl:when test="count(NOTNULL) > 0">
                                        <xsl:element name="NOTNULL"/>
                                </xsl:when>
                        </xsl:choose>
                        
                        <xsl:choose>
                                <xsl:when test="count(AUTO) > 0">
                                        <xsl:element name="AUTO"/>
                                </xsl:when>
                                <xsl:when test="count(AUTOINCREMENT) > 0">
                                        <xsl:element name="AUTOINCREMENT"/>
                                </xsl:when>
                        </xsl:choose>
                        
                        <xsl:choose>
                                <xsl:when test="count(DEFAULT) > 0">
                                        <xsl:element name="DEFAULT">
                                                <xsl:attribute name="value">
                                                        <xsl:value-of 
select="DEFAULT[1]/@value"/>
                                                </xsl:attribute>
                                        </xsl:element>
                                </xsl:when>
                                <xsl:when test="count(DEFDATE) > 0">
                                        <xsl:element name="DEFDATE">
                                                <xsl:attribute name="value">
                                                        <xsl:value-of 
select="DEFDATE[1]/@value"/>
                                                </xsl:attribute>
                                        </xsl:element>
                                </xsl:when>
                                <xsl:when test="count(DEFTIMESTAMP) > 0">
                                        <xsl:element name="DEFDTIMESTAMP">
                                                <xsl:attribute name="value">
                                                        <xsl:value-of 
select="DEFTIMESTAMP[1]/@value"/>
                                                </xsl:attribute>
                                        </xsl:element>
                                </xsl:when>
                        </xsl:choose>
                        
                        <xsl:if test="count(NOQUOTE) > 0">
                                <xsl:element name="NOQUOTE"/>
                        </xsl:if>
                        
                        <xsl:apply-templates select="constraint"/>
                </xsl:element>
        </xsl:template>
        
        <!-- Constraint -->
        <xsl:template match="constraint">
                <xsl:element name="constraint">
                        <xsl:value-of select="normalize-space(text())"/>
                </xsl:element>
        </xsl:template>
        
        <!-- Index -->
        <xsl:template match="index">
                <xsl:element name="index">
                        <xsl:attribute name="name"><xsl:value-of 
select="@name"/></xsl:attribute>
                        <xsl:attribute name="table"><xsl:value-of 
select="../@name"/></xsl:attribute>
                        
                        <xsl:apply-templates select="descr[1]"/>
                        
                        <xsl:if test="count(CLUSTERED) > 0">
                                <xsl:element name="CLUSTERED"/>
                        </xsl:if>
                        
                        <xsl:if test="count(BITMAP) > 0">
                                <xsl:element name="BITMAP"/>
                        </xsl:if>
                        
                        <xsl:if test="count(UNIQUE) > 0">
                                <xsl:element name="UNIQUE"/>
                        </xsl:if>
                        
                        <xsl:if test="count(FULLTEXT) > 0">
                                <xsl:element name="FULLTEXT"/>
                        </xsl:if>
                        
                        <xsl:if test="count(HASH) > 0">
                                <xsl:element name="HASH"/>
                        </xsl:if>
                        
                        <xsl:choose>
                                <xsl:when test="count(DROP) > 0">
                                        <xsl:element name="DROP"/>
                                </xsl:when>
                                <xsl:otherwise>
                                        <xsl:apply-templates select="col"/>
                                </xsl:otherwise>
                        </xsl:choose>
                </xsl:element>
        </xsl:template>
        
        <!-- Index Column -->
        <xsl:template match="col">
                <xsl:element name="col">
                        <xsl:value-of select="normalize-space(text())"/>
                </xsl:element>
        </xsl:template>
        
        <!-- SQL QuerySet -->
        <xsl:template match="sql">
                <xsl:element name="sql">
                        <xsl:if test="string-length(@platform) > 0">
                                <xsl:attribute name="platform"><xsl:value-of 
select="@platform"/></xsl:attribute>
                        </xsl:if>
                        
                        <xsl:if test="string-length(@key) > 0">
                                <xsl:attribute name="key"><xsl:value-of 
select="@key"/></xsl:attribute>
                        </xsl:if>
                        
                        <xsl:if test="string-length(@prefixmethod) > 0">
                                <xsl:attribute 
name="prefixmethod"><xsl:value-of select="@prefixmethod"/></xsl:attribute>
                        </xsl:if>
                        
                        <xsl:apply-templates select="descr[1]"/>
                        <xsl:apply-templates select="query"/>
                </xsl:element>
        </xsl:template>
        
        <!-- Query -->
        <xsl:template match="query">
                <xsl:element name="query">
                        <xsl:if test="string-length(@platform) > 0">
                                <xsl:attribute name="platform"><xsl:value-of 
select="@platform"/></xsl:attribute>
                        </xsl:if>
                        
                        <xsl:value-of select="normalize-space(text())"/>
                </xsl:element>
        </xsl:template>
        
        <!-- Description -->
        <xsl:template match="descr">
                <xsl:element name="descr">
                        <xsl:value-of select="normalize-space(text())"/>
                </xsl:element>
        </xsl:template>
</xsl:stylesheet>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]