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

Reply via email to