如何在XSL中保留空间

时间:2014-10-15 09:53:23

标签: xslt-1.0

我有以下过程的XML

<p>
 <contribution>
  <authors><author>
   <surname>Zhengxing</surname> <given-name>Chen</given-name>
  </author> </authors>
 </contribution>
</p>

但我需要以下格式。主要问题是姓氏和名字之间的空间。但是在转换文件后,空间就消失了。

<p>
 <span class="contribution">
  <span class="authors"><span class="author">
     <span class="surname">Zhengxing</span> <span class="given-name">Chen</span>
  </span> </span>
 </span>
</p>

感谢您提前。

1 个答案:

答案 0 :(得分:1)

试试这个:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="@*|node()">
   <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
   </xsl:copy>
</xsl:template>
<xsl:template match="p">
    <xsl:element name="p"><xsl:apply-templates/></xsl:element>
</xsl:template>
  <xsl:template match="contribution|authors|author|surname|given-name">
    <xsl:element name="span">
        <xsl:attribute name="class"><xsl:value-of select="name()"/></xsl:attribute>
        <xsl:apply-templates/>
    </xsl:element>
  </xsl:template>
</xsl:stylesheet>