472,791 Members | 1,167 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,791 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 11 '05 #1
4 4751
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 11 '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 11 '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 11 '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 11 '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...
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...
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: 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
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Sept 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
0
by: Rina0 | last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
0
by: lllomh | last post by:
How does React native implement an English player?
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth

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.