After reading through this: 
http://stackoverflow.com/questions/2290360/xsd-how-to-allow-elements-in-any-order-any-number-of-times

I guess

<xs:element name='storage'>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref='conference'/>
        <xs:element ref='url'/>
      </xs:choice>
    </xs:complexType>
  </xs:element>

would be correct.

I assume it is allowed to have
<storage>
<url/>
<conference/>
<url/>
</storage>

-- Christian

Am 29.01.2014 um 20:50 schrieb Kim Alvefur:

> On 2014-01-29 20:31, Christian Schudt wrote:
>> I just found an error in the XML Schema for XEP-0048: Bookmarks:
>> 
>> Otherwise only one element would be allowed per <storage/>. The document 
>> however states otherwise.
>> 
>> It is also not very clear (from the document), if you can mix <url/> and 
>> <conference/> elements in the same storage.
>> 
>> <xs:choice> suggests, you cannot (!) mix them, though I believe from a 
>> "user" or developer perspective it should be possible. Or how would 
>> otherwise only retrieve the "conference" bookmarks?
>> 
>> Should <xs:choice> therefore be <xs:sequence> ??
> 
> I'd guess that having the whole complexType + choice block be unbounded
> would be better and more closely reflect current implementations.
> 
> --
> Regards,
> Kim "Zash" Alvefur
> 

Reply via email to