Lainaus Joona Palaste <[EMAIL PROTECTED]>:

< On Mon, 9 Feb 2004, Kielen, Agnes wrote:
<
< > Try:
< >
< > <xsl:stylesheet version="1.0"
< xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
< > <xsl:template match="/document">
< >        <document>
< >             <xsl:for-each select="node[(position() mod 2) = 1]">
< >                 <group>
< >                     <xsl:copy-of select=". | following-sibling::node[1]"/>
< >                  </group>
< >             </xsl:for-each>
< >     </document>
< >   </xsl:template>
< >
< > </xsl:stylesheet>
<
< Thanks for the advice. What if I want the number of <node> nodes to go
< to a single <group> node to depend on some attribute in the original XML
< document? Say, for example:
<
< <document>
<   <nodes width="3">
<     <node>1</node>
<     <node>2</node>
<     <node>3</node>
<     <node>4</node>
<     <node>5</node>
<     <node>6</node>
<     <node>7</node>
<     <node>8</node>
<   </nodes>
< </document>

Something like (not tested):

  <xsl:template match="/document/nodes">
 <xsl:variable name="module" select="@width"/>
            <document>
                 <xsl:for-each select="node[(position() mod $module) = 1]">
                    <group>
                         <xsl:copy-of select=". |
                   following-sibling::node[position()&lt;$module]"/>
                     </group>
                </xsl:for-each>
                </document>
               </xsl:template>



<
< How can I make this transform to this?
<
< <document>
<   <group>
<     <node>1</node>
<     <node>2</node>
<     <node>3</node>
<   </group>
<   <group>
<     <node>4</node>
<     <node>5</node>
<     <node>6</node>
<   </group>
<   <group>
<     <node>7</node>
<     <node>8</node>
<   </group>
< </document>
<
< In other words, the "length" attribute defines how many <node> nodes go
< under a single <group> node. If there are not enough nodes, then all
< that are left are used. Is this possible in XSLT?
<
< Joona Palaste
< [EMAIL PROTECTED]
<
<
<


***************************************************
* Jarkko Moilanen                                 *
* Dokumentoinnin kehitt�j�                        *
* Profound XML technology Expert                  *
* DokuMentori Oy                                  *
* www.dokumentori.fi                              *
***************************************************

Reply via email to