You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将XML变量传入XSLT模板进行节点排序与移除处理

解决方法

直接通过<xsl:apply-templates>将变量中的XML节点传入模板即可——document()加载的XML在变量中是XDM节点集,可直接作为模板的处理目标。

整合后的完整代码示例

<!-- 已有XML变量定义 -->
<xsl:variable name="BANES_326" select="document('FHRS_BANES_326.xml')"/>

<!-- 保留你的基础转换模板:递归复制节点+子节点排序 -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()">
            <xsl:sort select="RatingDate" order="descending"/>
        </xsl:apply-templates>
    </xsl:copy>
</xsl:template>

<!-- 保留移除指定节点的模板 -->
<xsl:template match="ChangesByServerID|Distance|NewRatingPending"/>

<!-- 在需要输出处理结果的位置调用模板 -->
<xsl:template match="/">
    <!-- 直接对变量中的XML文档应用模板 -->
    <xsl:apply-templates select="$BANES_326"/>
</xsl:template>

关键说明

  • 若只需处理变量中XML的特定部分,可调整select的路径,比如$BANES_326/YourRootElement,精准定位到目标节点。
  • 原模板的排序逻辑仅对当前节点的直接子节点按RatingDate降序排列,若需对更深层级节点排序,需调整模板匹配规则或xsl:sort的作用范围。

内容的提问来源于stack exchange,提问作者DaveF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 17:45:14