Subject: RE: Manipulating elements depending on the existence of sub-elements
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 11 Mar 2008 19:13:11 -0000
|
> So my XSL question is: am I able to check for the existence
> of a "UniqueInfo" element within an "Item" element, and if
> one does not exist, use the UniqueInfo element that the next
> "Item" contains?
Try select="(UniqueInfo | following-sibling::Item[1]/UniqueInfo)[1]
for example, in a variable:
<xsl:variable name="uniqueInfo"
select="(UniqueInfo | following-sibling::Item[1]/UniqueInfo)[1]"/>
This relies on the fact that the result of a union (|) is always in document
order, and "[1]" will therefore select whichever comes first: the UniqueInfo
child of this item, or the UniqueInfo child of the next item.
Michael Kay
http://www.saxonica.com/
|