[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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
Keywords
xsl