- From: <bugzilla@jessica.w3.org>
- Date: Sat, 23 Apr 2016 20:43:45 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29588 Bug ID: 29588 Summary: [fo31] xml-to-json - rules for duplicate keys Product: XPath / XQuery / XSLT Version: Candidate Recommendation Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: Functions and Operators 3.1 Assignee: mike@saxonica.com Reporter: mike@saxonica.com QA Contact: public-qt-comments@w3.org Target Milestone: --- The spec for xml-to-json states that duplicate keys are disallowed, as a consequence of the requirement for the input XML to be valid against our published schema. Our schema says that the @key attribute must be unique for all the element children of a <j:map> element. This doesn't quite achieve the desired effect. For example the following are disallowed as duplicates, when in fact they are different keys: <j:null key="\n" escaped-key="true"/> <j:null key="\n" escaped-key="false"/> and the following pair are not disallowed, although they are different representations of the same key: <j:null key="\n" escaped-key="true"/> <j:null key="
"/> It's possible to solve the first problem by tweaking the schema (make the uniqueness constraint apply to the combination of @key and @escaped-key). Solving the second problem is harder. It could potentially be done using an XSD 1.1 assertion, using a regex to unescape the key values and compare them in unescaped form. (But handling escaped surrogate pairs - even well-formed ones - using regular expressions is not easy!). It would be simpler to state the constraint in prose as part of the xml-to-json function specification, rather than relying on the schema. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Saturday, 23 April 2016 20:43:48 UTC