xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Help: amalgamate a series of consecutive mixed nodes


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
Keywords
xml
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor