473,320 Members | 1,732 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

XSLT document() problems

Sorry for posting to a lot of groups, but I'm not sure what this
problem relates to, so I thought it was better to be safe than
sorry. Please feel free to set FUT to the proper group when
answering.

I'm having problems with the XSLT function 'document()' after
upgrading to ASP.NET 1.1. I've started using XmlUrlResolver in
the xslt.Transform() method, but it doesn't seem to help in all
cases.

What I use the 'document()' function for, is requesting a
WebService which returns a string. This is how I do it, which
worked in ASP.NET 1.0:

<xsl:variable name="wsLenkeUrl"
select="concat('/D3/WebSvc/Lenke.asmx/HentLenkeUri?
artikkelid=', $artikkelId, '&amp;lenkeid=', $lenkeId)" />

<xsl:variable name="url"
select="document($wsLenkeUrl)/lnk:string" />

The '$url' variable should now contain a URL which is returned
from the webservice. The 'lnk' namespace is declared as the same
used in the return from the WebService. I've also tried using a
static and non-relative path for the '$wsLenkeUrl' (with
"http://...", but it doesn't help.

What's strange, is that if I do the 'document()' function on a
static XML document, it works. I can include (with <xsl:copy-
of>) static XML documents in the same XSLT stylesheet, in the
exact same transformation, but when I do 'document()' on
relative documents as a WebsSrvice, it doesn't work.

What I'm thinking is that doing requests to a WebService might
require some higher permissions than doing so to a static
document. Maybe a QueryString is only permitted when the
permission have been skewed up from the normal permissions, but
I haven't read about this anywhere, and I don't know how to do
it.

Could you please provide me with some information on how to do a
request to a WebService with the 'document()' function in XSLT,
when transformed in an ASP.NET 1.1 WebForm? Many thanks in
advance.

--
Asbjørn Ulsberg -=|=- X-No-Archive: No
"He's a loathsome offensive brute, yet I can't look away"
Nov 17 '05 #1
4 1297
Asbjørn Ulsberg wrote:
The '$url' variable should now contain a URL which is returned
from the webservice. The 'lnk' namespace is declared as the same
used in the return from the WebService. I've also tried using a
static and non-relative path for the '$wsLenkeUrl' (with
"http://...", but it doesn't help.

What's strange, is that if I do the 'document()' function on a
static XML document, it works. I can include (with <xsl:copy-
of>) static XML documents in the same XSLT stylesheet, in the
exact same transformation, but when I do 'document()' on
relative documents as a WebsSrvice, it doesn't work.

Chances are it has something to do with a way you are loading XslTransform
object. E.g. if you are loading it from a string, then of course relative
URI's in document() cannot be resolved relatively to Base URI of the stylesheet.
Show us your code.
--
Oleg Tkachenko
http://www.tkachenko.com/blog
Multiconn Technologies, Israel

Nov 17 '05 #2
"Oleg Tkachenko" skrev:
Chances are it has something to do with a way you are loading
XslTransform object. E.g. if you are loading it from a string,
then of course relative URI's in document() cannot be resolved
relatively to Base URI of the stylesheet.
If I load the XSLT document from a string that has an absolute
URL, shouldn't it work?
Show us your code.


Ok, this is how I do it:

StringWriter sw = new StringWriter();
XslTransform xsl = new XslTransform();

string file = "http://" + HttpContext.Current.Request.Url.Host
+ HttpContext.Current.Request.ApplicationPath +
"/ressurser/xslt/" + xslfile; // "xslfile" is e.g. "tr.xslt"

// "file" will contain the absolute path to the XSLT
// stylesheet document.

xsl.Load(file);
xsl.Transform(dok, null, sw, new XmlUrlResolver());

return sw.ToSTring();

--
Asbjørn Ulsberg -=|=- X-No-Archive: No
"He's a loathsome offensive brute, yet I can't look away"
Nov 17 '05 #3
Asbjørn Ulsberg wrote:
If I load the XSLT document from a string that has an absolute
URL, shouldn't it work?

That means you are loading XSLT document from URL, not from string.
Should work.

Another idea - are you sure your web service supports HTTP GET requests? Try
to open the url in a browser to see what is returned.
--
Oleg Tkachenko
http://www.tkachenko.com/blog
Multiconn Technologies, Israel

Nov 17 '05 #4
"Oleg Tkachenko" skrev:
If I load the XSLT document from a string that has an
absolute URL, shouldn't it work?
That means you are loading XSLT document from URL, not from
string. Should work.


Of course. I just thought «string url = "http://...";» at first,
but now that you explain it, I understand what you initially
meant. #:p
Another idea - are you sure your web service supports HTTP
GET requests?


Yup. I do a little <xsl:value-of select="$url" /> in the XSLT
document, and when I do a HTTP GET on that in a browser, it
returns the correct result.

--
Asbjørn Ulsberg -=|=- X-No-Archive: No
"He's a loathsome offensive brute, yet I can't look away"
Nov 17 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Sergio del Amo | last post by:
Hi, I use the xslt functions provided by php. I am running in my computer the package xampp(www.apachefriends.org) which includes php/apache/mysql .. In this package the php includes the sablotron...
5
by: Don Garrett | last post by:
I have an XML document at the root of a directory tree that contains relative URIs to resources in a directory tree. During XSLT processing, these URI's can be used without any problems to...
2
by: Dave Matthews | last post by:
Hi folks, I'm writing a web-page editing tool for my company which will allow staff (with no "technical" expertise) to maintain their own Intranet sites. The content for each webpage is stored...
4
by: Ringo Langly | last post by:
Hi all, I'm a seasoned web programmer, but I've never touched XSLT. It's always been one of those acronyms I've never needed to educate myself on. Now... we're working with a web content...
4
by: Asbjørn Ulsberg | last post by:
Sorry for posting to a lot of groups, but I'm not sure what this problem relates to, so I thought it was better to be safe than sorry. Please feel free to set FUT to the proper group when...
12
by: Keith Chadwick | last post by:
I have a fairly hefty XSLT file that for the sake of debugging and clarity I wish to split into some separate sub-templates contained within the same file. The master template calls an...
2
by: Pawel | last post by:
I have small problem with XslTransformation. I get from WebService xml document. I have xslt and I want transform xml document to html code. It's look easy but I cant't manage with xPath. Maybe...
3
by: thomas.porschberg | last post by:
Hi, I want to read records from a database and export it in an arbitrary format. My idea was to feed a class with a String array fetched from the database and let this class fire SAX events as...
12
by: Chris | last post by:
Hi, Just wondering if anyone out there knows if it is possible to convert a CSV to xml using XSLT? I've seen a lot of examples of xml to CSV, but is it possible to go back the other way? I...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.