关于XML和XSL转换成文本的问题,请能人帮助解决一下.
现在有以下文件.
XML文件:
<?xml version="1.0"?>
<doc version="1.00"><Info title="test" stime="0" etime="274905"/>
<Sentence speaker="aaa" stime="0" etime="4769"><Word>hello</Word></Sentence>
<Sentence speaker="aaa" stime="4769" etime="7642"><Word>hi</Word></Sentence>
<Sentence speaker="aaa" stime="7642" etime="10865"><Word>hello2</Word></Sentence></doc>
XSL文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="gb2312"/>
<xsl:template match="/doc">
<xsl:for-each select="Sentence">
<xsl:call-template name="Sentence"/>
</xsl:for-each>
</xsl:template>
<xsl:template name="Sentence">
<xsl:if test="string-length(./@speaker) > 0">
<xsl:variable name="name" select="./@speaker"/>
<xsl:if test="position() > 1">
<xsl:text>
</xsl:text>
</xsl:if>
<xsl:value-of select="'○'"/>
<xsl:value-of select="./@speaker"/>
<xsl:value-of select="' '"/>
</xsl:if>
<xsl:if test="starts-with(Word, '<')">
<xsl:text>
</xsl:text>
<xsl:value-of select="' '"/>
</xsl:if>
<xsl:if test="starts-with(Word, '[')">
<xsl:text>
</xsl:text>
<xsl:value-of select="' '"/>
</xsl:if>
<xsl:value-of select="Word"/>
<xsl:if test="starts-with(Word, '<')">
<xsl:text>
</xsl:text>
</xsl:if>
<xsl:if test="starts-with(Word, '[')">
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Transform转换后的文本文件如下:
○aaa hello
○aaa hi
○aaa hello2
我想要输出下面的结果:
○aaa hellohihello2
也就是说重复aaa的内容都在一行显示.谁能帮我改一下XSL文件.谢谢了!