2011-06-13 55 views
0
<xsl:output method="text" omit-xml-declaration="yes" /> 
<xsl:template match="/Update/Object/Insert"> 
    Insert into <xsl:value-of select="@Table" />(
    <xsl:for-each select="Field"> 
    <xsl:value-of select="@Name" />,  
    </xsl:for-each>) 
    Values(
    <xsl:for-each select="Field"> 
     <xsl:value-of select="@Value" />, 
    </xsl:for-each>) 
</xsl:template> 

XSLT發生器SQL代碼

輸出: INSERT INTO好( GoodCode, ...

) 值( 1, ... ,

因爲你可以se e有一個額外的「,」問題是我如何糾正它?

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type='text/xsl' href='book.xslt'?> 
<Update> 
    <Object Name="Good"> 
    <Insert Table="Good"> 
     <Field Name="GoodCode" Value="1" Type="Integer" /> 
     <Field Name="GoodUserCode" Value="" Type="String" /> 
</insert> 
</object> 

回答

2

使用這樣的事情:

<xsl:output method="text" omit-xml-declaration="yes" /> 
    <xsl:template match="/Update/Object/Insert"> 
     Insert into <xsl:value-of select="@Table" />(
    <xsl:for-each select="Field"> 
     <xsl:value-of select="@Name" /><xsl:if test = "position() != last()">, </xsl:if>  
    </xsl:for-each>) 
    Values(
    <xsl:for-each select="Field"> 
     <xsl:value-of select="@Value" /><xsl:if test = "position() != last()">, </xsl:if> 
    </xsl:for-each>) 
</xsl:template> 

http://www.w3schools.com/xsl/el_if.asp