Bug #4913
closedDocumentation/code discrepancy in regex flag for using the JavaScript RE engine
100%
Description
In https://saxonica.plan.io/boards/5/topics/8129?pn=1, Martin Honnen writes:
In https://www.saxonica.com/saxon-js/documentation/index.html#!conformance/regex I find the statement:
Saxon-JS allows the flags argument to be suffixed with the string ";j". If this option is present then the JavaScript regular expression engine is used directly, which means that the JavaScript rules rather than the XPath rules apply
However I get an error trying to use ;j
as a flag. What seems to not raise an error is simply the suffix j
as in e.g. analyze-string(., '\bcan\b', 'ij')/fn:match => count()
.
Is the documentation wrong or the implementation not doing what the documentation says?
Updated by Norm Tovey-Walsh over 3 years ago
- Status changed from New to Resolved
It's a documentation bug. The "j" flag is correct. I've updated the documenation for the next release. Thank you!
Updated by Martin Honnen over 3 years ago
Thanks for the clarification.
However, that resolution deviates from the way Saxon Java or .NET handle Saxon specific flags (https://www.saxonica.com/html/documentation10/functions/fn/matches.html) as they have to be appended by after a semicolon.
So in term of interoperability it would make more sense to me if Saxon-JS also allowed to append the Saxon specific flag(s) after a semicolon.
Updated by Norm Tovey-Walsh over 3 years ago
In practice, there are no mutually compatible flags, though I suppose "j" for Java and "j" for JavaScript might have usefully overlapping semantics.
However, I take your point about compatibility. Unfortunately, we now have a backwards incompatibility in both directions since requiring the semicolon would be incompatible with current Saxon-JS releases.
I've updated the code to optionally support the ";" syntax compatible with other Saxon products and updated the documentation to indicate that that is the preferred syntax. The current syntax, without the ";", will continue to work at least for 'j'.
Updated by Norm Tovey-Walsh over 3 years ago
- Status changed from Resolved to Closed
This issue has been resolved in the Saxon 2.2 maintenance release.
Updated by Norm Tovey-Walsh over 3 years ago
This issue has been resolved in the Saxon 2.2 maintenance release.
Updated by Debbie Lockett over 3 years ago
- % Done changed from 0 to 100
- Fixed in JS Release set to Saxon-JS 2.2
- Fix Committed on JS Branch 2 added
Please register to edit this issue
Also available in: Atom PDF Tracking page