|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Pattern question: first child of first descendant
I think it's match="entry[. is ancestor::table[1]/descendant::entry[1]]/*[self::title|self::para][1]" Note the use of "is" rather than "=". When matching complex patterns like this, it's sometimes best to preselect all the matching elements into a global variable: <xsl:variable name="initial-paras" select="//table/descendant::entry[1]/*[self::title|self::para][1]"/> <xsl:template match="*[. intersect $initial-paras]"> See also http://www.w3.org/Bugs/Public/show_bug.cgi?id=5464 Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Christian Roth [mailto:roth@xxxxxxxxxxxxxx] > Sent: 24 March 2009 01:10 > To: XSL List > Subject: Pattern question: first child of first descendant > > Hello, > > I am looking for a pattern that does "match the first title > or para child of the first entry descendant of a table > element". I'm using XSLT2. > > The pattern I have come up with so far is > > match="*[self::para or self::title][parent::entry = > (ancestor::table[1]// entry)[1]][1]" > > It seems to work, but looks a little cumbersome to me. Is > there a better way to express that match? > > - Christian
|
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
|

Cart








