Re: [xsl] Get the element to original position XSLT 1.0

Subject: Re: [xsl] Get the element to original position XSLT 1.0
From: Piet van Oostrum <piet@xxxxxxxxxxxxxx>
Date: Mon, 31 Jan 2011 06:53:41 -0400
pankaj.c@xxxxxxxxxxxxxxxxxx wrote:

 > All is well and fine till now, but now I am bit struggling with
 > re-transforming back. I understand that I need to match @id of
 > commented text <footnote> with the moved <footnote id="fn0010"> to
 > get at the right position.
 > 
 >  <xsl:template match="comment()">
 >     <xsl:choose>
 >         <xsl:when test="substring(.,2,8)='footnote'">
 >             <!-- do something here  -->
 >         </xsl:when>
 >         <xsl:otherwise>
 >             <xsl:comment><xsl:value-of select="."/></xsl:comment> 
 >         </xsl:otherwise>
 >     </xsl:choose>
 > </xsl:template>
 > 
 > Anybody can throw some idea to get it done. I am definitely missing 
 > something.

  <xsl:key name="endnotes" match="footnote" use="@id"/>

   <xsl:template match="comment()">
      <xsl:choose>
	  <xsl:when test="substring(.,2,8)='footnote'">
	    <xsl:copy-of select="key('endnotes',substring(.,15,6))"/>
	  </xsl:when>
	  <xsl:otherwise>
	      <xsl:copy-of select="."/>
	  </xsl:otherwise>
      </xsl:choose>
   </xsl:template>

-- 
Piet van Oostrum
Cochabamba. URL: http://pietvanoostrum.com/
Nu Fair Trade woonartikelen op http://www.zylja.com

Current Thread