[Home] [By Thread] [By Date] [Recent Entries]

  • From: nicolas debeissat <ndebeiss@g...>
  • To: stephengreenubl@g..., XML Developers List <xml-dev@l...>
  • Date: Fri, 10 Dec 2010 10:03:54 +0100


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 <stephengreenubl@g...>
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 <stephengreenubl@g...> 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 <dlee@c...> 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: xml-dev-unsubscribe@l...
subscribe: xml-dev-subscribe@l...
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member