XSLT で合体を実行するための組み込み関数を知っている人はいますか?それとも自分で作成する必要がありますか?
次のようなxmlがあります。
<root>
<Element1>
<Territory>Worldwide</Territory>
<Name>WorldwideName</Name>
<Age>78</Age>
</Element1>
<Element1>
<Territory>GB</Territory>
<Name>GBName</Name>
</Element1>
</root>
2 番目の要素 1 (GB Territory) は完全にオプションであり、発生する場合と発生しない場合がありますが、発生した場合は WorldWide Territory よりも優先されます。
だから私がしたのは、以下の合体のようなものです:
<xsl:variable name="Worldwide" select="root/Element1[./TerritoryCode ='Worldwide']"/>
<xsl:variable name="GB" select="root/Element1[./TerritoryCode ='GB']"/>
<xsl:variable name="Name" select="ext:coalesce($GB/Name, $Worldwide/Name)"/>
上記の例の変数 Name である ID には、GBName が含まれます。
xsl:choose を使用できることはわかっていますが、4 つの場所があり、xsl:choose が面倒で複雑になる場所がいくつかあるので、組み込み関数を見つけたいと思っていましたが、これまでのところ運がありませんでした。 .
ありがとうございました。