mirror of https://github.com/moparisthebest/xeps
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
42 KiB
168 lines
42 KiB
<?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>Binary XMPP</title> |
|
<abstract>This specification defines Binary XMPP, an obviously superior representation of the Extensible Messaging and Presence Protocol (XMPP).</abstract> |
|
&LEGALNOTICE; |
|
<number>0239</number> |
|
<status>Active</status> |
|
<type>Humorous</type> |
|
<sig>Standards</sig> |
|
<approver>Council</approver> |
|
<dependencies> |
|
<spec>XMPP Core</spec> |
|
</dependencies> |
|
<supersedes/> |
|
<supersededby/> |
|
<shortname>N/A</shortname> |
|
<author> |
|
<firstname>Pedro</firstname> |
|
<surname>Melo</surname> |
|
<email>011011010110010101101100011011110100000001110011011010010110110101110000011011000110100101100011011010010110010001100001011001000110010100101110011011110111001001100111</email> |
|
<jid>011011010110010101101100011011110100000001110011011010010110110101110000011011000110100101100011011010010110010001100001011001000110010100101110011011110111001001100111</jid> |
|
</author> |
|
<author> |
|
<firstname>Peter</firstname> |
|
<surname>Saint-Andre</surname> |
|
<email>011100110111010001110000011001010111010001100101011100100100000001101010011000010110001001100010011001010111001000101110011011110111001001100111</email> |
|
<jid>011100110111010001110000011001010111010001100101011100100100000001101010011000010110001001100010011001010111001000101110011011110111001001100111</jid> |
|
</author> |
|
<author> |
|
<firstname>Fabio</firstname> |
|
<surname>Forno</surname> |
|
<email>011001100110000101100010011010010110111100101110011001100110111101110010011011100110111101000000011001110110110101100001011010010110110000101110011000110110111101101101</email> |
|
<jid>011001100110011001000000011010100110000101100010011000100110010101110010001011100110001001101100011101010110010101101110011001000110111100101110011000110110111101101101</jid> |
|
</author> |
|
<revision> |
|
<version>1.0</version> |
|
<date>2008-04-01</date> |
|
<initials>pm/psa/ff</initials> |
|
<remark><p>April Fools!</p></remark> |
|
</revision> |
|
</header> |
|
<section1 topic='Introduction' anchor='intro'> |
|
<p>Everyone knows that binary data encodings are much more efficient than the Extensible Markup Language (XML). Given that XMPP is an application profile of XML, it is a wonder that XMPP works at all! Clearly, XMPP would benefit from a binary representation. Therefore, this specification defines Binary XMPP.</p> |
|
</section1> |
|
<section1 topic='Protocol' anchor='protocol'> |
|
<p>&xmppcore; defines the traditional representation of XMPP. For instance, an empty presence stanza (such as might be provided on login) is as follows:</p> |
|
<example caption='Traditional XMPP stanza'><![CDATA[ |
|
<presence/> |
|
]]></example> |
|
<p>That string can be represented in binary as follows:</p> |
|
<example caption='Binary representation'><![CDATA[ |
|
0011110001110000011100100110010101110011011001010110111001100011011001010010111100111110 |
|
]]></example> |
|
<p>The bit sequence is therefore represented in Binary XMPP as follows (line breaks are provided only for the purpose of readability):</p> |
|
<example caption='Binary XMPP representation'><![CDATA[ |
|
<zero/><zero/><one/><one/><one/><one/><zero/><zero/> |
|
<zero/><one/><one/><one/><zero/><zero/><zero/><zero/> |
|
<zero/><one/><one/><one/><zero/><zero/><one/><zero/> |
|
<zero/><one/><one/><zero/><zero/><one/><zero/><one/> |
|
<zero/><one/><one/><one/><zero/><zero/><one/><one/> |
|
<zero/><one/><one/><zero/><zero/><one/><zero/><one/> |
|
<zero/><one/><one/><zero/><one/><one/><one/><zero/> |
|
<zero/><one/><one/><zero/><zero/><zero/><one/><one/> |
|
<zero/><one/><one/><zero/><zero/><one/><zero/><one/> |
|
<zero/><zero/><one/><zero/><one/><one/><one/><one/> |
|
<zero/><zero/><one/><one/><one/><one/><one/><zero/> |
|
]]></example> |
|
<p>This is an obvious improvement over the traditional representation.</p> |
|
<p>It might be objected that the Binary XMPP representation requires a large number of XML elements. However, because all data is represented using only <zero/> and <one/>, the protocol can be significantly compressed using the standard ZLIB compression algorithm as defined in &rfc1950;, which SHOULD be enabled by default on the bxmpp port. Evidence from preliminary testing indicates that compression of Binary XMPP results in a representation less than 2% of the original size!</p> |
|
<p>As a further simplification, Binary XMPP gets rid of the complicated stream negotiation process defined in RFC 3920. Instead, if a server supports Binary XMPP it advertises a special DNS SRV record _bxmpp._tcp in accordance with &rfc2782;. Furthermore, only one record is needed, thus saving precious port space. The RECOMMENDED port for Binary XMPP communication is 10110, but any port MAY be used.</p> |
|
<p>To start a Binary XMPP stream, the sender simply connects via TCP at the advertised port and starts sending <zero/> and <one/> elements. The lack of a stream header simplifies XML parsing, introducing further performance improvements.</p> |
|
</section1> |
|
<section1 topic='Examples' anchor='examples'> |
|
<p>The following examples showcase the tremendous efficiency of Binary XMPP using a complete session between a client and a server.</p> |
|
<example caption='Client sends initial stream header (XMPP)'><![CDATA[ |
|
<stream:stream |
|
from='juliet@example.com' |
|
to='example.com' |
|
version='1.0' |
|
xml:lang='en' |
|
xmlns='jabber:client' |
|
xmlns:stream='http://etherx.jabber.org/streams'> |
|
]]></example> |
|
<example caption='Binary XMPP representation'><![CDATA[ |
|
<zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/> |
|
]]></example> |
|
<example caption='Server sends response stream header (XMPP)'><![CDATA[ |
|
<stream:stream |
|
from='example.com' |
|
id='t7AMCin9zjMNwQKDnplntZPIDEI=' |
|
to='juliet@example.com' |
|
version='1.0' |
|
xml:lang='en' |
|
xmlns='jabber:client' |
|
xmlns:stream='http://etherx.jabber.org/streams'> |
|
]]></example> |
|
<example caption='Binary XMPP representation'><![CDATA[ |
|
<zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/> |
|
]]></example> |
|
<example caption='Server sends stream features (XMPP)'><![CDATA[ |
|
<stream:features> |
|
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'> |
|
<required/> |
|
</starttls> |
|
</stream:features> |
|
]]></example> |
|
<example caption='Binary XMPP representation'><![CDATA[ |
|
<zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/> |
|
]]></example> |
|
<example caption='Client sends STARTTLS command to server'><![CDATA[ |
|
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/> |
|
]]></example> |
|
<example caption='Binary XMPP representation'><![CDATA[ |
|
<zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/> |
|
]]></example> |
|
<example caption='Server informs client that it is allowed to proceed'><![CDATA[ |
|
<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/> |
|
]]></example> |
|
<example caption='Binary XMPP representation'><![CDATA[ |
|
<zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><zero/><zero/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><one/><one/><one/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><zero/><zero/><one/><zero/><one/><one/><zero/><zero/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><zero/><one/><one/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><one/><one/><one/><one/><zero/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><zero/><zero/><zero/><zero/><one/><zero/><one/><one/><zero/><one/><zero/><one/><one/><one/><zero/><one/><zero/><zero/><zero/><one/><one/><zero/><one/><one/><zero/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><one/><zero/><zero/><one/><zero/><zero/><one/><one/><one/><zero/><zero/><one/><zero/><one/><one/><one/><one/><zero/><zero/><one/><one/><one/><one/><one/><zero/> |
|
]]></example> |
|
<p>And so on. Much more efficient, eh?</p> |
|
</section1> |
|
<section1 topic='Internationalization Considerations' anchor='i18n'> |
|
<p>The <zero/> and <one/> elements use English-language words as the element names. Clearly it would have been preferable to define an i18n-friendly binding, such that German-language applications could encode Binary XMPP using the <null/> and <eins/> elements, Greek-language applications could use the <μηδέν/> and <ἑνα/> elements, etc. Flexibility regarding internationalization of the element names may be added in Binary XMPP 2.0.</p> |
|
</section1> |
|
<section1 topic='Security Considerations' anchor='security'> |
|
<p>Because it is simply an alternative representation of XMPP, Binary XMPP inherits all of the security characteristics of XMPP (the good, the bad, and the ugly).</p> |
|
<p>Use of port 10110 is obviously secure, since 10110 in base 2 is 22 in base 10, the same default port as Secure Shell (see &rfc4251;).</p> |
|
</section1> |
|
<section1 topic='IANA Considerations' anchor='iana'> |
|
<p>The ®ISTRAR; shall work with &IANA; to register "bxmpp" as a keyword for port 10111.</p> |
|
</section1> |
|
<section1 topic='XMPP Registrar Considerations' anchor='registrar'> |
|
<p>The XMPP Registrar shall include 'urn:xmpp:bxmpp' in its registry of protocol namespaces (see &NAMESPACES;).</p> |
|
</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='urn:xmpp:bxmpp' |
|
xmlns='urn:xmpp:bxmpp' |
|
elementFormDefault='qualified'> |
|
|
|
<xs:element name='one' type='empty'/> |
|
<xs:element name='zero' type='empty'/> |
|
|
|
<xs:simpleType name='empty'> |
|
<xs:restriction base='xs:string'> |
|
<xs:enumeration value=''/> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
|
|
</xs:schema> |
|
]]></code> |
|
</section1> |
|
<section1 topic='Acknowledgements' anchor='ack'> |
|
<p>Thanks to Kevin Smith for his feedback.</p> |
|
</section1> |
|
</xep>
|
|
|