Subject: [xsl] Help: amalgamate a series of consecutive mixed nodes From: "Trevor Nicholls" <trevor@xxxxxxxxxxxxxxxxxx> Date: Tue, 14 Feb 2006 15:16:33 +1300 |
Within some XML that I am processing are structures like the following: <list> <item>...</item> <item>...</item> </list> <indent>...</indent> <list> <item>...</item> </list> This structure does not mirror the document structure very well, because logically the <indent> element is part of the <list>; it's a follow on from the immediately preceding <list>/<item> element. But the XML reflects the document formatting rather than the content :-( If the requirement was simply to handle a single <indent> which followed a <list> then I could manage it quite easily, by having a special <item> template for the last <item> in a <list> whose first following-sibling was an <indent>, and a null template for an <indent> whose first preceding-sibling was a <list>. However it's not quite as straight forward as this, because where I have an <indent> in my example I could in fact have a series of elements, e.g. a mixed sequence of <indent>, <Sindent>, <SBody>, and others. So what I am after is (I suppose) a special template for the last <item> in a <list> which is followed by one or more siblings whose names match a list of permitted "followers", and a null template for any of these followers which have a <list> amongst their preceding siblings, and which only have permitted "followers" between themselves and the nearest <list>. I'm finding that difficult enough to specify in English, and it's certainly beyond me in XSL. Has anyone solved this kind of structural problem before? Thanks Trevor
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XSLT output missing XML eleme, Mitch Arends | Thread | Re: [xsl] Help: amalgamate a series, David Carlisle |
[xsl] XSLT output missing XML eleme, Mitch Arends | Date | [xsl] Calling java in xsl., Kamal Bhatt |
Month |