我正在尝试使用xslt从xml文件创建文本输出.它实际上是一个创建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>)
Run Code Online (Sandbox Code Playgroud)
我希望在第一行的"("之后有一个换行符但是无法找到如何这样做.有人可以帮忙吗?
Fla*_*ack 34
至于换行符,我自己更喜欢更明确/可读的方式.
<xsl:text>
</xsl:text>
Run Code Online (Sandbox Code Playgroud)
pet*_*ust 12
如果你放
<xsl:text>
</xsl:text>
Run Code Online (Sandbox Code Playgroud)
在你的XSLT中,它会给出一个换行符.目前尚不清楚你想把它放在哪里.我猜你想要:
<xsl:text>CREATE TABLE dbo.[</xsl:text><xsl:value-of select="@PhysicalName"/><xsl:text>] (
</xsl:text>
Run Code Online (Sandbox Code Playgroud)
一般来说,你应该始终将文本输出包装在...中,它在XSL中看起来有点可怕,但它保留了间距.请注意,您可以在不影响结果的情况下中断XSLT中的行 - 例如
<xsl:text>CREATE TABLE dbo.[</xsl:text>
<xsl:value-of select="@PhysicalName"/>
<xsl:text>] (
</xsl:text>
Run Code Online (Sandbox Code Playgroud)
是的,我同意明确的换行符.正如您所看到的,XSLT不是很易读,但它得到了正确的答案
归档时间: |
|
查看次数: |
37140 次 |
最近记录: |