Matthew,
I would approach this as a grouping problem. In order to deal with
the <div> structure (which, you note, may be in the way), I might
strip it out with a pre-process. I might also choose to use XSLT 2.0
if I could, since it includes much better facilities than does 1.0
for this sort of thing.
But to hint at what could develop into a solution in XSLT 1.0:
<xsl:key name="elems-by-header" match="p | img | ul | foo | baz"
use="preceding::h2[a][1]"/>
<xsl:template match="p | img | ul"/>
<xsl:template match="h2[a]">
<xsl:copy-of select="."/>
<xsl:copy-of select="key('elems-by-header',.)"/>
</xsl:template>
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--