如何在XSLT中基于另一个列合并列的值?

时间:2018-11-27 07:13:00

标签: xml xslt

如何基于XSLT中的另一列合并一列的值?

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <Document>
<Type>N</Type>
<Id>205777</Id>
<Document_No>001</Document_No>
<Date>Jul 23, 2014</Date>
<Items>
    <Item>
        <Item_Id>9352025</Item_Id>
        <Date>Jun 7, 2030</Date>
        <Code>U-2116</Code>
    </Item>
    <Item>
        <Item_Id>9352025</Item_Id>
        <Date>Jun 7, 2030</Date>
        <Code>U-2114</Code>
    </Item>
    <Item>
        <Item_Id>9352025</Item_Id>
        <Date>Jun 7, 2030</Date>
        <Code>U-2111</Code>
    </Item>
    <Item>
        <Item_Id>9161937</Item_Id>
        <Date>May 10, 2022</Date>
        <Drug_Product_Flag>Y</Drug_Product_Flag>
        <Code>U-1556</Code>
    </Item>
    <Item>
        <Item_Id>9168252</Item_Id>
        <Date>May 10, 2022</Date>
        <Drug_Product_Flag>Y</Drug_Product_Flag>
        <Code>U-1556</Code>
    </Item>
</Items>
</Document>

我想要输出

enter image description here

请帮助我。 我已经尝试过了 <xsl:for-each select="/Document/Items/Item[generate-id()=generate-id(key('itemKey',Item_Id)[1])]">

1 个答案:

答案 0 :(得分:0)

您需要创建两个键

func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
     <#navigation code here#>
}

并使用您的 for-each 循环有效利用 count

<xsl:key name="itemKey" match="/Document/Items/Item" use="Item_Id"/>
<xsl:key name="itemCodeKey" match="/Document/Items/Item" use="concat(Item_Id, '|', Code)"/>