Hi All,
I have an XML file like below:
<artfront>
<metadata>â¦â¦.</metadata>
<journaldata>â¦â¦</journaldata>
<author>â¦â¦â¦â¦â¦</author>
</artfront>
<artbody>
<section id="s1">
<heading1 level="1">section-1</heading1>
<para>This is ---------para---------text.</para>
<table1>------------Table Text---------------</table>
<procplace>------- proceeding date/place------</procplace>
<proctopic> ------proceeding topic--------------</proctopic>
<procplace>------- proceeding date/place------</procplace>
<proctopic> ------proceeding topic--------------</proctopic>
<procplace>------- proceeding date/place------</procplace>
<proctopic> ------proceeding topic--------------</proctopic>
<footnotetext>This is ----------foot---------text</footnotetext>
<subsect id="s1-1">
<heading2 level="2">heading2 level 2</heading2>
<para>This is ---------para---------text.</para>
<procplace>------- proceeding date/place------</procplace>
<proctopic> ------proceeding topic--------------</proctopic>
<procplace>------- proceeding date/place------</procplace>
<proctopic> ------proceeding topic--------------</proctopic>
<figure1>--------------Figure info ---------------</figure>
</subsect>
<subsect id="s1-2">
<heading2 level="2">heading2 level 2</heading2>
<para>This is ---------para---------text.</para>
</subsect>
<subsect id="s1-3">
<heading2 level="2">heading2 level 2</heading2>
<para>This is ---------para---------text.</para>
<subsect id="s1-3-1">
<heading3 level="3">heading3 level 3</heading2>
<list>This is ---------list---------text.</list>
<procplace>------- proceeding date/place------</procplace>
<proctopic> ------proceeding topic--------------</proctopic>
<procplace>------- proceeding date/place------</procplace>
<proctopic> ------proceeding topic--------------</proctopic>
<equation> This is ---------equation---------text.</equation>
</subsect>
</subsect>
</section>
Following is XSL used specified by forum:
----------------------------------------
<xsl:template match="*">
<xsl:copy>
<xsl:for-each-group select="child::node()" group-adjacent="self::procplace or self::proctopic">
<xsl:choose>
<xsl:when test="current-grouping-key()">
<meeting>
<xsl:apply-templates select="current-group()"/>
</meeting>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="current-group()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each-group>
</xsl:copy>
</xsl:template>
Observed Output - WRONG
-----------------------
<meetings><procplace>------- proceeding date/place------</procdate></meetings>
<meetings><proctopic> ------proceeding topic------</proctopic></meetings>
<meetings><procplace>------- proceeding date/place------</procdate></meetings>
<meetings><proctopic> ------proceeding topic------</proctopic></meetings>
<meetings><procplace>------- proceeding date/place------</procdate></meetings>
<meetings><proctopic> ------proceeding topic------</proctopic></meetings>
Required Output - Correct
-------------------------
<meetings>
<procplace>------- proceeding date/place------</procdate>
<proctopic> ------proceeding topic------</proctopic>
<procplace>------- proceeding date/place ------</procdate>
<proctopic> ------proceeding topic------</proctopic>
</meetings>
The problem is it a set of node (<procplace> and <proctopic>) will be couple which will come like.
\artbody\body1\section\procplace following proctopic
\artbody\procplace following proctopic
\artbody\section\procplace following proctopic
so it will note be a child for any element
I was trying this for more than a week.
I would greatly appreciate any help provided.
Thanks & Regards,
- ROCXY