I&#39;d rather see:<br><br><span class="q"></span>&lt;message to=&#39;<a href="http://mari@mus.se/work">mari@mus.se/work</a>&#39; type=&#39;chat&#39;&gt;<br>&nbsp; &lt;thread&gt;ee2944c6&lt;/thread&gt;<br>&nbsp; &lt;x xmlns=&#39;<a href="http://jabber.org/protocol/svgwb&#39;">
http://jabber.org/protocol/svgwb&#39;</a>&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;image x=&#39;32.0&#39; y=&#39;32.0&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:href=&#39;<a href="http://xmpp:mats@home.se/coci?sipub=pub0123">xmpp:mats@home.se/coci?sipub=pub0123</a>
&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id=&#39;158229644&#39; width=&#39;128&#39; height=&#39;128&#39;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/image&gt;<br>&nbsp; &lt;/x&gt;<br>&nbsp; &lt;sipub xmlns=&#39;<a href="http://jabber.org/protocol/si-pub">http://jabber.org/protocol/si-pub
</a>&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id=&#39;publish-0123&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mime-type=&#39;image/png&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; profile=&#39;<a href="http://jabber.org/protocol/si/profile/file-transfer&#39;">http://jabber.org/protocol/si/profile/file-transfer&#39;
</a>&gt;<br>&nbsp;&nbsp;&nbsp; &lt;file xmlns=&#39;<a href="http://jabber.org/protocol/si/profile/file-transfer">http://jabber.org/protocol/si/profile/file-transfer</a>&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name=&#39;blender.png&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size=&#39;12582&#39;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; date=&#39;2004-01-28T10:07Z&#39;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;desc&gt;All Shakespearean characters must sign and return this NDA ASAP&lt;/desc&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/file&gt;<br>&nbsp; &lt;/sipub&gt;<br>&lt;/message&gt;<br><br>and then the start/starting/si as defined in the si-pub xep.
<br><br>Is there a particular reason to use sipub instead of start/starting?<br><br>(Except for tying the sipub id to the si sid, which if you want to do, then let&#39;s rather see if we can change the xep to ask for that, instead of creating brand new elements.&nbsp; You should be able to track them via your iq&#39;s id anyways).
<br><br>Norman<br><br><div><span class="gmail_quote">On 9/28/07, <b class="gmail_sendername">Mats Bengtsson</b> &lt;<a href="mailto:matben@privat.utfors.se">matben@privat.utfors.se</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
More thoughts:<br><br>Somewhat based on XHTML Inband Images<br><a href="http://wiki.jabber.org/index.php/XHTML_Inband_Images">http://wiki.jabber.org/index.php/XHTML_Inband_Images</a><br>I have come up with another suggestion.
<br><br>Define an URI form <a href="http://xmpp:mats@home.se/coci?sipub=pub0123">xmpp:mats@home.se/coci?sipub=pub0123</a><br>which defines a unique resource identifier to a file or other entity.<br>A client, the initiator, can include this in any appropriate place,
<br>for instance, in a SVG image element (seen from the initiator side):<br><br>SEND:<br>&lt;message to=&#39;<a href="http://mari@mus.se/work">mari@mus.se/work</a>&#39; type=&#39;chat&#39;&gt;<br>&nbsp;&nbsp;&lt;thread&gt;ee2944c6&lt;/thread&gt;
<br>&nbsp;&nbsp;&lt;x xmlns=&#39;<a href="http://jabber.org/protocol/svgwb&#39;">http://jabber.org/protocol/svgwb&#39;</a>&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;image x=&#39;32.0&#39; y=&#39;32.0&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlink:href=&#39;<a href="http://xmpp:mats@home.se/coci?sipub=pub0123">
xmpp:mats@home.se/coci?sipub=pub0123</a>&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id=&#39;158229644&#39; width=&#39;128&#39; height=&#39;128&#39;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;file xmlns=&#39;<a href="http://jabber.org/protocol/si/profile/file-transfer">http://jabber.org/protocol/si/profile/file-transfer
</a>&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name=&#39;blender.png&#39; size=&#39;12582&#39;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/image&gt;<br>&nbsp;&nbsp;&lt;/x&gt;<br>&lt;/message&gt;<br><br>The initiator then caches the mapping from the sipub identifier (pub0123)<br>to the actual file or entity. The target can then request this file using:
<br><br>RECV:<br>&lt;iq type=&#39;get&#39; from=&#39;<a href="http://mari@mus.se/work">mari@mus.se/work</a>&#39; to=&#39;<a href="http://mats@home.se/coci">mats@home.se/coci</a>&#39; id=&#39;3210&#39;&gt;<br>&nbsp;&nbsp; &lt;sipub xmlns=&#39;
<a href="http://jabber.org/protocol/si-pub">http://jabber.org/protocol/si-pub</a>&#39; id=&#39;pub0123&#39;/&gt;<br>&lt;/iq&gt;<br><br>The initiator then looks up the second id here, the sipub id attribute,<br>and if it indeed has a file reference cached for this id, it initiates an
<br>ordinary si-set/si query after sending a result:<br><br>SEND:<br>&lt;iq type=&#39;result&#39; to=&#39;<a href="http://mari@mus.se/work">mari@mus.se/work</a>&#39; id=&#39;3210&#39;&gt;<br>&nbsp;&nbsp;&lt;sipub xmlns=&#39;<a href="http://jabber.org/protocol/si-pub">
http://jabber.org/protocol/si-pub</a>&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id=&#39;pub0123&#39; sid=&#39;3c803c10-6983032b&#39;/&gt;<br>&lt;/iq&gt;<br><br>Note that a sid attribute MUST be included which references the si id attribute<br>to expect when the target receives the iq-set/si query. The target must be sure
<br>to understand that when it gets the corresponding iq-set/si it must not<br>be handled as an ordinary user initiated file transfer.<br><br>Everything continues unchanged from existing Stream Initiation. If the initiator
<br>can&#39;t find the sipub id reference it answers with an error as usual.<br>Note that this XMPP URI is persistant since each request for it generates<br>a new si stream. The si streams are, of course, not persistant, but the
<br>reference from the sipub identifier to the actual file or entity is.<br>It is up to the initiating entity to decide on the lifetime of this relation.<br><br>There is a slightly alternative solution. The initiators iq-set/si must be
<br>handled in the context of the original XMPP URI which the iq-set/si element<br>doesn&#39;t say anything about. It can therefore be mistaken as an ordinary<br>user initiated file transfer. Instead we could switch the<br>
<br>&lt;si xmlns=&#39;<a href="http://jabber.org/protocol/si">http://jabber.org/protocol/si</a>&#39; ...<br><br>into<br><br>&lt;sipub xmlns=&#39;<a href="http://jabber.org/protocol/si-pub">http://jabber.org/protocol/si-pub
</a>&#39; ...<br><br>in all places. I have some doubts about this, though. It complicates the<br>life of a client developer.<br><br>/Mats<br></blockquote></div><br><br clear="all"><br>-- <br>- Norman Rasmussen<br> - Email: 
<a href="mailto:norman@rasmussen.co.za">norman@rasmussen.co.za</a><br> - Home page: <a href="http://norman.rasmussen.co.za/">http://norman.rasmussen.co.za/</a>