如何在xslt中为新行编写代码

时间:2011-03-05 11:15:32

标签: xslt

  

可能重复:
  Producing a new line in XSLT

你好,任何人都可以帮我编写代码来获取新行....

2 个答案:

答案 0 :(得分:1)

  我已经尝试了所有的东西......但是   只有换行才适合我   

我拥有这一切 -   praveen 4小时前

尝试:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:template match="text()" name="wrapLines">
  <xsl:param name="pText" select="."/>
  <xsl:param name="pNumLines" select="10"/>

  <xsl:if test=
   "string-length($pText) and $pNumLines > 0">
   <xsl:variable name="vLine" select=
   "substring-before(concat($pText,'&#xA;'), '&#xA;')"/>
   <Line>
    <xsl:value-of select="$vLine"/>
   </Line>
   <xsl:call-template name="wrapLines">
    <xsl:with-param name="pNumLines" select="$pNumLines -1"/>
    <xsl:with-param name="pText" select=
      "substring-after($pText, '&#xA;')"/>
   </xsl:call-template>
  </xsl:if>
 </xsl:template>
</xsl:stylesheet>

将此转换应用于以下XML文档

<t>
 line2
 line3
 line4
</t>

它可以正确查找NL字符的所有出现情况并正确地将文本拆分为单独的<Line>元素

<Line/>
<Line> line2</Line>
<Line> line3</Line>
<Line> line4</Line>

答案 1 :(得分:-1)

您是在尝试输出新行还是硬回车?这将在转换后的文件中输出一个新行。

<xsl:text>
</xsl:text>