收录日期:2018/08/17 01:46:43 时间:2016/05/20 18:27:07 标签:XML/XSL
我有一段XML如下所示:
======== XML =============
.
.
.
<data>
<table>
 <id>1</id>
 <value>10</value>
</table>
<table>
 <id>2</id>
 <value>10</value>
</table>
<table>
 <id>3</id>
 <value>16</value>
</table>
<table>
 <id>4</id>
 <value>11</value>
</table>
<table>
 <id>5</id>
 <value>10</value>
</table>
</data>
.
.
.

======== xsl ======
....
<xsl:template match="data">
 <select size="1">
  <xsl:for-each select="table" order-by="value">
   <option><xsl:value-of select="value"/></option>
  </xsl:for-each>
 </select>
</xsl:template>
....


我现在希望xsl中的template生成如下代码,怎么修改XSL文件?
<select size="1">
 <option>10</option>
 <option>11</option>
 <option>16</option>
</select>
 

忘了说明,命名空间是xmlns:xsl="http://www.w3.org/TR/WD-xsl"的
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<select size='1'>
<xsl:for-each select="/data/table/value">
<xsl:variable name="myid1" select="../id"/>
<xsl:variable name="myid2" select="/data/table/value[.=current()]/../id"/>
<xsl:if test="number($myid1)=number($myid2)">
<option>
<xsl:value-of select="."/>
</option>
</xsl:if>
</xsl:for-each>
</select>
</xsl:template>
</xsl:stylesheet>
http://www.w3.org/TR/WD-xsl我没试过,应该也可以用的。。