> I believe that the idea is to not treat the headers as payload. But it
> probably can cause incompatibility for servers that don't know about shim, so
> probably it would be really nicer to put it inside payload.
The problem I am having is that I implemented the item element with a *single*
payload, which is fine with XEP-0060 and is in accordance with its XML Schema:
Object getPayload();
Now I am thinking if this should be changed to:
List<Object> getPayloads();
in order to allow for XEP-0149.
And you are right. It's hard for a server to decide, if it should return a
invalid-payload error or not. At least an implementation must know about
XEP-0149.
I am seeing a conflict here for a XEP-0149 capable client using a "pure"
XEP-0060 server implementation.
>> XEP-0060's XML Schema also only allows for one payload.
>
> Where do you see that? Could you please quote?
<xs:element name='item'>
<xs:complexType>
<xs:sequence minOccurs='0'>
<xs:any namespace='##other'/>
</xs:sequence>
<xs:attribute name='id' type='xs:string' use='optional'/>
</xs:complexType>
</xs:element>
Having no maxOccurs implies it is 1:
http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints