xml:
<?xmlversion="1.0"encoding="UTF-8"?> <tablename="student"id="444"> <columns> <columnname="name"id="11111"tableId="111111"dataType="varchar"length="2"comment="dddd"uuid="33333"isPk="1"default=""></column> <!-- <columnname=""id=""tableId=""dataType=""length=""comment=""uuid=""isPk="0"></column>--> <!-- <columnname=""id=""tableId=""dataType=""length=""comment=""uuid=""isPk="0"></column>--> <!-- <columnname=""id=""tableId=""dataType=""length=""comment=""uuid=""isPk="0"></column>--> </columns> </table>
xsl:
<?xmlversion="1.0"encoding="UTF-8"?> <xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:templatematch="/"> <!--TODO:Auto-generatedtemplate--> <xsl:apply-templatesselect="table"></xsl:apply-templates> </xsl:template> <!-- 转换table--> <xsl:templatematch="table"> <h6> --<xsl:value-ofselect="./@name"></xsl:value-of>表:<xsl:value-ofselect="./@comnent"></xsl:value-of> createTable<xsl:value-ofselect="./@name"></xsl:value-of>( <!--判断是否多主键--> <xsl:apply-templatesselect="columns/column"></xsl:apply-templates> <xsl:iftest="count(//@isPk)>0"> --TODO联合主键,CONSTRAINT<xsl:value-ofselect="./@name"></xsl:value-of>_PKprimarykey( <xsl:iftest="//column[@isPk=1]"><xsl:apply-templatesselect="//column[@isPk=1]"></xsl:apply-templates><!--<xsl:value-ofselect="//column[@isPk=1]"></xsl:value-of>--></xsl:if><xsl:iftest="position()!=last()">, </xsl:if>) </xsl:if> ) </h6> </xsl:template> <!-- 转换column--> <xsl:templatematch="columns/column"> <xsl:value-ofselect="./@name"></xsl:value-of> <!-- 判断是否有输入长度 --> <xsl:iftest="string-length(./@length)>0"> <xsl:value-ofselect="./@dataType"></xsl:value-of></xsl:if> <xsl:iftest="string-length(./@default)>0">default<xsl:value-ofselect="./@default"></xsl:value-of></xsl:if> <xsl:iftest="string-length(./@comment)>0">comment<xsl:value-ofselect="./@comment"></xsl:value-of></xsl:if> <!-- 判断是否主键 <xsl:iftest="number(./@isPk)=1">primarykey</xsl:if>--> <xsl:iftest="position()!=last()">, </xsl:if> </xsl:template> <xsl:templatematch="//column[@isPk=1]"> <xsl:value-ofselect="./@name"></xsl:value-of> <xsl:iftest="position()!=last()">, </xsl:if> </xsl:template> </xsl:stylesheet>原文链接:https://www.f2er.com/xml/298639.html