Xslt 输入包含需要删除的段落字符

Xslt 输入包含需要删除的段落字符,xslt,xslt-1.0,Xslt,Xslt 1.0,我一直在尝试从xsl中修改父元素的文本。如何从XSL代码中删除元素(我不控制输入)。我只想删除前面的换行符,而不是正文中的所有换行符。前面的“此处的某些文本”可能采用多个段落的形式 Xsl <xsl:template match="element"> <!-- attempting to add fix here --> <xsl:apply-templates /> </xsl:template> 所需输出 <body>

我一直在尝试从xsl中修改父元素的文本。如何从XSL代码中删除

元素(我不控制输入)。我只想删除前面的换行符,而不是正文中的所有换行符。前面的“此处的某些文本”可能采用多个段落的形式

Xsl

<xsl:template match="element">
  <!-- attempting to add fix here -->

  <xsl:apply-templates />
</xsl:template>
所需输出

<body>
  <p>
    some text here
  </p>
  <element>
    some more text
  </element>
</body>
some text here
some more text
some text here some more text


是否要使用XSLT创建纯文本?你只想删除换行符吗?另外,请修复XSLT代码示例,因为“@martin”主体已经被html元素包装成一个整体。“元素”包含所有简化为纯文本的子元素。我知道如何将元素添加到一起,只是不知道如何消除单行中断。正如我在我的描述中编辑的那样。我不想删除所有的中断。这似乎更接近我所寻找的。我会处理一下,然后让你知道。谢谢你的意见。我接受这个答案是因为我需要使用normalize-space()。它并没有解决我的首要问题,但确实解决了这个问题。再次感谢:)
<xsl:template match="p[following-sibling::*[1][self::element]]//text() | element[preceding-sibling::*[1][self::p]//text()">
  <xsl:value-of select="normalize-space()"/>
</xsl:template>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text"/>

<xsl:template match="p[following-sibling::*[1][self::element]]//text() |
  element[preceding-sibling::*[1][self::p]]//text()">
  <xsl:value-of select="normalize-space()"/>
</xsl:template>

<xsl:template match="text()[preceding-sibling::*[1][self::p] and following-sibling::*[1][self::element] and not(normalize-space())]">
  <xsl:text> </xsl:text>
</xsl:template>

</xsl:stylesheet>
<body>
  <p>
    some text here
  </p>
  <element>
    some more text
  </element>
</body>
  some text here some more text