xsl-list
[Top] [All Lists]

Re: Bad practice

2005-04-08 08:03:31
António Mota wrote:

I hope this message gets to the list, cause my last fews seems that don't. 

What are the consequences of a construction like this in terms of
performance, and what about coding style?

I'm creating a table like this where diasemana.xml is a xml
representation of week days:

                      <table id="{$t}" border="1">
                              <th>Processo</th>
                              <xsl:for-each 
select="document('diassemana.xml')/dias/dia">
                                      <th>
                                              <xsl:value-of select="@txt"/>
                                      </th>
                              </xsl:for-each>
                              <xsl:apply-templates 
select="/GHoras/Processos/Processo"/>
                      </table>

      <xsl:template match="Processo">
              <tr prK="{Processo_K}">
                      <xsl:variable name="this" select="."/>
                      <td>
                              <xsl:value-of select="NomeProcesso"/>
                      </td>
                      <xsl:for-each 
select="document('diassemana.xml')/dias/dia">
                              <xsl:variable name="pos" select="position()"/>
                              <xsl:for-each select="$this">
                                      <xsl:call-template name="edhoras">
                                              <xsl:with-param name="dia" 
select="$pos"/>
                                      </xsl:call-template>
                              </xsl:for-each>
                      </xsl:for-each>
              </tr>
      </xsl:template>

This second use of document() serves only to do a 7th time loop,
without using any data, and the nested for-each is simply to change
context.

Is this a bad practice?
 


i would suggest placing the document() data in a top level variable
<xsl:variable name="diassemana" select="document('diassemana.xml')"/>
then refer to $diassemana.

otherwise...w/o seeing your edhoras named template and example xml cant
really suggest anything else.

--Jim Fuller

--~------------------------------------------------------------------
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>
--~--



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