我有两个XSLT模板需要合并为一个,然后按字母顺序排序:
<xsl:template match="properties-for-sale">
<xsl:for-each select="entry">
<option value="{name}">
<xsl:value-of select="name"/>
</option>
</xsl:for-each>
</xsl:template>
<xsl:template match="properties-for-rent">
<xsl:for-each select="entry">
<option value="{name}">
<xsl:value-of select="name"/>
</option>
</xsl:for-each>
</xsl:template>
如何在XSLT中实现这一目标?
感谢您的帮助!
答案 0 :(得分:2)
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="properties-for-sale|properties-for-rent">
<xsl:for-each select="entry">
<xsl:sort select="name" order="ascending"/>
<option value="{name}">
<xsl:value-of select="name"/>
</option>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
对多个XPath使用|
..并使用<xsl:sort>
对值进行排序..
答案 1 :(得分:1)
您可以使用|
运算符进行匹配
<xsl:template match="properties-for-sale|properties-for-rent">
<xsl:for-each select="entry">
<option value="{name}">
<xsl:value-of select="name"/>
</option>
</xsl:for-each>
</xsl:template>