Hi Rick,
If you add a template for your root
<xsl:template match="/Cases">
<xsl:apply-templates />
</xsl:template>
you could simply do this
<xsl:template match="*">
<xsl:copy-of select="." />
</xsl:template>
for covering all the sibling notes
I have two observations however.
- it is worth looking into so called "sibling recursion" for doing
such a task in XSLT1.
I will post an example in a minute
- it is worth considering XSLT2 for this task. Let me know if that is
a viable path.
It has grouping functionality built in for a task like this
Cheers
Geert
At 02:57 17/03/2013, you wrote:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" />
<xsl:template match="Cases/Cases">
<Cases>
<xsl:apply-templates select="Category" />
</Cases>
</xsl:template>
<xsl:template match="Category">
<Case>
<Category><xsl:value-of select="." /></Category>
<xsl:apply-templates
select="following-sibling::CaseTitle
[generate-id(preceding-sibling::Category[1])
= generate-id(current())]" />
<xsl:apply-templates
select="following-sibling::Institution
[generate-id(preceding-sibling::Category[1])
= generate-id(current())]" />
</Case>
</xsl:template>
<xsl:template match="CaseTitle">
<xsl:copy-of select="." />
</xsl:template>
<xsl:template match="Institution">
<xsl:copy-of select="." />
</xsl:template>
</xsl:stylesheet>
--~------------------------------------------------------------------
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>
--~--