git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1630 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2008-01-31 04:40:05 +00:00
parent 42456915c5
commit 4c5a0cfe87
1 changed files with 24 additions and 21 deletions

View File

@ -7,7 +7,7 @@
<xep>
<header>
<title>Data Forms Media Element</title>
<abstract>This document specifies an XMPP protocol extension for including media data in XEP-0004 data forms.</abstract>
<abstract>This specification defines an XMPP protocol extension for including media data in XEP-0004 data forms.</abstract>
&LEGALNOTICE;
<number>0221</number>
<status>Experimental</status>
@ -22,6 +22,12 @@
<shortname>TO BE ASSIGNED</shortname>
&ianpaterson;
&stpeter;
<revision>
<version>0.2</version>
<date>2008-01-30</date>
<initials>psa</initials>
<remark>Modified to reuse data element from XEP-0231.</remark>
</revision>
<revision>
<version>0.1</version>
<date>2007-07-11</date>
@ -35,24 +41,27 @@
</section1>
<section1 topic='Media Element' anchor='media'>
<p>The root element for media data is &lt;media/&gt;. This element MUST be qualified by the "http://www.xmpp.org/extensions/xep-0221.html#ns' namespace &NSNOTE;. The &lt;media/&gt; element MUST be contained within a &lt;field/&gt; element qualified by the 'jabber:x:data' namespace.</p>
<p>The root element for media data is &lt;media/&gt;. This element MUST be qualified by the "urn:xmpp:tmp:media-element' namespace &NSNOTE;. The &lt;media/&gt; element MUST be contained within a &lt;field/&gt; element qualified by the 'jabber:x:data' namespace.</p>
<p>If the media is an image or video then the &lt;media/&gt; element SHOULD include 'height' and 'width' attributes specifying the recommended display size of the media in pixels.</p>
<p>The &lt;media/&gt; element SHOULD contain at least one &lt;uri/&gt; element to specify the out-of-band location of the media data. <note>Constrained execution environments prevent some clients from rendering media unless it has been received out-of-band (e.g., Web clients).</note> The &lt;uri/&gt; element MUST contain a URI that indicates the location.</p>
<p>The &lt;media/&gt; element MAY also contain one or more &lt;data/&gt; elements for distributing the media in-band. The &lt;data/&gt; element MUST contain the media data encoded according to Base64 as specified in Section 4 of &rfc4648;. The <em>encoded</em> data SHOULD NOT be larger than 8 kilobytes. <note>If a stanza contains more than one &lt;data/&gt; element, the sending entity MUST take care not to trigger server-defined bandwidth limits.</note></p>
<p>Each &lt;uri/&gt; or &lt;data/&gt; element MUST include a 'type' atribute that specifies the MIME type (see &rfc2045;) of the media.</p>
<p>The &lt;media/&gt; element SHOULD contain at least one &lt;uri/&gt; element to specify the out-of-band location of the media data. <note>Constrained execution environments prevent some clients (e.g., Web clients) from rendering media unless it has been received out-of-band.</note> The &lt;uri/&gt; element MUST contain a URI that indicates the location and MUST include a 'type' atribute that specifies the MIME type (see &rfc2045;) of the media.</p>
<p>The &lt;media/&gt; element MAY also contain one or more &lt;data/&gt; elements for distributing the media in-band. The &lt;data/&gt; element MUST be qualified by the 'urn:xmpp:tmp:data-element' as defined in &xep0231;. The <em>encoded</em> data SHOULD NOT be larger than 8 kilobytes. <note>If a stanza contains more than one &lt;data/&gt; element, the sending entity MUST take care not to trigger server-defined bandwidth limits.</note></p>
<example caption='Audio Media Element'><![CDATA[
<media xmlns='http://www.xmpp.org/extensions/xep-0221.html#ns'>
<media xmlns='urn:xmpp:tmp:media-element'>
<uri type='audio/x-wav'>http://victim.example.com/challenges/speech.wav?F3A6292C</uri>
<uri type='audio/ogg-speex'>http://victim.example.com/challenges/speech.ogg?F3A6292C</uri>
<uri type='audio/mpeg'>http://victim.example.com/challenges/speech.mp3?F3A6292C</uri>
<data type='audio/x-wav'> ** Base64 encoded audio ** </data>
<data xmlns='urn:xmpp:tmp:data-element'
alt='An audio file'
type='audio/x-wav'>
[ ... base64-encoded-audio ... ]
</data>
</media>
]]></example>
</section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<section2 topic='Protocol Namespaces' anchor='ns'>
<p>Until this specification advances to a status of Draft, its associated namespace shall be "http://www.xmpp.org/extensions/xep-0221.html#ns"; upon advancement of this specification, the &REGISTRAR; shall issue a permanent namespace in accordance with the process defined in Section 4 of &xep0053;.</p>
<p>Until this specification advances to a status of Draft, its associated namespace shall be "urn:xmpp:tmp:media-element"; upon advancement of this specification, the &REGISTRAR; shall issue a permanent namespace in accordance with the process defined in Section 4 of &xep0053;.</p>
</section2>
</section1>
@ -62,15 +71,19 @@
<xs:schema
xmlns:xs='http://www.w3.org/2001/XMLSchema'
targetNamespace='http://www.xmpp.org/extensions/xep-0221.html#ns'
xmlns='http://www.xmpp.org/extensions/xep-0221.html#ns'
targetNamespace='urn:xmpp:tmp:media-element'
xmlns='urn:xmpp:tmp:media-element'
elementFormDefault='qualified'>
<xs:import
namespace='urn:xmpp:tmp:data-element'/>
<xs:element name='media'>
<xs:complexType>
<xs:sequence>
<xs:sequence xmlns:data='urn:xmpp:tmp:data-element'>
<xs:element ref='uri' minOccurs='1' maxOccurs='unbounded'/>
<xs:element ref='data' minOccurs='0' maxOccurs='unbounded'/>
<xs:element ref='data:data' minOccurs='0' maxOccurs='unbounded'/>
</xs:sequence>
<xs:attribute name='height' type='xs:unsignedShort' use='optional'/>
<xs:attribute name='width' type='xs:unsignedShort' use='optional'/>
@ -87,16 +100,6 @@
</xs:complexType>
</xs:element>
<xs:element name='data'>
<xs:complexType>
<xs:simpleContent>
<xs:extension base='xs:string'>
<xs:attribute name='type' use='required'/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
]]></code>
</section1>