RE: [xsl] How to use an image path passed in an XML file to use it on an XSL

Subject: RE: [xsl] How to use an image path passed in an XML file to use it on an XSL
From: cknell@xxxxxxxxxx
Date: Mon, 04 Apr 2005 07:44:54 -0400
> In my xsl i wrote the below line to read the above xml line
> 
> <fo:external-graphic src="staffPhoto"/>
>
>What is wrong in this ?

It may be many things, but it is certainly true that it will fail if you don't use the attribute value template (AVT for short). The correct XPath expression to retrieve the value of the <staffPhoto> element depends on which node the template you are calling it from is processing.

So, assuming that <staffPhoto> is a child of the node the template is processing, this will do it.
<fo:external-graphic src="{staffPhoto}"/>

If the node that your template is processing is <staffNode> itself, then this will do it.
<fo:external-graphic src="{.}"/>

No more can be said without seeing more of your source document and stylesheet.

-- 
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     Beena Abraham <beenamanu@xxxxxxxxx>
Sent:     Mon, 4 Apr 2005 10:33:05 +0800
To:       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  [xsl] How to use an image path passed in an XML file to use it on an XSL

I would like to know how the complete url passed as a data in xml with
tag staffPhoto ,which can be used in <fo:external-graphic src=.....> ?

I tried to read the xml line which is generated via a program in this way,

<staffPhoto> url('file:C:///staff/beena.jpg') </staffPhoto>

In my xsl i wrote the below line to read the above xml line

<fo:external-graphic src="staffPhoto"/>

What is wrong in this ? I got the error message, Error with image URL
:staffPhoto (the system cannot find the file specified) and no base
URL is specified.

But if i copy paste the url path , the image will be loaded without any problem.

Please help me to solve this problem  and is very crucial in my project.

I also tried the way you suggested to use the xsl:param ...

I am using 
xml version 1.0 encoding "ISO-8859-1".
xsl:stylesheet version 1.0
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:fo="http://www.w3.org/1999/XSL/Format";

Thanks a lot.
Beena

Current Thread