Hi All,
I need to group the input.
Input:
<root>
<num>This chapter is..:</num>
<test>A class is a module of Java code:</test>
<section>or</section>
<title>Java 5.0</title>
<test>The Java programming language</test>
<p>Write Once, Run Anywhere.</p>
<num>Java j2ee</num>
<p>Broad Responsibilities:...</p>
<num>Job Description Perform Oracle...</num>
</root>
Expected output:
<msgs>
<msg>
<num>This chapter is..:</num>
<import>
<test>A class is a module of Java code:</test>
<title>Java 5.0</title>
<section>or</section>
<test>The Java programming language</test>
</import>
<p>Write Once, Run Anywhere.</p>
</msg>
<msg>
<num>Java j2ee</num>
<p>Broad Responsibilities:...</p>
</msg>
<msg>
<num>Job Description Perform Oracle...</num>
</msg>
</msgs>
I tried with the below stylesheet.
<xsl:template match="root">
<msgs>
<xsl:for-each-group select="*"
group-starting-with="*[starts-with(name(), 'num')]">
<msg>
<xsl:apply-templates select="." mode="msg"/>
<xsl:for-each-group select="current-group() except ."
group-ending-with="test[last()]">
<xsl:apply-templates select="." mode="msg"/>
<import>
<xsl:apply-templates select="current-group() except ." mode="msg"/>
</import>
</xsl:for-each-group>
</msg>
</xsl:for-each-group>
</msgs>
</xsl:template>
Output received:-
<msgs>
<msg>
<num>This chapter is..:</num>
<import>
<test>A class is a module of Java code:</test>
<section>or</section>
<title>Java 5.0</title>
<test>The Java programming language</test>
</import>
<import><!--Import tag need to remove -->
<p>Write Once, Run Anywhere.</p>
</import>
</msg>
<msg>
<num>Java j2ee</num>
<import> <!-- import tag need to remove -->
<p>Broad Responsibilities:...</p>
</import>
</msg>
<msg>
<num>Job Description Perform Oracle...</num>
</msg>
</msgs>
Where I need to modify the stylesheet to get the expected output?
Thanks in advance,
Balaji. M
--~------------------------------------------------------------------
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>
--~--