我有以下XML
<?xml version="1.0" encoding="UTF-8"?>
<orderedlist>
<listitem>
<para>
<citation>
<citetitle pubwork="other">aaaaaa</citetitle>
ccccccccccc
</citation>
.
</para>
</listitem>
<listitem>
<para>
<citation>
<citetitle pubwork="other">cccc</citetitle>
mmmm
</citation>
.
</para>
</listitem>
</orderedlist>
当我在这上面运行我的XSLT时,有一些空格(或者可以是换行符),就像</span>
和.
之间的空格一样。
有没有办法去除这些空间?我使用了<xsl:strip-space elements="*"/>
,但我觉得它没什么用处。
以下是我的XSLT。
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="html" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<hmtl>
<head>
<title>New Version!</title>
</head>
<xsl:apply-templates/>
</hmtl>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template name="orderedlist" match="orderedlist">
<ol class="eng-orderedlist orderedlist">
<xsl:apply-templates/>
</ol>
</xsl:template>
<xsl:template name="orderitempara" match="listitem/para">
<li class="item">
<div class="para">
<xsl:if test="./@num">
<xsl:variable name="phrase">
<xsl:value-of select="concat('P',./@num)"/>
</xsl:variable>
<xsl:variable name="newphrase" select="translate($phrase,'.','-')"/>
<a>
<xsl:attribute name="name"><xsl:value-of select="$newphrase">
</xsl:value-of></xsl:attribute>
<span class="phrase">
<xsl:value-of select="./@num"/>
</span>
</a>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:apply-templates/>
</div>
</li>
</xsl:template>
<xsl:template name="para" match="para">
<div class="para">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="citation">
<span class="font-style-italic">
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="citetitle">
<span class="font-style-italic">
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="."/>
</xsl:template>
</xsl:transform>
这是一个有效的演示。 http://xsltransform.net/6rewNxz
当前o / p:
<ol class="eng-orderedlist orderedlist">
<listitem>
<li class="item">
<div class="para"> <span class="font-style-italic"><span class="font-style-italic">aaaaaa</span>
ccccccccccc
</span>
.
</div>
</li>
</listitem>
<listitem>
<li class="item">
<div class="para"> <span class="font-style-italic"><span class="font-style-italic">cccc</span>
mmmm
</span>
.
</div>
</li>
</listitem>
</ol>
预期o / p:
<ol class="eng-orderedlist orderedlist">
<listitem>
<li class="item">
<div class="para"> <span class="font-style-italic"><span class="font-style-italic">aaaaaa</span> ccccccccccc</span>.
</div>
</li>
</listitem>
<listitem>
<li class="item">
<div class="para"> <span class="font-style-italic"><span class="font-style-italic">cccc</span> mmmm</span>.
</div>
</li>
</listitem>
</ol>
请告诉我如何获得所需的o / p。
由于
答案 0 :(得分:0)