Re: [xsl] Best practices - using vars

Subject: Re: [xsl] Best practices - using vars
From: xptm@xxxxxxx
Date: Mon, 23 Aug 2004 17:55:21 +0100
In the particular case of xtabnode i realy want a node to be passed as
argument
to a Java method (that expects a org.w3c.dom.Node).

In the other cases, tought, you're saying it's best to use

  <xsl:variable name="sqlInsert" select="sql:getStatement($MasterTable, $sql,
$where, $where, $xtabnode, 'I' )" />

instead of

  <xsl:variable name="sqlInsert">
    <xsl:value-of select="sql:getStatement($MasterTable, $sql, $where,
$where,
$xtabnode, 'I' )" />

because the first returns a string and the second a node with a node text
that
contains a string?

Did i understand correctly?



Quoting David Carlisle <davidc@xxxxxxxxx>:

>
> > What is the cost of using vars? I'm doing this, for instance:
>
> higher if you use them as you have with content rather than a select
> attribute.
>
>
>   <xsl:variable name="xtabnode">
>     <xsl:value-of
>
select="document(concat('.\DicionarioXml\',$MasterTable,'.xml'))/Estrutura/Ta
belas/Tabela[Nome=$MasterTable]"/>
>   </xsl:variable>
>
> produces a result tree fragment with a root node and child a text node
> with string value the string you want. When this result tree fragment is
> used, it  has to be coerced back to a string.
>
>   <xsl:variable name="xtabnode">
>
>
select="document(concat('.\DicionarioXml\',$MasterTable,'.xml'))/Estrutura/Ta
belas/Tabela[Nome=$MasterTable]"/>
>
>
> is less to type and makes the variable have (a pointer to) the Tabela
> node in the specified document.
>
> or perhaps
>
>
>   <xsl:variable name="xtabnode">
>
>
select="string(document(concat('.\DicionarioXml\',$MasterTable,'.xml'))/Estru
tura/Tabelas/Tabela[Nome=$MasterTable])"/>
>
> in which case the variable holds the string value itself.
>
> similarly all your other variable declarations should have select=
>
> David
>
> ________________________________________________________________________
> This e-mail has been scanned for all viruses by Star Internet. The
> service is powered by MessageLabs. For more information on a proactive
> anti-virus service working around the clock, around the globe, visit:
> http://www.star.net.uk
> ________________________________________________________________________
>
>







O SAPO ja esta livre de vmrus com a Panda Software, fique vocj tambim!
Clique em: http://antivirus.sapo.pt

Current Thread