mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-21 16:55:07 -05:00
initial version
git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1240 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
parent
e92eed9e14
commit
7f1ed056ba
94
xep-0229.xml
Normal file
94
xep-0229.xml
Normal file
@ -0,0 +1,94 @@
|
||||
<?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>Stream Compression with LZW</title>
|
||||
<abstract>This document specifies how to use the LZW algorithm in XML stream compression.</abstract>
|
||||
&LEGALNOTICE;
|
||||
<number>0229</number>
|
||||
<status>Draft</status>
|
||||
<type>Standards Track</type>
|
||||
<sig>Standards</sig>
|
||||
<dependencies>
|
||||
<spec>XMPP Core</spec>
|
||||
<spec>XEP-0138</spec>
|
||||
</dependencies>
|
||||
<supersedes/>
|
||||
<supersededby/>
|
||||
<shortname>N/A</shortname>
|
||||
&stpeter;
|
||||
<revision>
|
||||
<version>1.0</version>
|
||||
<date>2007-09-26</date>
|
||||
<initials>psa</initials>
|
||||
<remark>Per a vote of the XMPP Council, published as Draft.</remark>
|
||||
</revision>
|
||||
<revision>
|
||||
<version>0.0.1</version>
|
||||
<date>2007-08-30</date>
|
||||
<initials>psa</initials>
|
||||
<remark>Copied text from XEP-0138.</remark>
|
||||
</revision>
|
||||
</header>
|
||||
|
||||
<section1 topic='Introduction' anchor='intro'>
|
||||
<p>&xep0138; specifies an extensible framework for XML stream compression and defines a registry for compression methods (see &COMPRESSMETHODS;). However, <cite>XEP-0138</cite> registers only the ZLIB method (see &rfc1950;). This document specifies usage of the LZW compression method.</p>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Background' anchor='background'>
|
||||
<p>The "LZW" compression algorithm was originally developed by Abraham Lempel and Jacob Ziv, subsequently improved by Terry Welch <note>See "A Technique for High-Performance Data Compression", <cite>Computer</cite> (June 1984), pp. 8-19.</note>, and patented by Sperry Corporation (later Unisys Corporation) as U.S. Patent Number 4,464,650 <note>See <<link url='http://patft.uspto.gov/netacgi/nph-Parser?patentnumber=4,464,650'>http://patft.uspto.gov/netacgi/nph-Parser?patentnumber=4,464,650</link>>.</note>. This patent expired on June 20, 2003 <note>See <<link url='http://www.unisys.com/about__unisys/lzw'>http://www.unisys.com/about__unisys/lzw</link>>.</note>. Therefore implementations of LZW are no longer patent-encumbered.</p>
|
||||
<p>The algorithm is specified by Ecma International in &ecma151; under the name "DCLZ".</p>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Definition' anchor='definition'>
|
||||
<p>If the receiving entity (server) supports the LZW algorithm, it MUST include a <method/> element whose XML character data is "lzw" in the compression stream feature, as follows.</p>
|
||||
<example caption='Receiving Entity Offers Stream Compression Feature, Including LZW Method'><![CDATA[
|
||||
<stream:features>
|
||||
<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
|
||||
<compression xmlns='http://jabber.org/features/compress'>
|
||||
<method>zlib</method>
|
||||
<method>lzw</method>
|
||||
</compression>
|
||||
</stream:features>
|
||||
]]></example>
|
||||
<p>If the initiating entity wishes to use the LZW algorithm, then it MUST specify that method.</p>
|
||||
<example caption='Initiating Entity Requests Stream Compression Using LZW'><![CDATA[
|
||||
<compress xmlns='http://jabber.org/protocol/compress'>
|
||||
<method>lzw</method>
|
||||
</compress>
|
||||
]]></example>
|
||||
<p>The initiating entity and receiving entity then MUST attempt to negotiate use of the LZW algorithm in accordance with <cite>XEP-0138</cite>.</p>
|
||||
<p>If the use of the LZW algorithm is negotiated, the usage SHOULD follow the definition in <cite>ECMA-151</cite>.</p>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Optionality' anchor='optionality'>
|
||||
<p>The LZW algorithm is OPTIONAL to implement for <cite>XEP-0138</cite> implementations and this specification does not define a mandatory-to-implement technology.</p>
|
||||
</section1>
|
||||
|
||||
<section1 topic='Security Considerations' anchor='security'>
|
||||
<p>The security considerations specified in <cite>XEP-0138</cite> apply to usage of the LZW algorithm.</p>
|
||||
</section1>
|
||||
|
||||
<section1 topic='IANA Considerations' anchor='iana'>
|
||||
<p>This document requires no interaction with &IANA;. </p>
|
||||
</section1>
|
||||
|
||||
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
|
||||
<section2 topic='Compression Methods Registry' anchor='registrar-methods'>
|
||||
<p>The ®ISTRAR; maintains a registry of compression methods at &COMPRESSMETHODS;.</p>
|
||||
<p>The LZW algorithm is already registered. This specification updates the registry submission as follows:</p>
|
||||
<code><![CDATA[
|
||||
<method>
|
||||
<name>lzw</name>
|
||||
<desc>the LZW (DCLZ) compression method</desc>
|
||||
<doc>XEP-0229</doc>
|
||||
</method>
|
||||
]]></code>
|
||||
</section2>
|
||||
</section1>
|
||||
|
||||
</xep>
|
Loading…
Reference in New Issue
Block a user