0

我有两个 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 中实现?

谢谢你的帮助!

4

2 回答 2

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>

用于|多个 XPaths.. 并<xsl:sort>用于对值进行排序..

如果您想了解更多信息,请提供参考!

http://www.w3schools.com/xsl/el_sort.asp

于 2012-12-04T12:52:43.003 回答
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>
于 2012-12-04T12:22:30.957 回答