Subject: Re: [xsl] Using XPath to match two node levels with the same name From: "Mark Peters" <flickrmeister@xxxxxxxxx> Date: Mon, 7 Aug 2006 15:20:52 -0400 |
Thanks, Mark
Please try this stylesheet:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:redirect="http://xml.apache.org/xalan/redirect"
extension-element-prefixes="redirect">
<xsl:output method="xml" />
<xsl:template match="/"> <xsl:apply-templates select="topic" /> <xsl:apply-templates select="//topic[count(ancestor::topic) = 1]" /> </xsl:template>
<xsl:template match="topic"> <xsl:variable name="filename" select="concat(@id,'.xml')"/> <redirect:write select="$filename"> <topic> <xsl:copy-of select="@*" /> <xsl:apply-templates mode="x"/> </topic> </redirect:write> </xsl:template>
<xsl:template match="topic[count(ancestor::topic) = 1]"> <xsl:variable name="filename" select="concat(@id,'.xml')"/> <redirect:write select="$filename"> <xsl:copy-of select="." /> </redirect:write> </xsl:template>
<xsl:template match="*" mode="x"> <xsl:if test="not(self::topic)"> <xsl:copy> <xsl:copy-of select="@*" /> <xsl:apply-templates mode="x" /> </xsl:copy> </xsl:if> </xsl:template>
</xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Using XPath to match two , Mukul Gandhi | Thread | [xsl] Copy one namespace, replace a, Marc Franquesa |
Re: [xsl] Use of separator, andrew welch | Date | Re: [xsl] Xpath and Ranges, Florent Georges |
Month |