Thank you, Christian!
To answer your question concerning path checks: I could not yet work on the
path checking itself, but in the context of another, top-priority task I study
the BaseX format of query plans intensely (using the plans as reference data
for checking other kinds of data). Also, getting increasingly familiar with the
query plan format, the task of path checking becomes more and more feasible in
my mind, even before starting to code it. Please have a little patience, I
shall tackle the task as soon as possible.
Finally, I mention in passing how I feel about this ready availability of
parsing results: I view it as a major achievement of BaseX, as it opens the
door to enable "expressional configuration", turning XQuery expressions
essentially into a basic data type, as basic as date or number. Now, we can
check expression items, just like we are used to check numbers or dates. Thank
you, BaseX!
Cheers,Hans-Jürgen
Christian Grün schrieb am 15:16 Mittwoch,
9.März 2016:
Hi Hans-Jürgen,
Thanks for your feature requests, I’ll have some thoughts on that.
Did you already invest some time in the path checks we discussed recently?
All the best,
Christian
On Tue, Mar 8, 2016 at 11:52 AM, Hans-Juergen Rennau wrote:
> Dear BaseX team,
>
> the query plans produced by xquery:parse-uri represent the state reached
> after resolving all imports. In particular, if module A imports module B and
> B contains a function F called by A, then function F is contained in the
> plan of module A, although the definition of function F is contained by
> module B, not by module A. And I think there is not way of finding out that
> fact.
>
> I understand that the behaviour is exactly what is required for compiling
> and executing the plans, but for purposes of analysis it would be great if
> it were possible to determine whether module A CONTAINS OR IMPORTS the
> definition of function F. A boolean flag (e.g. " ...") would suffice! Then, given a pool of modules, one could determine
> where to find what.
>
> As a hilarious fact, this feature (those boolean flags) would be very
> helpful in order to repair applications run with (or also with) the Saxon
> processor and "broken" by recent changes of Saxon: formerly, Saxon was
> tolerant about calling functions contained by *indirectly* imported modules
> (e.g. module A imports B, B imports C, A was allowed to call functions in
> C). This is now changed (A must import C explicitly), and repair of
> large-scale application would be greatly facilitated if the query plans
> could be evaluated as sketched. In fact, one could easily produce a report
> telling exactly which imports to add to which modules.
>
> So BaseX could lend a helping hand to Saxon users. Apart from that, of
> course, the feature would generally be great for supporting applications of
> code analysis.
>
> Cheers,
> Hans-Jürgen
>
>
>