Server IP : 202.29.229.35 / Your IP : 13.58.67.129 Web Server : Apache System : Linux aapanel2 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 User : www ( 1001) PHP Version : 5.5.38 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/www.ivecr2.ac.th/stdcard/adodb/xsl/ |
Upload File : |
<?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.2</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:apply-templates select="../index[@table=$table_name]"/> </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="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: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>