Re: [xml-dev] Multiple instances of an attribute Re: [xml-dev] Towards XML 2.0

From
nicolas debeissat <>
To
, XML Developers List <>
Date
2010-12-10T09:03:54Z
ID
<AANLkTi=>
Thread
Re: [xml-dev] Multiple instances of an attribute Re: [xml-dev] Towards XML 2.0

The treatment of lists is indeed a big issue in XML, misunderstood by lots of people.
Some of them systematically wrap the list into a markup list :
<foo>
<valuelist>
    <value>123</value>
    <value>456</value>
</valuelist>
</foo>

which is incredibly verbose compared to the JSON { "foo": ["bar", "spam"] }
A better solution is to use xsd:list datatype :
<foo value="bar spam"/>
but that is not known. I have seen a REST javadoc generator which uses xsd:list for a list of markups...
There are still critical Axis bugs opened on the serialization of String[] values, see https://issues.apache.org/jira/browse/AXIS-2250
Even without a schema you can get that value "bar spam" and split it, that is not XML philosophy, but...
I agree it would be better not to have to define a schema in order to get that list.

Regards
Nicolas Debeissat

2010/12/9 Stephen Green <[email protected]>
Alternatively, why not improve the way XML defines attribute
values to include an array of values for the same attribute with
various kinds of array, like JSON; arrays, lists without sequence,
sequences and vectors - and do so without the need for a
schema?

----
Stephen D Green



On 9 December 2010 15:18, Stephen Green <[email protected]> wrote:
>>
>> The second is perhaps equivalent to  the XML
>> <foo>
>>  <value>bar</value>
>>  <value>spam</value>
>> </foo>
>>
>
> So if you can write
>
> <foo>
>  <value>bar</value>
>  <value>spam</value>
> </foo>
>
> in XML, why not also allow
>
> <foo value="bar" value="spam"/>
>
> ?
> It is more succinct, which seems to be one of the JSON selling points.
>
>
>> or even if you use XSD schema with the appropriate type
>> <foo>bar spam</foo>
>>
>
> but this requires a schema, which is another of JSON's selling points:
> It doesn't.
>
> ----
> Stephen D Green
>
>
>
> On 9 December 2010 15:12, David Lee <[email protected]> wrote:
>>
>>
>> =============='
>>> { "foo" : "bar" , "foo" : "spam" }
>>>
>>> Is legal JSON ?
>>
>> But the array
>>
>> { "foo": ["bar", "spam"] }
>>
>> amounts to the same thing doesn't it?
>> ----
>> Stephen D Green
>> ============================
>>
>> Not in my mind.  They end up as different internal objects.
>>
>> The first is an object with 2 named fields, the second is an object with one
>> named field which is an array of 2 unnamed strings.
>> Completely different data, both in syntax and in the internal JavaScript
>> object form.
>> You would access them differently.  They are not equivalent.
>>
>> The second is perhaps equivalent to  the XML
>> <foo>
>>  <value>bar</value>
>>  <value>spam</value>
>> </foo>
>>
>> or even if you use XSD schema with the appropriate type
>> <foo>bar spam</foo>
>>
>>
>>
>>
>>
>

_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: [email protected]
subscribe: [email protected]
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php