mirror of
https://github.com/moparisthebest/xeps
synced 2024-12-01 05:32:15 -05:00
105 lines
4.8 KiB
XML
105 lines
4.8 KiB
XML
|
<?xml version='1.0' encoding='UTF-8'?>
|
||
|
<!DOCTYPE xep SYSTEM 'xep.dtd' [
|
||
|
<!ENTITY % ents SYSTEM 'xep.ent'>
|
||
|
%ents;
|
||
|
]>
|
||
|
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
|
||
|
<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>
|
||
|
&LEGALNOTICE;
|
||
|
<number>0221</number>
|
||
|
<status>Experimental</status>
|
||
|
<type>Standards Track</type>
|
||
|
<sig>Standards</sig>
|
||
|
<dependencies>
|
||
|
<spec>XMPP Core</spec>
|
||
|
<spec>XEP-0004</spec>
|
||
|
</dependencies>
|
||
|
<supersedes>None</supersedes>
|
||
|
<supersededby>None</supersededby>
|
||
|
<shortname>TO BE ASSIGNED</shortname>
|
||
|
&ianpaterson;
|
||
|
&stpeter;
|
||
|
<revision>
|
||
|
<version>0.1</version>
|
||
|
<date>2007-07-11</date>
|
||
|
<initials>psa/ip</initials>
|
||
|
<remark>Initial version, split off from XEP-0158.</remark>
|
||
|
</revision>
|
||
|
</header>
|
||
|
|
||
|
<section1 topic='Introduction' anchor='intro'>
|
||
|
<p>In certain protocols that make use of &xep0004;, it can be helpful to include media data such as small images. One example of such a using protocol is &xep0158;. This document defines a method for including media data in a data form.</p>
|
||
|
</section1>
|
||
|
|
||
|
<section1 topic='Media Element' anchor='media'>
|
||
|
<p>The root element for media data is <media/>. This element MUST be qualified by the "http://www.xmpp.org/extensions/xep-0221.html#ns' namespace &NSNOTE;. The <media/> element MUST be contained within a <field/> element qualified by the 'jabber:x:data' namespace.</p>
|
||
|
<p>If the media is an image or video then the <media/> element SHOULD include 'height' and 'width' attributes specifying the recommended display size of the media in pixels.</p>
|
||
|
<p>The <media/> element SHOULD contain at least one <uri/> 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 <uri/> element MUST contain a URI that indicates the location.</p>
|
||
|
<p>The <media/> element MAY also contain one or more <data/> elements for distributing the media in-band. The <data/> 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 <data/> element, the sending entity MUST take care not to trigger server-defined bandwidth limits.</note></p>
|
||
|
<p>Each <uri/> or <data/> element MUST include a 'type' atribute that specifies the MIME type (see &rfc2045;) of the media.</p>
|
||
|
<example caption='Audio Media Element'><![CDATA[
|
||
|
<media xmlns='xmlns='http://www.xmpp.org/extensions/xep-0221.html#ns'>
|
||
|
<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>
|
||
|
</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 ®ISTRAR; shall issue a permanent namespace in accordance with the process defined in Section 4 of &xep0053;.</p>
|
||
|
</section2>
|
||
|
</section1>
|
||
|
|
||
|
<section1 topic='XML Schema' anchor='schema'>
|
||
|
<code><![CDATA[
|
||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||
|
|
||
|
<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'
|
||
|
elementFormDefault='qualified'>
|
||
|
|
||
|
<xs:element name='media'>
|
||
|
<xs:complexType>
|
||
|
<xs:sequence>
|
||
|
<xs:element ref='uri' minOccurs='1' maxOccurs='unbounded'/>
|
||
|
<xs:element ref='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'/>
|
||
|
</xs:complexType>
|
||
|
</xs:element>
|
||
|
|
||
|
<xs:element name='uri'>
|
||
|
<xs:complexType>
|
||
|
<xs:simpleContent>
|
||
|
<xs:extension base='xs:string'>
|
||
|
<xs:attribute name='type' use='required'/>
|
||
|
</xs:extension>
|
||
|
</xs:simpleContent>
|
||
|
</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>
|
||
|
|
||
|
</xep>
|