[Bug 28947] New: [SER 3.1] Adaptive method: sequences of length >1 in maps and arrays

https://www.w3.org/Bugs/Public/show_bug.cgi?id=28947

            Bug ID: 28947
           Summary: [SER 3.1] Adaptive method: sequences of length >1 in
                    maps and arrays
           Product: XPath / XQuery / XSLT
           Version: Last Call drafts
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Serialization 3.1
          Assignee: cmsmcq@blackmesatech.com
          Reporter: mike@saxonica.com
        QA Contact: public-qt-comments@w3.org

When the adaptive serialization method encounters a sequence of length > 1 in a
map or array, the rule says:

A sequence of length greater than one in the data model instance will be
serialized using the Adaptive output method rather than raising a serialization
error [err:SERE0023].

If we assume ~ as item separator, this means that if we have the map

map { "a": "b" }

it is serialized as

{"a":"b"}

but the map

map { "a": ("b", "c") }

is serialized as

{"a":b~c}

Two problems: (a) the difference between the two cases is pretty weird, and (b)
the serializer needs to lookahead before outputting the first item in the
sequence.

I would suggest an alternative: serialize second and subsequent items in the
sequence using the same rules as the first item, separating them with the
item-separator. This would give

{"a":"b"~"c"}

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Tuesday, 14 July 2015 00:44:17 UTC