- 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