On 8/22/12 5:04 PM, XMPP Extensions Editor wrote:
> This message constitutes notice of a Last Call for comments on XEP-0297 
> (Stanza Forwarding).
> 
> Abstract: This document defines a protocol to forward a stanza from one 
> entity to another.
> 
> URL: http://xmpp.org/extensions/xep-0297.html
> 
> This Last Call begins today and shall end at the close of business on 
> 2012-09-07.
> 
> Please consider the following questions during this Last Call and send your 
> feedback to the [email protected] discussion list:
> 
> 1. Is this specification needed to fill gaps in the XMPP protocol stack or to 
> clarify an existing protocol?

It seems helpful, yes.

> 2. Does the specification solve the problem stated in the introduction and 
> requirements?

The requirements say "Extension payloads should be included" but the
business rules modify that a bit. Perhaps "Most extension payloads
should be included" would be better.

> 3. Do you plan to implement this specification in your code? If not, why not?

I have no code in which to implement it.

> 4. Do you have any security concerns related to this specification?

Not in particular, although the references to XEP-0285 and XEP-0290
(both deferred, and both the same name) is a bit confusing.

> 5. Is the specification accurate and clearly written?

In general, yes.

If the <forwarded/> element is truly meant to contain only a <delay/>
element and the forwarded stanza itself, then the schema seems too loose:

  <xs:element name='forwarded'>
    <xs:complexType>
      <xs:sequence xmlns:delay='urn:xmpp:delay'>
        <xs:element ref='delay:delay' minOccurs='0' maxOccurs='1' />
        <xs:any namespace='##other' minOccurs='1' maxOccurs='1' />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

In particular, I don't think this is what we want:

        <xs:any namespace='##other' minOccurs='1' maxOccurs='1' />

We probably want something along the lines of the stream schema:

http://xmpp.org/rfcs/rfc6120.html#schemas-stream

That is:

###

<xs:schema
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
    targetNamespace='urn:xmpp:forward:0'
    xmlns='urn:xmpp:forward:0'
    elementFormDefault='qualified'>

  <xs:import namespace='jabber:client'/>
  <xs:import namespace='jabber:server'/>

  <xs:element name='forwarded'>
    <xs:complexType>
      <xs:sequence xmlns:delay='urn:xmpp:delay'
                   xmlns:client='jabber:client'
                   xmlns:server='jabber:server'>
        <xs:element ref='delay:delay' minOccurs='0' maxOccurs='1' />
        <xs:choice minOccurs='0' maxOccurs='1'>
          <xs:choice>
            <xs:element ref='client:message'/>
            <xs:element ref='client:presence'/>
            <xs:element ref='client:iq'/>
          </xs:choice>
          <xs:choice>
            <xs:element ref='server:message'/>
            <xs:element ref='server:presence'/>
            <xs:element ref='server:iq'/>
          </xs:choice>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>

###

Peter

-- 
Peter Saint-Andre
https://stpeter.im/


Reply via email to