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

XSLT开发需求:按车辆类别分组承保代码并计算保费拆分

XSLT分组处理

需针对指定请求XML编写XSLT,完成以下操作:

  • 按车辆类别(VehicleCategory)分组承保代码(CoverageCode);
  • 汇总同一承保代码的总保费;
  • 汇总同一承保代码+车辆类别的保费;
  • 根据车辆序列号(VehicleSequenceNo)匹配车辆类别;
  • 基于上述汇总值计算保费拆分比例。

输入XML

<Root>
  <Request>
    <Vehicles>
      <Vehicle>
        <VehicleSequenceNo>1</VehicleSequenceNo>
        <VehicleCategory>Tractor</VehicleCategory>
      </Vehicle>
      <Vehicle>
        <VehicleSequenceNo>2</VehicleSequenceNo>
        <VehicleCategory>Tractor</VehicleCategory>
      </Vehicle>
      <Vehicle>
        <VehicleSequenceNo>3</VehicleSequenceNo>
        <VehicleCategory>Trailer</VehicleCategory>
      </Vehicle>
    </Vehicles>
    <Policies>
      <Policy>
        <PrimaryAuto>
          <Liability>
            <Exposures>
              <Vehicle>
                <VehicleSequenceNo>1</VehicleSequenceNo>
                <CoverageProvided>
                  <CoverageCode>L1</CoverageCode>
                  <Premium>100</Premium>
                </CoverageProvided>
              </Vehicle>
              <Vehicle>
                <VehicleSequenceNo>2</VehicleSequenceNo>
                <CoverageProvided>
                  <CoverageCode>L1</CoverageCode>
                  <Premium>200</Premium>
                </CoverageProvided>
              </Vehicle>
              <Vehicle>
                <VehicleSequenceNo>3</VehicleSequenceNo>
                <CoverageProvided>
                  <CoverageCode>L1</CoverageCode>
                  <Premium>150</Premium>
                </CoverageProvided>
                <CoverageProvided>
                  <CoverageCode>UI</CoverageCode>
                  <Premium>140</Premium>
                </CoverageProvided>
              </Vehicle>
            </Exposures>
          </Liability>
        </PrimaryAuto>
      </Policy>
    </Policies>
  </Request>
</Root>

预期输出XML

<PremiumSplit>
    <Liability>
        <Vehicle>
            <CoverageSection>Liability</CoverageSection>
            <CoverageCode>L1</CoverageCode>
            <!-- 100 + 200 + 150 = 450 (sum of all L1 code premium) , 
            100 + 200 = 300 (sum of Tractor L1 premium) , 
            450 / 300 = 1.5 -->
            <CoveragePercent>1.5</CoveragePercent>
            <VehicleCategory>Tractor</VehicleCategory>
        </Vehicle>
        <Vehicle>
            <CoverageSection>Liability</CoverageSection>
            <CoverageCode>L1</CoverageCode>
            <!-- 100 + 200 + 150 = 450 (sum of all L1 code premium) , 
            150 (Trailer L1 premium) , 
            450 / 150 = 3 -->
            <CoveragePercent>3</CoveragePercent>
            <VehicleCategory>Trailer</VehicleCategory>
        </Vehicle>
        <Vehicle>
            <CoverageSection>Liability</CoverageSection>
            <CoverageCode>UI</CoverageCode>
            <!-- 140 (Trailer UI premium) / 140 (Trailer UI premium) = 1 -->
            <CoveragePercent>1</CoveragePercent>
            <VehicleCategory>Trailer</VehicleCategory>
        </Vehicle>
    </Liability>
</PremiumSplit>

当前问题

已尝试通过foreach遍历指定节点提取CoverageCode和VehicleSequenceNo,但仍需实现:

  • 根据提取的VehicleSequenceNo匹配对应的VehicleCategory;
  • 识别重复CoverageCode并完成保费汇总与拆分比例计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 04:30:07