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
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
cristof thomasSubject: XSL error function call PHP
Author: cristof thomas
Date: 11 Jul 2007 04:55 PM
Hello,

I am just testing the SS product with PHP XSLTProcessor and I have a problem to avoid errors with SS with external call of php functions:
i have the following code:
...
<xsl:variable name="url_image">
<xsl:value-of select="$base_site"/>
<xsl:value-of select="php:function('GetPath','IMG')"/>
</xsl:variable>
...
which is generating the error below in SS:

at: file:///c:/EVOBOX%7E1/modele/E_ENV_%7E1.XSL 12
java.lang.RuntimeException: Error: on line 12 of file:///c:/EVOBOX%7E1/modele/E_ENV_%7E1.XSL:
Cannot find a matching 2-argument function named {http://php.net/xsl}function()

at com.exln.stylus.CSaxon8Driver.doProcessing(CSaxon8Driver.java:270)
at com.exln.stylus.CProcessorDriver.process(CProcessorDriver.java:111)
E_ENV_PART.xsl (12, 1)
Error: on line 12 of file:///c:/EVOBOX%7E1/modele/E_ENV_%7E1.XSL: Cannot find a matching 2-argument function named {http://php.net/xsl}function()

but is correctly runing in PHP.

Is there any solution to avoid those errors when calling external PHP functions?

Thanks for your answer.
Regards,

CTh

Postnext
Tony LavinioSubject: XSL error function call PHP
Author: Tony Lavinio
Date: 12 Jul 2007 12:34 AM
You can't call PHP from Saxon which is the XSLT processor
you are using, since Saxon doesn't support PHP callouts.

Postnext
cristof thomasSubject: XSL error function call PHP
Author: cristof thomas
Date: 12 Jul 2007 09:04 AM
Is there any solution to refer to the XSLTProcessor of PHP or do I need to change of tool...?
In case of better tool for PHP, let me know

Postnext
Tony LavinioSubject: XSL error function call PHP
Author: Tony Lavinio
Date: 12 Jul 2007 12:58 PM
If you are using the PHPXsltProcessor as an external
XSLT Processor, make sure you have selected it when
you try to run.

It looks like you set is as the external processor,
but never switched to it.

As far as PHP-based tools for XSLT development, I'm
not aware of any. (It doesn't mean there aren't, but
PHP isn't our focus.)

Postnext
cristof thomasSubject: XSL error function call PHP
Author: cristof thomas
Date: 13 Jul 2007 06:33 AM
I am sorry but I have no idea how to setup the PHP XSLTProcessor to be used from SS.
I am also evaluating other tools and even if PHP is not the focus, I think there is interest for such a tool also to be able to handle XSLT/XML for PHP world.
Thanks in advance for your help in order to allow PHP function calls at execution without exiting from SS or generating errors into the tool.
Regards,

Postnext
David BrownSubject: XSL error function call PHP
Author: David Brown
Date: 13 Jul 2007 10:41 PM
Keep that custom XSL processor option in mind as you look for tools that support PHP directly. I have a feeling that you could do what you want by writing a trivial PHP CLI script that that can process the XML. Just need to read three arguments from the command line; one is the path to the source xml; another is the xsl stylesheet; the third is where you should output your transformed document. That's not so hard, is it?

Good luck with other tools. If you should happen to find a tool that supports PHP natively, wonderful, but I'd be surprised. PHP -- and its license agreement which would make it difficult to incorporate into another product -- is idiosyncratic; I'm one of the first thousand Zend Certified Engineers for what that's (not) worth, so I am not slamming it... I write PHP daily. But it does not have terribly widespread support and your post came across to me as a touch arrogant.

Postnext
cristof thomasSubject: XSL error function call PHP
Author: cristof thomas
Date: 15 Jul 2007 10:27 AM
Originally Posted: 15 Jul 2007 10:26 AM
Litle bit confused with your answer, probably the language barreer to assimilate so much idiomatisms in such a few words.
Can you reword in a more simple way?

Posttop
David BrownSubject: XSL error function call PHP
Author: David Brown
Date: 15 Jul 2007 12:45 PM
I'll try to be more generic and explicit in my word choice:

You will need PHP CLI -- the version of PHP that runs on a command line -- available on your development system that is also running Stylus studio. Read http://www.php.net/manual/en/features.commandline.php to understand more about this php variant.

Write a very small script in PHP that takes values from $argv (documented in that web page) and does the XSL transform you want on the files it finds there.

Set up Stylus Studio to use a "custom" XSL engine that calls your PHP CLI script with the paths specified in whatever order your script expects (the xml path, the xsl path, and the output path).

Please post back here if you do write such a script to share it and the custom setup with other PHP developers.

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
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.