[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Insert an new Element on a attribute value change
Firstly this is essentially a grouping problem so you could do worse than http://www.jenitennison.com/grouping but to answer your questions: > How to test for the non-existance of an > attribute. test="not(@foo)" or test="not(element/@foo)" if the attributes not on teh current element. this is not special syntax it is just part of teh general scheme of things, @foo is an Xpath which selects all attributes called foo, a node set used in a boolean test counts as false just if the node set is empty, which it will be in this case if there are no foo attributes. > And how to select a subset of the following siblings. > The rule: all following siblings until you find one with an existing > attribute newchapter='true'. This is harder in Xpath1 (and Jeni's grouping pages will show how you can use keys to avoid answering it directly) but you can do this as follows: firstly identify the next such element <xsl:variable name="x" select=generate-id(following-sibling*[@newchapter='true'][1])"/> Then select all following siblings that have the property that _their_ first following sibling is the same one: select="following-sibling::*[generate-id(following-sibling*[@newchapter='true'][1])=$x]" David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
|
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
|