我正在尝试使用xslt从xml文件创建文本输出。
它实际上是一个创建sql代码的xslt。这是输出CREATE TABLE语句的一部分:
它实际上是一个创建sql代码的xslt。这是输出CREATE TABLE语句的一部分:
CREATE TABLE dbo.[<xsl:value-of select="@PhysicalName"/>] ( <xsl:for-each select="EntityAttributes/EntityAttribute"> <xsl:apply-templates select="Attributes/Attribute[@AttributeID = current()/@EntityAttributeID]"/> ... </xsl:for-each>)
我想在“(”在第一行但不能找出如何做到这一点之后有一个换行符,任何人都可以帮忙吗?
如果你放
<xsl:text> </xsl:text>
在你的XSLT中,它会给你一个换行。不清楚你想把这个放在哪里我猜你想要的
<xsl:text>CREATE TABLE dbo.[</xsl:text><xsl:value-of select="@PhysicalName"/><xsl:text>] ( </xsl:text>
一般来说,你应该总是包装文本输出…它在XSL看起来有点可怕,但它保留了间距。请注意,您可以在不影响结果的情况下中断XSLT中的行。
<xsl:text>CREATE TABLE dbo.[</xsl:text> <xsl:value-of select="@PhysicalName"/> <xsl:text>] (
</xsl:text>
是的,我同意明确的换行符。正如你可以看到XSLT不是很可读,但它得到正确的答案