xsl-list
[Top] [All Lists]

Re: Transposing matrices

2002-10-20 12:29:27

Nickolay -

should the 'embedded' matrices be transposed as well?
then maybe

<xsl:template match="matrix"> <!-- no need for // -->
 <xsl:variable name="matrix" select="."/>
 <matrix>
 <xsl:for-each select="row[1]/item">
 <xsl:variable name="i" select="position()"/>
 <row>
   <xsl:for-each select="$matrix/row">
     <item><xsl:apply-templates select="item[$i]/*"/></item>
   </xsl:for-each>
 </row>
 </xsl:for-each>
 </matrix>
 </xsl:template>

provided there's a template (eg the default) for text that copies
content that isn't a matrix. also, this may not work with non-text,
non-matrix items!

otherwise, replace the value-of with copy-of :
    <xsl:copy-of select="item[$i]"/>
(no enclosing <item> tags as you get them anyhow with the copy-of)

btw, you wrote: <xsl:for-each select="//row">
this will match on all rows of all matrices, probably not what you want

hth,

/m




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



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