xsl-list
[Top] [All Lists]

RE: Variable assign

2005-12-07 08:32:57
Hi Michael, 

$share is a path
 <xsl:variable name="SHARE" select="$xplconfig/descriptorroot"/>
 <xsl:variable name="xplconfig" 
select="document('../../conf/config.xml')/config"/>

What I want to construct is a relative URI..
Anyway L aready had checkec, and in both situations they were constructing the 
same string..

I already got some answers from Jon Gorman.... 
Going to check the hints he gave me

Thanks everyone

JC

-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Sent: quarta-feira, 7 de Dezembro de 2005 15:22
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Variable assign


You don't say what $SHARE is. Are you constructing an absolute URI or a
relative URI? It shouldn't make a difference: whether you supply a string or
a result-tree-fragment as the argument to the document() function, it should
use the base URI of the stylesheet to resolve any relative URI. But I think
there are some XSLT processors that get this wrong. Try
document(string($file)); and check that you really are constructing the same
string in both cases.

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: João Amílcar Pereira Cruz 
[mailto:joao(_dot_)pereira(_dot_)cruz(_at_)cgd(_dot_)pt] 
Sent: 07 December 2005 15:14
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Variable assign

Hi everyone

I have this code:

<xsl:template match="area[(_at_)type='list']">
   <xsl:variable name="file">
      <xsl:choose>
         <xsl:when test="@dinamicxml='yes'">
            <xsl:value-of select="concat($SHARE,'/DPLX/', 
@descriptor)"/>
         </xsl:when>
         <xsl:otherwise>
            <xsl:value-of select="concat($SHARE, 
$bizcase/@lang, '/descriptors/', @descriptor)"/>
         </xsl:otherwise>
      </xsl:choose>
   </xsl:variable>
   <xsl:variable name="descriptor" 
select="document($file)/descriptor"/>
   <xsl:variable name="multi">
      <xsl:value-of select="$descriptor/@multi"/>
   </xsl:variable>

That doesn't work for the assign of the variable descriptor, 
it keeps telling me that it can't find the specified object.
I already checked the value of the variable file, and its 
correct (it's a path for a XML file)

When I change the assign of the file variable and the code 
looks llike this:

  <xsl:variable name="file" select="concat($SHARE, 
$bizcase/@lang, '/descriptors/', @descriptor)"/>
  <xsl:variable name="descriptor" 
select="document($file)/descriptor"/>
  <xsl:variable name="multi">
    <xsl:value-of select="$descriptor/@multi"/>
  </xsl:variable>

Everything works fine.
Why is it that the assign of the node for the variable 
descritor works well for this option and for the other it doesn't?
What is diference of assigning the file variable using a 
choose and not using?? :-(

Best Regards

JC

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





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


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