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

如何在XSLT 1.0中将分组的检查类型值传递至跳转页面筛选信息?

解决方案

1. 首页:生成带检查类型参数的跳转链接

在首页的Muenchian分组展示代码里,给每个检查类型的跳转链接追加查询字符串参数,把当前检查类型的值传递过去。注意对特殊字符做编码,避免URL解析出错:

<!-- 首页的Muenchian分组逻辑 -->
<xsl:for-each select="EntityRef/Attribute[@name='JV_Inspection_Type']/Value[generate-id() = generate-id(key('distinct-inspection-types', .)[1])]">
  <xsl:variable name="currentType" select="."/>
  <!-- 生成带参数的跳转链接 -->
  <a href="inspection-details.xsl?inspectionType={encode-uri($currentType)}">
    <xsl:value-of select="$currentType"/>
  </a>
  <!-- 可追加该类型的统计信息,比如记录数量 -->
  <span>(共{count(key('distinct-inspection-types', $currentType))}条记录)</span>
</xsl:for-each>

2. 跳转页面:接收参数并筛选对应数据

在跳转页面的XSLT中,先定义参数接收传递来的检查类型值,再用该参数筛选出匹配的记录:

步骤1:定义接收参数

在xsl:stylesheet内部、所有模板之前添加参数定义:

<xsl:param name="inspectionType"/>

步骤2:筛选并展示对应数据

直接用参数匹配JV_Inspection_Type的值,或结合Muenchian分组高效筛选:

<!-- 遍历所有检查类型匹配参数值的记录 -->
<xsl:for-each select="EntityRef[Attribute[@name='JV_Inspection_Type']/Value = $inspectionType]">
  <div class="inspection-item">
    <!-- 展示场所名称 -->
    <h3>场所:<xsl:value-of select="Attribute[@name='Location_Name']/Value"/></h3>
    <!-- 展示关联图片(假设图片路径存于Image_Path属性) -->
    <img src="{Attribute[@name='Image_Path']/Value}" alt="检查现场图片"/>
    <!-- 展示其他相关信息 -->
    <p>检查时间:<xsl:value-of select="Attribute[@name='Inspection_Date']/Value"/></p>
  </div>
</xsl:for-each>

补充:处理参数为空的场景

如果要兼容未传递参数的情况,可添加默认提示:

<xsl:if test="not($inspectionType)">
  <p>请选择具体的检查类型查看详情</p>
</xsl:if>

关键说明

  • encode-uri()函数用于处理检查类型值中的特殊字符(如空格、&、中文等),保证URL参数能正确传递。
  • 跳转页面的XSLT需和首页共用同一XML数据源,或能访问包含检查记录的XML数据。
  • 查询字符串是XSLT 1.0场景下最通用的参数传递方案,无需依赖额外扩展功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:33:30