5
誰かがXSLTで合体を実行するための組み込み関数を知っていますか、それとも私自身で作成する必要がありますか?xsltはSaxonと機能を融合します
私はこのようないくつかのXMLを持っている:
<root>
<Element1>
<Territory>Worldwide</Territory>
<Name>WorldwideName</Name>
<Age>78</Age>
</Element1>
<Element1>
<Territory>GB</Territory>
<Name>GBName</Name>
</Element1>
</root>
第二の要素1(GB地域)がcompletly任意であり、又はmaynot起こり得るが、しかし、それが発生した場合には、世界中の地域に優先します。
それでは、私が後だったことは、以下の合体のようなものです:
<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)"/>
idは、上記の例では、変数名がGBNameが含まれていることであること。
私はxsl:chooseを使うことができると知っていますが、見た目は4つの場所があり、xsl:ちょうど乱雑で複雑なものになるので、組み込み関数を探していましたが、これまで運がなかった。
ありがとうございます。
あなたは自分の変数から項目のシーケンスを作成し、述語フィルタで最初のものを選択することができXSLT 2.0で
のXPath 2つの支持[条件式](http://www.w3.org/TR/xpath20/#id-conditionals)がよいですこれを達成するのに役立ちます。 –