Я пытаюсь выбрать значения из нескольких узлов с одинаковыми именами, но я не могу создать переменные или операторы IF, которые являются успешными.
В приведенном ниже примере я пытаюсь выяснить, как создать оператор IF в XSLT, в котором говорится, что IF HouseID и HouseNo из узла Houses совпадают с HouseID и HouseNo из узла Streets, а затем показывают цену соответствующего узел.
Ниже приведен пример XML:
<pi:Houses>
<pi:HouseID>1111</pi:HouseID>
<pi:HouseNo>012</pi:HouseNo>
<pi:Price>100000</piPrice>
</pi:House>
<pi:Streets>
<pi:HouseID>1111</pi:HouseID>
<pi:HouseNo>012</pi:HouseNo>
<pi:Price>100000</piPrice>
</pi:Streets>
<pi:Houses>
<pi:HouseID>2222</pi:HouseID>
<pi:HouseNo>098</pi:HouseNo>
<pi:Price>9000000</piPrice>
</pi:House>
<pi:Streets>
<pi:HouseID>2222</pi:HouseID>
<pi:HouseNo>098</pi:HouseNo>
<pi:Price>9000000</piPrice>
</pi:Streets>
В настоящее время я пытаюсь использовать
<xsl:if test ="pi:Houses/pi:HouseID = pi:Streets/HouseID">
<xsl:value-of select="pi:Houses/pi:Price"/>
</xsl:if>
Но это дает мне два значения. Я пытался использовать оператор position (), но не радость.
Любые предложения будут великолепны, спасибо!