- From: COUTHURES Alain <alain.couthures@agencexml.com>
- Date: Wed, 15 Dec 2010 22:40:39 +0100
- To: Nick Van den Bleeken <Nick.Van.den.Bleeken@inventivegroup.com>
- CC: "public-forms@w3.org" <public-forms@w3.org>, "www-forms@w3.org" <www-forms@w3.org>
- Message-ID: <4D0935D7.1060309@agencexml.com>
Nick,
>
> ·You could simplify the expressions by removing the '/*/' the initial
> context is the root element, so when the context isn't changed you
> could write "/*/a[1]" as just "a[1]" (which is more appealing)
>
Yes, I will improve my paper about that.
>
> ·Why use an attribute exsi:maxOccurs and not exsi:is-arry (in the
> examples only the presence or absence of unbound is used, so it cold
> be replaced by a boolean)
>
I think that, independently of JSON arrays, defining exsi:maxOccurs and
exsi:minOccurs might be useful to limit items editing within repeat.
There is no xsd:is-array, BTW.
>
> ·I don't like the '________' it is hard to remember how many '_' you
> have to type. Why not use something like "exml:element" (better name
> is welcome)
>
This element has to be in the empty namespace as others for not
disturbing the namespace-uri() and name() functions. Its name has to be
improbable in JSON objects and shouldn't be typed. Better name is
welcome, of course.
>
> ·I don't like the section 'XPath Engine Proposed Enhancements' because
> it makes requires you to change the core XPath engine. In my opinion
> this will do more harm than it does good, because the standard
> selectors and functions will behave differently if you are accessing a
> JSON instance and one xpath expression could access both native XML
> instances and JSON instances. I'm afraid this will be confusing for
> both novice and experienced XPath users. (we could maybe us
> json-name() instead of fullname() and maybe do some other small tweaks
> to make life easier (e.g.: json-node('a') returns the node with name
> 'a' in the current context, in XPath 2.0 one can then write
> json-node('a')[2] or json-node('a')/ b/ json-node('1234').
>
This should not be limited to JSON. vCard is interesting too, CSV
wouldn't be difficult to integrate either and so on. That's why I
banished names starting with "json-".
I really think that the single document element restriction in XML 1.0
is a very bad idea and I hope that next versions of XML will allow
multiple roots. That's why I'm using "exml:noname" as a dummy element :
it's a name to be recognized as a special one due to XML 1.0
limitations. I think the instance() function is more confusing comparing
it with document() or doc() functions. As you say, the default context
is already at the document element which is disturbing when used to
XPath evaluation from other languages.
Calling a function within a path is not permitted in XPath 1.0 and, for
performance, I consider that a function call is more time consuming
whereas this can be interpreted, once for all, at parsing time.
I understand that some implementations are based on external XPath
engines not allowing to improve the core syntax but just to add external
functions. XSLTForms (and, as far as I know, other client-side
implementations written in Javascript) needs its own XPath engine. XPath
was designed for XML only but there is not much to be added to allow
using it with other notations.
Thanks!
-Alain
Received on Wednesday, 15 December 2010 21:40:44 UTC