改变</BR>;在XSLT中使用换行符
我有以下XSLT:改变</BR>;在XSLT中使用换行符,xslt,newline,xslt-2.0,Xslt,Newline,Xslt 2.0,我有以下XSLT: <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:date="http://exslt.org/dates-and-times" exclude-result-prefixes="date"> <xsl:output method="html" omit-xml-declaration="yes"/> <xsl:templa
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="http://exslt.org/dates-and-times"
exclude-result-prefixes="date">
<xsl:output method="html" omit-xml-declaration="yes"/>
<xsl:template match="//Mail">
<html>
<body>
<p>
<xsl:value-of xml:space="preserve" select="body"/>
</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
有人能帮我吗?使用
apply template
而不是body的值,这样您就可以在输出中处理BR
试试这个:
<xsl:template match="//Mail">
<html>
<body>
<p>
<xsl:apply-templates select="body"/>
</p>
</body>
</html>
</xsl:template>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="BR">
<xsl:text>
</xsl:text>
</xsl:template>
;
请参见上的转换,我不清楚您希望得到什么样的HTML输出。您可以在问题中包含预期的输出吗?是什么阻止您不在xslt中添加新行而不是从
开始?您的
标记是否实际位于输入XML中的
标记中?您确实需要编辑您的问题以显示您的输入。谢谢。@TimC我发送的信息实际上是:Ceci est un email automatique concernant un registration dans MyInami pour le groupment'{0}'avec numéro INAMI{1}:
le{4},{2}{3}一个修改后的votre groupment.
-
,CreateGeneralDataUpdatedBody
正在创建输入?通过执行innerText
您将其添加为文本,因此输入中不会有任何
标记,而是一个5个字符的字符串。您可以改为尝试innerXml
,但是CreateGeneralDataUpdatedBody
需要返回格式良好的XML(即具有单个根元素)。我尝试了您的解决方案,但仍然得到相同的结果。我没有收到新线,而BR仍在使用中displayed@BartSchelkens,请参阅上的转换。我尝试过它,但在我的代码上不起作用。不要得到那份工作newlines@BartSchelkens,你会把所有的输入放在这里还是
<xsl:template match="//Mail">
<html>
<body>
<p>
<xsl:apply-templates select="body"/>
</p>
</body>
</html>
</xsl:template>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="BR">
<xsl:text>
</xsl:text>
</xsl:template>