XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> - Stylus Studio - Registrar en o... (1)
-> + Stylus Studio - Registrar en o... (2)
-> + Can a pipeline send a file by ... (2)
-> + After Updateing WIN10 to WIN11... (12)
-> + Where do I add the custom java... (3)
-> + Where is the Diagram tab? (5)
-> + Applying XSLT to Word DOCX/XML (2)
-> - CSV conversion via ConvertToXM... (1)
-> + Text symbols in SS not same as... (4)
-> + Exposing xquery as webservice ... (6)
-> + Syntax Identifier (2)
-> + Saving a Converted XML as an X... (5)
-> + Output document cannot be pars... (4)
-> - Archiving output from conversi... (1)
-> + EDIFACT guideline from Stylus ... (3)
-> + CSV file putting all the data ... (5)
-> + Can't install Home version 64b... (5)
-> + presale - Can I covers this sc... (5)
-> + Problem with UNB (5)
-> + Splitting EDIFACT files pipeli... (4)
-- [1-20] [21-40] [41-60] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Søren HøjbjergSubject: & and & in web service call
Author: Søren Højbjerg
Date: 15 Jul 2013 05:08 AM
Hi,

I seem to have trouble with '&' and '&' when attempting to make a web service call with the document() function.

Let me begin with the preconditions:

a) I have to use XSLT 1.0 and xPath 1.0
b) I am using a GET based web service

In the XSLT, I write something like:

<xsl:variable name="varPOLineKeys">
<xsl:copy-of select="document('http://10.255.151.47:8010/MOREsupport/service?ref=/poso&amp;search=000000012021412'))"/>
</xsl:variable>

As you will note, I am using '&amp;' instead of '&', e.g. at ...../poso&amp;search.....

When I run this in the StylusStudio debugger, I get no meaningful return value. Instead I get like 'Invalid input' when I inspect the variable varPOLineKeys.

When I use a web browser, I use the following URL:

http://10.255.151.47:8010/MOREsupport/service?ref=/poso&search=000000012021412

This yields the expected result, in the form of an xml.

Something is obviously amiss with the replacement of '&' with '&amp;'. How do I do this correctly? Is there a workaround?

Postnext
Ivan PedruzziSubject: & and & in web service call
Author: Ivan Pedruzzi
Date: 16 Jul 2013 10:55 AM
Hi Søren,

The behavior, could be triggered by an encoding error.

Which XSLT processor are you running?

With Saxon you can set "treat non-fatal errors" as warning (-w1).
Have a look at the Scenario -> Processor -> Settings

If the Processor is one of the Java based, can you try to generate the Java code and run it to see if you experience a different behavior?

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Soren HojbjergSubject: & and & in web service call
Author: Soren Hojbjerg
Date: 18 Jul 2013 07:53 AM
I am using Saxon 9.4.0.6. It makes no difference if I check on warnings (-w1). The xslt runs, but I get a return xml like <error>Invalid input</error>.

Perhaps I should construct an example using a web service available on the internet. This will take me a day or two. I will get back.

Postnext
Soren HojbjergSubject: & and & in web service call
Author: Soren Hojbjerg
Date: 18 Jul 2013 08:59 AM
Okay, it was not too difficult to construct an example. I just took this example: http://raflab.gazelle.net/roller/rnoolabs/entry/calling_web_services_from_xslt1

With a minor modification, it is like below, which can be copied into a StylusStudio xslt.

<xsl:stylesheet xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ws="http://earth.google.com/kml/2.0" exclude-result-prefixes="ws" version="2.0">

<xsl:template match="/">
<mini>
<xsl:apply-templates />
</mini>
</xsl:template>

<xsl:template match="/">
<xsl:variable name="gglResponses">
<xsl:copy-of select="document( 'http://maps.google.com/maps/api/geocode/xml?address=CV344SA,UK&amp;sensor=false' )" />
</xsl:variable>

<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lat" />
<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lng" />

</xsl:template>

</xsl:stylesheet>

In the above, absolutely nothing returns from the web service. If called from a browser, a lengthy xml returns.

Postnext
Ivan PedruzziSubject: & and & in web service call
Author: Ivan Pedruzzi
Date: 18 Jul 2013 03:50 PM

It seems to work fine with build 1910k

Ivan Pedruzzi
Stylus Studio Team

Postnext
Soren HojbjergSubject: & and & in web service call
Author: Soren Hojbjerg
Date: 19 Jul 2013 09:08 AM
Okay, I just upgraded to build 1910k. Have now an exact copy of the xslt in your screenshot. I can run it. But it returns nothing.

This has got to be an issue on my side. I have to consider this issue closed on your side. StylusStudio appears to work! Thanks for your time.

Postnext
Ivan PedruzziSubject: & and & in web service call
Author: Ivan Pedruzzi
Date: 19 Jul 2013 09:24 AM

If you are running behind a firewall or a proxy server, make sure that Stylus Studio can pass through.

Ivan

Posttop
Soren HojbjergSubject: & and & in web service call
Author: Soren Hojbjerg
Date: 19 Jul 2013 09:29 AM
Exactly my thoughts. Will check it :-)

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.