Good day all,
I've found a couple issues with XEP-0124 - specifically in it's schema
definition. Perhaps we'd like to fix them for this 1.8 update?
Here's what I've found:
First, when I tried to compile the schema I ran into problems with the
'type' attribute having both a declared type as well as a type derived
in the restriction clause. This can be fixed with the following
change (line numbers relative to the beginning of the schema
definition):
@@ -78,7 +83,7 @@
<xs:attribute name='sid' type='xs:string' use='optional'/>
<xs:attribute name='stream' type='xs:string' use='optional'/>
<xs:attribute name='to' type='xs:string' use='optional'/>
- <xs:attribute name='type' type='xs:string' use='optional'>
+ <xs:attribute name='type' use='optional'>
<xs:simpleType>
<xs:restriction base='xs:NCName'>
<xs:enumeration value='error'/>
After I fixed the above, the schema continued to fail compilation but
for problems inherited from the streams schema:
http://www.xmpp.org/schemas/streams.xsd. I was about to track this
issue down there as well, but began to wonder why it's inclusion is
relevant after the XMPP over BOSH spec was pulled out? If XEP-0124
intends to truly be payload agnostic, letting XEP-0206 define
XMPP-related application, then perhaps the schema inclusion and all
the child element definitions can be removed from the XEP-0124 schema
althogether? Making this change locally resolved all schema
compilation issues for me.
Beyond the compilation issues, I encountered two missing attribute definitions:
@@ -48,6 +48,7 @@
processContents='lax'/>
</xs:choice>
<xs:attribute name='accept' type='xs:string' use='optional'/>
+ <xs:attribute name='ack' type='xs:positiveInteger' use='optional'/>
<xs:attribute name='authid' type='xs:string' use='optional'/>
<xs:attribute name='charsets' type='xs:NMTOKENS' use='optional'/>
<xs:attribute name='condition' use='optional'>
and:
@@ -86,6 +87,7 @@
</xs:restriction>
</xs:simpleType>
</xs:attribute>
+ <xs:attribute name='ver' type='xs:string' use='optional'/>
<xs:attribute name='wait' type='xs:short' use='optional'/>
<xs:attribute ref='xml:lang' use='optional'/>
<xs:anyAttribute namespace='##other' processContents='lax'/>
I've not done a complete review of the entire schema's contents. I'm
only reporting the problems I've encountered thus far. While these
issues don't address core spec functionality, having a correct schema
does assist development and testing.
Hope this helps. Thanks for the effort involved in defining and
maintaining this spec! Enjoy,
Mike
On Mon, Apr 13, 2009 at 7:45 AM, Peter Saint-Andre <[email protected]> wrote:
> Jack Moffitt and I have made some clarifications to XEP-0124:
>
> http://xmpp.org/extensions/tmp/xep-0124-1.8.html
>
> http://svn.xmpp.org:18080/browse/XMPP/trunk/extensions/xep-0124.xml?%40diffMode=u&%40diffWrap=s&r1=2469&r2=3018&u=3&ignore=&k=
>
> I would like to ask the XMPP Council to approve these changes at its
> next meeting (April 22). Is there anything else we need to fix before then?
>
> Peter
>
> --
> Peter Saint-Andre
> https://stpeter.im/
>
>
--
Mike Cumings