Sign In/My Account | View Cart  
advertisement

Article:
 Automated Tree Drawing: XSLT and SVG
Subject: Example trouble
Date: 2004-09-21 08:06:25
From: Motivus

Hi. I'm having some difficulty testing the downloaded example files. When I try to open dbhedge.xml in IE6 under WinXP I get the following error message:


<Error>
Namespace 'http://example.com/my' does not contain any functions.
</Error>


<Note>
I had to add a line to dbhedge.xml so that it would associate the correct XSL file; i.e.,
<?xml-stylesheet type="text/xsl" href="fo-hedge.xsl"?>
</Note>


I'm not perfectly familiar with namespaces, but as far as I can tell the missing function -- my:closingParenPos -- is located in the file hedge2svg.xsl. I know enough about namespaces to not take the error message literally: i.e., it's a URI and not a link to a real resource. So, my question is: how do I get hedge2svg.xsl to recognize the function??


Regards,


Brian


No Previous Message Previous Message   Next Message Next Message


Titles Only Titles Only Newest First
  • Example trouble
    2004-09-21 09:29:02 Jirka Kosek

    To process examples you must use XSLT processor that supports EXSLT extensions. Unfortunately XSLT processor bundled with IE doesn't support EXSLT and thus you are getting these odd error messages. You must use Saxon or xsltproc to try out examples.

    • Example trouble
      2004-09-21 10:14:17 Motivus

      Thanks Jirka. Does Microsoft have any announced plans to come out with an EXSLT-compliant XSLT processor?


      Brian

      • Example trouble
        2004-09-21 14:52:02 Jirka Kosek

        AFAIK no. But there are other intiatives that integrate EXSLT into MSXML. For example http://sourceforge.net/projects/fxsl. Unfortunately such solutions make EXSLT available only to standalone applications that are using XSLT, not to XSLT stylesheets run inside IE.

        • Example trouble
          2004-09-22 11:16:57 Motivus

          You wrote in the article that you "decided to implement (my:closingParenPos) as an EXSLT function because a regularly named template would be too verbose". I am not perfectly XML-literate, but this would seem to imply that one can still accomplish the objective of your article without using EXSLT. As I am most interested in using XSLT and SVG to dynamically draw tree diagrams, can you tell us what changes to make in order to run the example straight-up in IE6?

          • Example trouble
            2004-10-20 08:48:40 Jirka Kosek

            Sorry for a long delay, but I didn't received notification e-mail about new post under my article.


            I prepared demo for IE6 (MSXML) + Adobe SVG Viewer. Just download


            http://www.kosek.cz/temp/hedge2svg-msxml.zip


            and open page.xml in IE. Included XSLT stylesheet uses named templates instead of EXSLT extension function.

            • Example trouble
              2005-05-31 11:28:05 GrosMinet

              Hello every one,


              The link to hedge2svg-msxml.zip is dead, can someone give me a new link or send me the file by email (bilel@linuxmail.org) please ? I need to draw flow diagram trees from dynamic xml data and I need this exemple


              Thank in advance!

            • Example trouble
              2004-11-02 05:00:24 Teflon

              >>Error during XSLT transformation: An unknown XPath extension function was called.


              Still not working....


              Have you been able to get this to work for anyone, Im going to give it a try with server-side transforms but would be nice to do client-side....

              • Example trouble
                2004-11-02 05:05:57 Teflon

                PHP didnt transform it either...php5 using xsltprocessor...just as I normally do.


                Warning: xmlXPathCompOpEval: function node-set not found in c:\Inetpub\wwwroot\hedge2svg-msxml\convertxsl.php on line 19


                Warning: XPath error Unregistered function in exsl:node-set($tree)/node in c:\Inetpub\wwwroot\hedge2svg-msxml\convertxsl.php on line 19
                line 19: fwrite($file_handle, $proc->transformToXML($xml));

                • Example trouble
                  2004-11-02 05:08:37 Jirka Kosek

                  Example posted in discussion is customized for use with MSXML 3.0 (part of IE) as someone requested.


                  PHP5 uses xsltproc, original code posted in article should work with xsltproc.

              • Example trouble
                2004-11-02 05:03:53 Jirka Kosek

                And what XSLT processor you are using? MSXML 3.0 or other?

                • Example trouble
                  2004-11-02 05:07:47 Teflon

                  It should be using MSXML 4.0 SP2 Parser and SDK, as this is the only one installed.

                  • Example trouble
                    2004-11-02 05:12:15 Jirka Kosek

                    Well, on my machine it works both in MSXML 3.0 and 4.0, I tested it using msxsl utility from MS.


                    What happens if you open page.xml in Internet Explorer?




                    • Example trouble
                      2004-11-02 05:27:19 Teflon

                      Sorry for being a pain in the butt, I thought I opened it in IE but in fact was opening it in Firefox, it does work well in IE.


                      Again sorry for the confusion and my idiocy!


Sponsored By: