Re: [xsl] flattening and re-ordering nested notes

Subject: Re: [xsl] flattening and re-ordering nested notes
From: Walter Lee Davis <waltd@xxxxxxxxxxxx>
Date: Mon, 18 Aug 2008 14:33:11 -0400
Thanks again.

On Aug 18, 2008, at 12:06 PM, Andrew Welch wrote:

<xsl:template match="@*|node()" mode="#all">
	<xsl:copy>
		<xsl:apply-templates select="@*|node()"/>
	</xsl:copy>
</xsl:template>

<xsl:template match="note"/>

<xsl:template match="document">
	<xsl:copy>
		<xsl:apply-templates select="@*|node()"/>
	</xsl:copy>
	<xsl:apply-templates select="//note" mode="notes"/>
</xsl:template>

</xsl:stylesheet>


Would this be the equivalent in 1.0 syntax, or am I missing something basic? (I am getting some strange results with missing IDs, and I wonder if I'm not being specific enough on the mode="notes" part.)

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/ Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@*|node()" mode="notes">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>


<xsl:template match="note"/>

<xsl:template match="document">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<xsl:apply-templates select="//note[not(@type='margin' or @type='sourcenote')]" mode="notes"/>
</xsl:copy>
</xsl:template>


</xsl:stylesheet>


Thanks,


Walter

Current Thread