晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/akaindir/public_html/crm/libraries/adodb/xsl/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/akaindir/public_html/crm/libraries/adodb/xsl/convert-0.1-0.2.xsl
<?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="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: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>

haha - 2025