2014-04-14 155 views
0

我有一个xml样式表,它接受多个xml文档并转换并组合它们。但是所有的xml文档都包含相同的细节,节点名称是不同的。在一个给了我的问题,我有一个:xsl用另一个替换空元素

<description> 
some text... 
<NewLine/> 
some text... 
<NewLine/> 
some text... 
</description> 

我怎样才能改变这:

<details> 
<p>some text...</p> 
<p>some text...</p> 
<p>some text...</p> 
</details> 

回答

2

使用此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/>实际上是一个标记(而不是换行符的表示,并且它总是空的)。

+0

Thanx,这实际上做了伎俩。 是我的主要问题,一个空的标签,我不知道如何解决它。 – Elterado

相关问题