RE: [xsl] Manipulating elements depending on the existence of sub-elements

Subject: RE: [xsl] 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/

Current Thread