Czy ktoś wie o wbudowanej funkcji do wykonywania koalescencji w XSLT, czy będę musiał napisać własną?xslt funkcja koalescencji z Saxonem
mam formacie XML, jak to:
<root>
<Element1>
<Territory>Worldwide</Territory>
<Name>WorldwideName</Name>
<Age>78</Age>
</Element1>
<Element1>
<Territory>GB</Territory>
<Name>GBName</Name>
</Element1>
</root>
Drugi element1 (GB terytorium) jest całkowicie opcjonalne i może, maynot występuje jednak, gdy ma nastąpić ma pierwszeństwo nad, światowego terytorium.
Więc co miałem po coś jak poniżej coalesce:
<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 jest, że nazwa zmiennej w powyższym przykładzie będzie zawierać GBName.
Wiem, że mógłbym użyć xsl: wybrać, ale mam kilka miejsc, gdzie są 4 miejsca, w których mógłby wyglądać i xsl: wybór staje się bałaganiarski i skomplikowany, więc miał nadzieję znaleźć wbudowaną funkcję, ale bez powodzenia do tej pory.
Dziękuję.
xPath 2 podtrzymuje [wyrażenia warunkowe] (http://www.w3.org/TR/xpath20/#id-conditionals), który może pomóżcie to osiągnąć. –