XQuery IntelliJ Plugin 1.3
10 Nov 2018
- Added support for the eXist-db XQuery database.
- Initial support for running queries on the BaseX, eXist-db, MarkLogic and Saxon XQuery processors.
- Support for Saxon 9.9 and BaseX 9.1 syntax extensions (see below).
- Support for the BaseX and Saxon built-in functions. Thanks to Bridger Dyson-Smith for adding these.
- Improved resolving imported modules, names, and functions (see below).
Saxon Vendor Extensions:
- Recognise Saxon
UnionTypeconstructs inTypedMapTestsequence types. - Support
TupleTypeconstructs with names only, not associated sequence types. - Support Saxon 9.8 simple inline function expressions.
- Support Saxon 9.9
orElseandandAlsological expressions. - Support Saxon 9.9 optional field names for tuples, and extensible tuples.
- Support
NCNameandURIQualifiedNametypes in theunion()syntax.
BaseX Vendor Extensions:
- Support the BaseX 9.1
TernaryIfExprconditional expressions. - Support the BaseX 9.1
ElvisExprconditional expressions. - Support the BaseX 9.1 if expressions without else branches.
XQuery Working Draft 02 May 2003 and MarkLogic 0.9-ml Support:
- Support
empty()syntax forempty-sequence().
Invalid Syntax Recovery:
- Recover parsing when the
CompElemConstructor,CompAttrConstructor,CompPIConstructor, orCompNamespaceConstructortag name is aStringLiteral. - Recover parsing when a
SequenceTypeis used in aParenthesizedItemType.
Static Context:
- Add the
sqlnamespace to the MarkLogic static context, added in MarkLogic 7.0. - Add support for the BaseX built-in functions and static context. Thanks to Bridger Dyson-Smith for providing the built-in function definitions.
- Add support for the Saxon built-in functions and static context. Thanks to Bridger Dyson-Smith for providing the built-in function definitions.
- Add support for EXPath and EXQuery module functions used by BaseX and Saxon as built-in functions and importable modules.
Module Import Resolution:
- Use project source roots to resolve module import URIs.
- Locate built-in definitions from
http://-basedURILiteralnodes. - Resolve all location URIs in a
ModuleImport, not just the first valid location. - Resolve
ModuleImportdeclarations that don’t specifyatpaths.
EQName Resolution:
- Expand
NCName-basedEQNamenodes, using the default element or function namespaces where appropriate. - Resolve EQNames bound to
NamespaceDecldeclarations. - Resolve EQNames bound to
DefaultNamespaceDecldeclarations. - Resolve EQNames bound to
DirAttributeListattributes.
Function Resolution:
- Matching statically-known functions against expanded QNames.
- Search the
MainModule/LibraryModuleprolog for function declarations.
Inspections:
- IJVS0001: Report warnings for constructs that require a different XQuery version.