RE: equivalent for 'while'
> Well I have an XML document which has several <DEFCONCEPT> elements. > Each of these elements contain certain <CHILD> sub-elements > of the form > below: > > <DEFCONCEPT id="123" name="abc"> > <CHILD ref="567">abcChild</CHILD> > </DEFCONCEPT> > > <DEFCONCEPT id="567" name="abcChild"> > <CHILD ref="890">abcGrandChild</CHILD> > </DEFCONCEPT> > > <DEFCONCEPT id="890" name="abcGrandChild"/> > > How could I then place conditions when processing this XML > doc such that > it continues searching for a <CHILD> element until it finds > 'abcGrandChild' ? > > I thought perhaps a single statement could loop until the condition > becomes 'true' which is obviously not in lines with declarative > programming. How else is it then possible? Don't think in terms of the the program processing the first element, then the second, and so on, in a time-ordered manner. Rather, describe the set of elements that you want to be processed: that is, preceding-siblings of the DEFCONCEPT named "abcGrandChild": <xsl:for-each select="DEFCONCEPT[name="abcGrandChild"]/preceding-sibling::DEFCONCEPT" Michael Kay http://www.saxonica.com/
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format