XSLT - Saxon malformed URL unknown protocol: xmldb












0















In eXist 4.4/XQuery 3.1 I perform an XSL 2.0 transformation using transform:transform(). In the transformation I pass a parameter into the XSL transformation for Saxon to use to access information in the database.



<param name="paramSaxondatapath" value="xmldb:exist:///db/apps/deheresi/data/"/>


Everything works great: Saxon retrieves the nodes needed from documents in eXist-DB and the XSL transformation is successful.



Now, I am trying to do execute the same but from outside the eXist-DB environment (local drive, using Oxygen). Thus, in the XSLT document I have hardcoded the parameter:



<xsl:param name="paramSaxondatapath">xmldb:exist:///db/apps/deheresi/data/</xsl:param>


Yet when I fire this XSLT file off locally (in Oxygen, local XSLT file, Saxon-HE 9.6.0.7), Saxon throws me an exception unknown protocol: xmldb



FODC0002: Exception thrown by URIResolver: 
Malformed URL
xmldb:exist:///db/apps/deheresi/data/bibliography.xml
(base file:/Users/foo/Desktop/De_Heresi/deheresi_TEI/fo_dep_single.xsl):
unknown protocol: xmldb


Considering that this is passed to Saxon in identical manner (ie wrapped in doc(concat(paramSaxondatapath,'somefile.xml')), I'm surprised this isn't reacting the same way both times.



Is there a different URI I should be using?



Many thanks.



EDIT: Curiously, if I use command line for the transformation (ie not triggered by Oxygen), Saxon accepts it and performs the transformation. It appears to have something to do with Oxygen...










share|improve this question





























    0















    In eXist 4.4/XQuery 3.1 I perform an XSL 2.0 transformation using transform:transform(). In the transformation I pass a parameter into the XSL transformation for Saxon to use to access information in the database.



    <param name="paramSaxondatapath" value="xmldb:exist:///db/apps/deheresi/data/"/>


    Everything works great: Saxon retrieves the nodes needed from documents in eXist-DB and the XSL transformation is successful.



    Now, I am trying to do execute the same but from outside the eXist-DB environment (local drive, using Oxygen). Thus, in the XSLT document I have hardcoded the parameter:



    <xsl:param name="paramSaxondatapath">xmldb:exist:///db/apps/deheresi/data/</xsl:param>


    Yet when I fire this XSLT file off locally (in Oxygen, local XSLT file, Saxon-HE 9.6.0.7), Saxon throws me an exception unknown protocol: xmldb



    FODC0002: Exception thrown by URIResolver: 
    Malformed URL
    xmldb:exist:///db/apps/deheresi/data/bibliography.xml
    (base file:/Users/foo/Desktop/De_Heresi/deheresi_TEI/fo_dep_single.xsl):
    unknown protocol: xmldb


    Considering that this is passed to Saxon in identical manner (ie wrapped in doc(concat(paramSaxondatapath,'somefile.xml')), I'm surprised this isn't reacting the same way both times.



    Is there a different URI I should be using?



    Many thanks.



    EDIT: Curiously, if I use command line for the transformation (ie not triggered by Oxygen), Saxon accepts it and performs the transformation. It appears to have something to do with Oxygen...










    share|improve this question



























      0












      0








      0








      In eXist 4.4/XQuery 3.1 I perform an XSL 2.0 transformation using transform:transform(). In the transformation I pass a parameter into the XSL transformation for Saxon to use to access information in the database.



      <param name="paramSaxondatapath" value="xmldb:exist:///db/apps/deheresi/data/"/>


      Everything works great: Saxon retrieves the nodes needed from documents in eXist-DB and the XSL transformation is successful.



      Now, I am trying to do execute the same but from outside the eXist-DB environment (local drive, using Oxygen). Thus, in the XSLT document I have hardcoded the parameter:



      <xsl:param name="paramSaxondatapath">xmldb:exist:///db/apps/deheresi/data/</xsl:param>


      Yet when I fire this XSLT file off locally (in Oxygen, local XSLT file, Saxon-HE 9.6.0.7), Saxon throws me an exception unknown protocol: xmldb



      FODC0002: Exception thrown by URIResolver: 
      Malformed URL
      xmldb:exist:///db/apps/deheresi/data/bibliography.xml
      (base file:/Users/foo/Desktop/De_Heresi/deheresi_TEI/fo_dep_single.xsl):
      unknown protocol: xmldb


      Considering that this is passed to Saxon in identical manner (ie wrapped in doc(concat(paramSaxondatapath,'somefile.xml')), I'm surprised this isn't reacting the same way both times.



      Is there a different URI I should be using?



      Many thanks.



      EDIT: Curiously, if I use command line for the transformation (ie not triggered by Oxygen), Saxon accepts it and performs the transformation. It appears to have something to do with Oxygen...










      share|improve this question
















      In eXist 4.4/XQuery 3.1 I perform an XSL 2.0 transformation using transform:transform(). In the transformation I pass a parameter into the XSL transformation for Saxon to use to access information in the database.



      <param name="paramSaxondatapath" value="xmldb:exist:///db/apps/deheresi/data/"/>


      Everything works great: Saxon retrieves the nodes needed from documents in eXist-DB and the XSL transformation is successful.



      Now, I am trying to do execute the same but from outside the eXist-DB environment (local drive, using Oxygen). Thus, in the XSLT document I have hardcoded the parameter:



      <xsl:param name="paramSaxondatapath">xmldb:exist:///db/apps/deheresi/data/</xsl:param>


      Yet when I fire this XSLT file off locally (in Oxygen, local XSLT file, Saxon-HE 9.6.0.7), Saxon throws me an exception unknown protocol: xmldb



      FODC0002: Exception thrown by URIResolver: 
      Malformed URL
      xmldb:exist:///db/apps/deheresi/data/bibliography.xml
      (base file:/Users/foo/Desktop/De_Heresi/deheresi_TEI/fo_dep_single.xsl):
      unknown protocol: xmldb


      Considering that this is passed to Saxon in identical manner (ie wrapped in doc(concat(paramSaxondatapath,'somefile.xml')), I'm surprised this isn't reacting the same way both times.



      Is there a different URI I should be using?



      Many thanks.



      EDIT: Curiously, if I use command line for the transformation (ie not triggered by Oxygen), Saxon accepts it and performs the transformation. It appears to have something to do with Oxygen...







      xslt-2.0 saxon exist-db oxygenxml






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 13 '18 at 12:25







      jbrehr

















      asked Nov 13 '18 at 12:07









      jbrehrjbrehr

      115212




      115212
























          1 Answer
          1






          active

          oldest

          votes


















          0














          My guess is that when eXist invokes Saxon, it sets a URIResolver that recognizes URIs with the "xmldb:exist:" prefix and handles them itself. Outside the eXist environment, you would need to supply your own URIResolver that does something similar - connects to the database and retrieves the required document.






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53280716%2fxslt-saxon-malformed-url-unknown-protocol-xmldb%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            My guess is that when eXist invokes Saxon, it sets a URIResolver that recognizes URIs with the "xmldb:exist:" prefix and handles them itself. Outside the eXist environment, you would need to supply your own URIResolver that does something similar - connects to the database and retrieves the required document.






            share|improve this answer




























              0














              My guess is that when eXist invokes Saxon, it sets a URIResolver that recognizes URIs with the "xmldb:exist:" prefix and handles them itself. Outside the eXist environment, you would need to supply your own URIResolver that does something similar - connects to the database and retrieves the required document.






              share|improve this answer


























                0












                0








                0







                My guess is that when eXist invokes Saxon, it sets a URIResolver that recognizes URIs with the "xmldb:exist:" prefix and handles them itself. Outside the eXist environment, you would need to supply your own URIResolver that does something similar - connects to the database and retrieves the required document.






                share|improve this answer













                My guess is that when eXist invokes Saxon, it sets a URIResolver that recognizes URIs with the "xmldb:exist:" prefix and handles them itself. Outside the eXist environment, you would need to supply your own URIResolver that does something similar - connects to the database and retrieves the required document.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 13 '18 at 15:07









                Michael KayMichael Kay

                109k660114




                109k660114






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53280716%2fxslt-saxon-malformed-url-unknown-protocol-xmldb%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Bressuire

                    Vorschmack

                    Quarantine