私はMySQLのcreate tableステートメントを生成しています。私のソースXMLは次のようになります。XSLT - 最後のカンマを削除
<table name="TabName">
<column> ... </column> <!-- multiple columns -->
<primary-key> ... </primary-key>
<foreign-key> ... </foreign-key> <!-- multiple FKs -->
<key>... </key> <!-- multiple indexes -->
</table>
Transformatinが
<xsl:for-each select="column"> blabla ,</xsl:for-each>
<xsl:if test="primary-key"> blabla, </xsl:if>
<xsl:for-each select="key"> blabla, </xsl:for-each>
<xsl:for-each select="foreign-key"> blabla, </xsl:for-each>
のように行われ、私はすべての文の末尾にコンマを追加することに注意してください。 SQL出力後、次のようになります。
CREATE TABLE`categories` (
`CategoryID` tinyint(5) unsigned NOT NULL,
`CategoryName` varchar(15) NOT NULL,
`Description` mediumtext NOT NULL,
`Picture` varchar(50) NOT NULL,
PRIMARY KEY (`CategoryID`),) --here is bad column
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
XSLT変換を実行するときに、そのコンマを削除するにはどうすればよいですか?ありがとう
これは実際に働いていました:)しかし、確かに存在するすべての新しい行の前にカンマを追加すると、より良い解決策が見つかりました。後に。それはトリックをさらに良くしました。 – Xorty
@Xortyできますが、あなたはその存在について本当に確信している必要があります。それ以外の場合は、まだ条件が必要です。 –