Howdy --
Using the REST interface, I'm currently able to do the following:
<rest:query xmlns:rest="http://basex.org/rest%22%3E rest:text$foo</rest:text> <rest:variable name="foo" value="bar"/> </rest:query>
...and get back "bar" as a result. Note the lack of a "declare variable $foo external" line.
I haven't read the spec to determine permissibility of this behavior, but it does come in handy at times (particularly, for permitting maximally terse one-liners). Is this something likely to go away in the future?
Thanks!
Hi,
Am 29.03.2012 18:53, schrieb Charles Duffy:
Using the REST interface, I'm currently able to do the following:
<rest:query xmlns:rest="http://basex.org/rest%22%3E rest:text$foo</rest:text> <rest:variable name="foo" value="bar"/> </rest:query>
...and get back "bar" as a result. Note the lack of a "declare variable $foo external" line.
I haven't read the spec to determine permissibility of this behavior, but it does come in handy at times (particularly, for permitting maximally terse one-liners). Is this something likely to go away in the future?
I don't think this "feature" will disappear any time soon, because it's so widely used and doesn't cause any problems. It isn't backed up by the spec though. Every free variable $x in a query is treated as if it was declared as `declare variable $x external;`.
Hope that helps, cheers, Leo
I can just confirm Leo's observation. We (or anyone else) might need to detail this somewhere in our documentation. Am 30.03.2012 02:09 schrieb "Leo Wörteler" lw@basex.org:
Hi,
Am 29.03.2012 18:53, schrieb Charles Duffy:
Using the REST interface, I'm currently able to do the following:
<rest:query xmlns:rest="http://basex.org/**rest http://basex.org/rest"> rest:text$foo</rest:text> <rest:variable name="foo" value="bar"/> </rest:query>
...and get back "bar" as a result. Note the lack of a "declare variable $foo external" line.
I haven't read the spec to determine permissibility of this behavior, but it does come in handy at times (particularly, for permitting maximally terse one-liners). Is this something likely to go away in the future?
I don't think this "feature" will disappear any time soon, because it's so widely used and doesn't cause any problems. It isn't backed up by the spec though. Every free variable $x in a query is treated as if it was declared as `declare variable $x external;`.
Hope that helps, cheers, Leo ______________________________**_________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-**konstanz.de BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.**de/mailman/listinfo/basex-talkhttps://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
You'll be sorry not fixing this sooner rather than later.
What if the UNIX shell automatically exported every variable by default?
This would cause the worst kind of bugs. The ones that creep in while you aren't aware.
A program that worked fine in your polluted environment suddenly stops working when that environment is changed.
Stick with the spec and nobody will blame you.
Cut the corners and people will start (or worse not even) notice some things are unnecessary and remove them... result: unportable programs.
basex-talk@mailman.uni-konstanz.de