Monday, 7 May 2012

How to work with <xsl:next-match>?

Input XML:-
<?xml version="1.0" encoding="UTF-8"?>
<aaa> 
  <bbb>12</bbb> 
  <ccc>15</ccc> 
</aaa>

OutPut:-
<zzz>
  <xxx>
    <zzz>
      <bbb>12</bbb>
      <yyy>36</yyy>
    </zzz>
    <ppp>
      <yyy>45</yyy>
    </ppp>
  </xxx>
</zzz>
XSLT CODE:-
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
  <xsl:template  match="/aaa"> 
    <xxx> 
      <xsl:apply-templates  select="*"/> 
    </xxx> 
  </xsl:template> 
  
  <xsl:template  match="*"> 
    <yyy> 
      <xsl:value-of  select="3*."/> 
    </yyy> 
  </xsl:template> 
  
  <xsl:template  match="*[1]" 
    priority="1000"> 
    <zzz> 
      <xsl:next-match/> 
    </zzz> 
  </xsl:template> 
  
  <xsl:template  match="bbb"> 
    <xsl:copy-of  select="."/> 
    <xsl:next-match/> 
  </xsl:template> 
  
  <xsl:template  match="ccc"> 
    <ppp> 
      <xsl:next-match/> 
    </ppp> 
  </xsl:template> 
  
</xsl:stylesheet>


1 comment:

Pravesh Kumar said...

i m unable to understand u'r code!!!