[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Variable assign

Subject: RE: Variable assign
From: João Amílcar Pereira Cruz <joao.pereira.cruz@xxxxxx>
Date: Wed, 7 Dec 2005 15:32:57 -0000
xsl assign
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@xxxxxxxxxxxx]
Sent: quarta-feira, 7 de Dezembro de 2005 15:22
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  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: Joco Ammlcar Pereira Cruz [mailto:joao.pereira.cruz@xxxxxx]
> Sent: 07 December 2005 15:14
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  Variable assign
>
> Hi everyone
>
> I have this code:
>
> <xsl:template match="area[@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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.