xsl-list
[Top] [All Lists]

RE: howto add elements to sections of xml document

2004-03-08 09:52:23

I apologize if this is a double-post, I did not
receive the message to my other address so I created
another one.

I would like to tranform the following xml:
<doc>
   <section>
      <title>XXXXXX</title>
      <para>XXX XXX XXX</para>

      <title>YYYYYY</title>
      <para>YYY YYY YYY</para>
      <para>YYY YYY YYY</para>
   </section>
</doc>

to:

<doc>
   <section>

      <sub-section>
         <title>XXXXXX</title>
         <para>XXX XXX XXX</para>
      </sub-section>

      <sub-section>
         <title>YYYYYY</title>
         <para>YYY YYY YYY</para>
         <para>YYY YYY YYY</para>
       <sub-section>

   </section>
</doc>

This is very similar to the other post about grouping today, you want
the identity transform with the following two templates:

<xsl:template match="section">
  <section>
    <xsl:apply-templates select="title"/>
  </section>  
</xsl:template>

<xsl:template match="title">
  <sub-section>
    <xsl:copy-of select="."/>
    <xsl:copy-of select="following-sibling::para[
                        generate-id(preceding-sibling::title[1]) 
                        = generate-id(current())]"/>
  </sub-section>
</xsl:template>
                        

cheers
andrew

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>