PHP Classes

File: adodb/xsl/convert-0.2-0.3.xsl

Recommend this page to a friend!
  Classes of Isaac Trenado Mx   PHP MySQL JSON Manager   adodb/xsl/convert-0.2-0.3.xsl   Download  
File: adodb/xsl/convert-0.2-0.3.xsl
Role: Auxiliary data
Content type: text/plain
Description: ADOBPHP Download for more information
Class: PHP MySQL JSON Manager
Build and Execute SQL queries with results in JSON
Author: By
Last change:
Date: 8 years ago
Size: 7,711 bytes
 

Contents

Class file image Download
<?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.3</xsl:attribute> <xsl:apply-templates select="schema/table|schema/sql"/> </xsl:element> </xsl:template> <!-- Table --> <xsl:template match="table"> <xsl:element name="table"> <xsl:attribute name="name"><xsl:value-of select="@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:apply-templates select="opt"/> <xsl:apply-templates select="index"/> <xsl:apply-templates select="data"/> </xsl:element> </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="string-length(@opts) = 0"> <xsl:if test="count(UNSIGNED) > 0"> <xsl:element name="UNSIGNED"/> </xsl:if> </xsl:when> <xsl:when test="@opts = 'UNSIGNED'"> <xsl:element name="UNSIGNED"/> </xsl:when> <xsl:when test="contains(@opts,'UNSIGNED')"> <xsl:attribute name="opts"> <xsl:value-of select="concat(substring-before(@opts,'UNSIGNED'),substring-after(@opts,'UNSIGNED'))"/> </xsl:attribute> <xsl:element name="UNSIGNED"/> </xsl:when> <xsl:otherwise> <xsl:attribute name="opts"><xsl:value-of select="@opts"/></xsl:attribute> <xsl:if test="count(UNSIGNED) > 0"> <xsl:element name="UNSIGNED"/> </xsl:if> </xsl:otherwise> </xsl:choose> <xsl:apply-templates select="descr[1]"/> <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="DEFTIMESTAMP"> <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:apply-templates select="opt"/> </xsl:element> </xsl:template> <!-- Constraint --> <xsl:template match="constraint"> <xsl:element name="constraint"> <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> <!-- Opt --> <xsl:template match="opt"> <xsl:element name="opt"> <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> <!-- Index --> <xsl:template match="index"> <xsl:element name="index"> <xsl:attribute name="name"><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> <!-- Data --> <xsl:template match="data"> <xsl:element name="data"> <xsl:if test="string-length(@platform) > 0"> <xsl:attribute name="platform"><xsl:value-of select="@platform"/></xsl:attribute> </xsl:if> <xsl:apply-templates select="descr[1]"/> <xsl:apply-templates select="row"/> </xsl:element> </xsl:template> <!-- Data Row --> <xsl:template match="row"> <xsl:element name="row"> <xsl:apply-templates select="f"/> </xsl:element> </xsl:template> <!-- Data Field --> <xsl:template match="f"> <xsl:element name="f"> <xsl:if test="string-length(@name) > 0"> <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute> </xsl:if> <xsl:value-of select="normalize-space(text())"/> </xsl:element> </xsl:template> </xsl:stylesheet>