Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 一个值如何绑定到另一个绑定的节点以获取该节点内的文本_Xml_Xslt - Fatal编程技术网

Xml 一个值如何绑定到另一个绑定的节点以获取该节点内的文本

Xml 一个值如何绑定到另一个绑定的节点以获取该节点内的文本,xml,xslt,Xml,Xslt,1我有一个XML和XSLT文件,我希望XSLT自动从同一个XML文件中的另一个节点获取值 XSLT第68行我知道不应该这样写,但我真的不知道如何将值传递给键('Description2-by-id', 谢谢 XML数据 <DATA> <CountryList> <CountryName code="AA" name="Antarctica" IsT="True"/> <CountryName code="AB" n

1我有一个XML和XSLT文件,我希望XSLT自动从同一个XML文件中的另一个节点获取值

XSLT第68行我知道不应该这样写,但我真的不知道如何将值传递给键('Description2-by-id', 谢谢

XML数据

<DATA>
    <CountryList>
        <CountryName code="AA" name="Antarctica" IsT="True"/>
        <CountryName code="AB" name="Abkhazia" IsT="False"/>
    </CountryList>
    <Description1List>
        <Description1Name Description1Id="1" RecordType="Person">P1</Description1Name>
        <Description1Name Description1Id="2" RecordType="Person">P2</Description1Name>
        <Description1Name Description1Id="1" RecordType="Entity">E1</Description1Name>
    </Description1List>
    <Description2List>
        <Description2Name Description2Id="1" Description1Id="2">P21</Description2Name>
        <Description2Name Description2Id="2" Description1Id="2">P22</Description2Name>
        <Description2Name Description2Id="3" Description1Id="3">E11</Description2Name>
    </Description2List>
    <Description3List>
        <Description3Name Description3Id="1" Description2Id="1">P211</Description3Name>
        <Description3Name Description3Id="2" Description2Id="3">E111</Description3Name>
    </Description3List>
    <ReferencesList>
        <ReferenceName code="9811" name="National List" Description2Id="1"/>
    </ReferencesList>
    <Records>
        <Person id="752" date="15-Oct-2013">
            <Country CountryType="BB">
                <CountryValue>AA</CountryValue>
            </Country>
            <Descriptions>
                <Description Description1="1" Description2="2" Description3="1"/>
                <Description Description1="2"/>
            </Descriptions>
            <References>
                <Reference>9811</Reference>
            </References>
        </Person>
        <Entity id="758" date="15-Oct-2013">
            <Country CountryType="BC">
                <CountryValue>AB</CountryValue>
            </Country>
            <Descriptions>
                <Description Description1="1" Description2="3" Description3="2"/>
                <Description Description1="3"/>
            </Descriptions>
        </Entity>
    </Records>
</DATA>
我所期望的结果是

|ID  |Date        |Country                |Description1  |Description2  |Description3  |Reference  |ReferenceName  |ReferenceDescription2code  |ReferenceDescription2| 
|752 |15-Oct-2013 |[BB] Antarctica [True] |P1            |P22           |P211          |9811       |National List  |1                          |                     |
|752 |15-Oct-2013 |[BB] Antarctica [True] |P2            |              |              |9811       |National List  |1                          |                     |
|758 |15-Oct-2013 |[BC] Abkhazia [False]  |E1            |E11           |E111          |           |               |                           |                     |
|758 |15-Oct-2013 |[BC] Abkhazia [False]  |              |              |              |           |               |                           |                     |
|ID  |Date        |Country                |Description1  |Description2  |Description3  |Reference  |ReferenceName  |ReferenceDescription2code  |ReferenceDescription2| 
|752 |15-Oct-2013 |[BB] Antarctica [True] |P1            |P22           |P211          |9811       |National List  |1                          |P21                  |
|752 |15-Oct-2013 |[BB] Antarctica [True] |P2            |              |              |9811       |National List  |1                          |P21                  |
|758 |15-Oct-2013 |[BC] Abkhazia [False]  |E1            |E11           |E111          |           |               |                           |                     |
|758 |15-Oct-2013 |[BC] Abkhazia [False]  |              |              |              |           |               |                           |                     |
又来了

我担心这个例子不够清楚(太多类似的值),也没有解释逻辑(!),所以这只是一个猜测:

<td>
    <xsl:value-of select="key('Description2-by-id', key('Reference-by-code', $varReference)/@Description2Id)"/>
</td>


这样做的目的是(1)从匹配的
ReferenceName
中获取
@Description2Id
值,以及(2)使用它通过
'Description2By-id'
键获取
Description2Name
值。

是的,同样,这是一个巨大的xml xsd,大约120kb,数据约为1.5gb,我只能简化数据,并列出我的问题,是的,你的猜测是正确的。这正是我想要的,非常感谢
<td>
    <xsl:value-of select="key('Description2-by-id', key('Reference-by-code', $varReference)/@Description2Id)"/>
</td>