我有一个xml样式表,它接受多个xml文档,并对它们进行转换和组合。然而,所有xml文档都包含相同的细节,节点名称不同。在给我带来问题的一个例子中,我有一个:
<description>
some text...
<NewLine/>
some text...
<NewLine/>
some text...
</description>
我如何将其更改为:
<details>
<p>some text...</p>
<p>some text...</p>
<p>some text...</p>
</details>
使用这个XSLT,您将获得您所期望的结果,用于您提供的源XML:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="description">
<details>
<xsl:apply-templates />
</details>
</xsl:template>
<xsl:template match="description/text()">
<p><xsl:value-of select="normalize-space(.)"/></p>
</xsl:template>
</xsl:stylesheet>
如果您的源代码实际上更复杂,那么您将不得不调整样式表来处理它。我假设<NewLine/>
实际上是一个标记(而不是换行符的表示,并且它总是空的)。