[xsl] Bad practice

Subject: [xsl] Bad practice
From: António Mota <amsmota@xxxxxxxxx>
Date: Fri, 8 Apr 2005 15:52:30 +0100
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?

Current Thread