Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ports for eXist-db and Saxon #16

Merged
merged 5 commits into from
Jun 5, 2023

Conversation

adamretter
Copy link
Contributor

@adamretter adamretter commented Jun 4, 2023

Closes #8

  1. I wasn't quite sure about this one - 1ef3be2
  2. I have tested the eXist-db port with just a simple XML Doc and Schematron, and was able to get SVRL using:
    import module namespace xqs = 'http://www.andrewsales.com/ns/xqs' at 'xmldb:exist:///db/xqs/xqs.xqm';
    xqs:validate(doc('/db/xqs/test/foo.xml'), doc('/db/xqs/test/assertion-message-braces.xml')/*)
  3. I haven't tested the Saxon port.

If you can tell me how to run the BaseX test suite from the command line and determine if it fails or passes (by exit code?), then I could also add GitHub Actions CI to run tests for this against BaseX and eXist-db.

@AndrewSales AndrewSales merged commit e7c59c3 into AndrewSales:main Jun 5, 2023
@AndrewSales
Copy link
Owner

Thanks so much, @adamretter !
You're right about @queryBinding.
I'll add instructions to the README for running tests - really appreciate your help here.

@AndrewSales
Copy link
Owner

Ah... in the BaseX docs, it says:

"The three functions fn:transform, fn:load-xquery-module and fn:collation-key may be added in a future version of BaseX as their implementation might require the use of additional external libraries."

@adamretter
Copy link
Contributor Author

Thanks so much, @adamretter !

@AndrewSales you are very welcome :-)

I'll add instructions to the README for running tests - really appreciate your help here.

Let me know when you have that, and if you would like, I can send a PR to get CI testing this against eXist-db and BaseX.

@adamretter
Copy link
Contributor Author

adamretter commented Jun 5, 2023

"The three functions fn:transform, fn:load-xquery-module and fn:collation-key may be added in a future version of BaseX as their implementation might require the use of additional external libraries."

Oh dear! Apologies, I was under the impression that BaseX supported all XQuery 3.1 functions.
I would think that BaseX could implement fn:load-xquery-module without adding any additional libraries, at least that was my experience with this in eXist-db.

Maybe we can ask @ChristianGruen if that is possible for the next version of BaseX? If not, perhaps we have to adjust my changes to make it a manual choice for the user as to which port module to use.

@AndrewSales
Copy link
Owner

Oh dear! Apologies, I was under the impression that BaseX supported all XQuery 3.1 functions.

No problem! Me too.

Maybe we can ask @ChristianGruen if that is possible for the next version of BaseX?

I'll ask on the BaseX forum.

If not, perhaps we have to adjust my changes to make it a manual choice for the user as to which port module to use.

Sure.

BTW, instructions for the test suite are here, if you do have time to take a look: https://github.com/AndrewSales/XQS#running-the-test-suite.

Thanks again.

@adamretter
Copy link
Contributor Author

Thanks Andrew. I heard informally that BaseX may be able to address the module load issue soon... So hopefully that will help with this

@ChristianGruen
Copy link

Hi together, we’ll add an implementation of fn:load-xquery-module in BaseX 11, which is planned for Summer/Fall this year. A proof-of-concept implementation will be made available with BaseX 10.7 or 10.8.

@AndrewSales
Copy link
Owner

AndrewSales commented Jun 8, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable evaluation using other XQuery engines
3 participants