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

XSLT分组转换:按SUBJECT分组及DocumentList节点校验实现需求

XSLT转换实现方案

你需要的节点校验、冗余数据过滤功能可通过调整现有XSLT代码实现,最终可用代码如下:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="html" />

  <!-- 分组规则:按SUBJECT字段对Document节点分组 -->
  <xsl:key name="groups" match="//KnowledgeBaseAdvancedSearchResponse/DocumentList/Document" use="SUBJECT" />

  <xsl:template match="/">
    <!-- 校验DocumentList节点是否存在 -->
    <xsl:choose>
      <xsl:when test="//KnowledgeBaseAdvancedSearchResponse/DocumentList">
        <!-- 调用分组逻辑,每个SUBJECT分组仅输出一次,过滤冗余数据 -->
        <xsl:apply-templates select="//KnowledgeBaseAdvancedSearchResponse/DocumentList/Document[generate-id() = generate-id(key('groups', SUBJECT)[1])]" />
      </xsl:when>
      <xsl:otherwise>no data found</xsl:otherwise>
    </xsl:choose>
    <!-- 错误信息校验 -->
    <xsl:choose>
      <xsl:when test="//Errors">There were errors.</xsl:when>
    </xsl:choose>
  </xsl:template>

  <!-- 分组后输出SUBJECT内容 -->
  <xsl:template match="Document">
    <h1><xsl:value-of select="SUBJECT" /></h1>
  </xsl:template>

</xsl:stylesheet>

功能说明

  • 节点校验:根模板优先判断DocumentList节点是否存在,不存在时直接输出no data found
  • 冗余过滤:保留原有Muenchian分组逻辑,相同SUBJECT的Document节点仅输出第一条,无重复内容
  • 兼容参考框架:保留了参考代码中的错误节点校验逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:30:01