xsl-list
[Top] [All Lists]

Re: Best practices - using vars

2004-08-23 09:55:21
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(_at_)nag(_dot_)co(_dot_)uk>:


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/Tabelas/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/Tabelas/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'))/Estrutura/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
________________________________________________________________________

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









O SAPO já está livre de vírus com a Panda Software, fique você também!
Clique em: http://antivirus.sapo.pt


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