1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-12-21 23:28:51 -05:00

XEP-322 - Start of Last Call

This commit is contained in:
Matthew A. Miller 2014-10-08 10:26:56 -06:00
parent 2e69a36269
commit e890585a2d

View File

@ -13,7 +13,8 @@
<abstract>This specification describes how EXI compression can be used in XMPP networks.</abstract>
&LEGALNOTICE;
<number>0322</number>
<status>Experimental</status>
<status>Proposed</status>
<lastcall>2014-10-21</lastcall>
<type>Standards Track</type>
<sig>Standards</sig>
<approver>Council</approver>
@ -165,7 +166,7 @@
</p>
</section1>
<section1 topic='Use Cases' anchor='usecases'>
<!-- TODO: [YD] can we have a summary section to desribe the use case? a short proposal is as follows
<!-- TODO: [YD] can we have a summary section to desribe the use case? a short proposal is as follows
The section title of "Detecting support of EXI" is also modified to aligned with overall structure
-->
<section2 topic="Two approaches to use EXI">
@ -215,7 +216,7 @@
<compress xmlns='http://jabber.org/protocol/compress'>
<method>exi</method>
</compress>
<failure xmlns='http://jabber.org/protocol/compress'>
<setup-failed/>
</failure>]]>
@ -308,9 +309,9 @@
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjx4czpzY2hlbWENCiAgICB4
bWxuczp4cz0naHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEnDQogICAgdGFyZ2V0TmFt
ZXNwYWNlPSd1cm46eG1wcDpzbjpwcm92aXNpb25pbmcnDQogICAgeG1sbnM9J3Vybjp4bXBwOnNu
...
dmlsZWdlJz4NCgkJPHhzOmF0dHJpYnV0ZSBuYW1lPSdpZCcgdHlwZT0nUHJpdmlsZWdlSWQnIHVz
ZT0ncmVxdWlyZWQnLz4NCgk8L3hzOmNvbXBsZXhUeXBlPg0KIA0KPC94czpzY2hlbWE+DQo=
</uploadSchema>]]>
@ -325,7 +326,7 @@
</p>
<example caption='Testing newly uploaded schema files'>
<![CDATA[
<setup xmlns='http://jabber.org/protocol/compress/exi' version='1' strict='true' blockSize='1024'
<setup xmlns='http://jabber.org/protocol/compress/exi' version='1' strict='true' blockSize='1024'
valueMaxLength='32' valuePartitionCapacity='100'>
<schema ns='http://www.w3.org/XML/1998/namespace' bytes='4726' md5Hash='2e2cf9072dc058dcda41b7ee77a5cb54'/>
<schema ns='http://etherx.jabber.org/streams' bytes='3450' md5Hash='68719b98725477c46a70958d1ea7c781'/>
@ -348,7 +349,7 @@
</p>
<example caption='Agreement between client and server'>
<![CDATA[
<setupResponse xmlns='http://jabber.org/protocol/compress/exi' version='1' strict='true'
<setupResponse xmlns='http://jabber.org/protocol/compress/exi' version='1' strict='true'
blockSize='1024' valueMaxLength='32' valuePartitionCapacity='100' agreement='true'
configurationId='c76ab4ec-4993-4285-8c7a-098060581bb8'>
<schema ns='http://www.w3.org/XML/1998/namespace' bytes='4726' md5Hash='2e2cf9072dc058dcda41b7ee77a5cb54'/>
@ -1052,7 +1053,7 @@ FIXME
<li>valueMaxLength: 64</li>
<li>valuePartitionCapacity: 64</li>
</ul>
<!-- [YD] agreed 2013-07-12:
<!-- [YD] agreed 2013-07-12:
// 4K RAM for value partitions - is this enough small?
// valueMaxLength should be something like 95% percentile of JID
// sorted by the length
@ -1303,7 +1304,7 @@ FIXME
and aged schemas that referred from the schema for EXI/XMPP shall be
snapshoted for use in EXI processors.
<!-- TODO: [PW] Why not efficient? In terms of total amount of communication performed during a device's lifetime, its a very very small fraction (insignificant).
<!-- TODO: [PW] Why not efficient? In terms of total amount of communication performed during a device's lifetime, its a very very small fraction (insignificant).
This is a subjective opinion, termed in absolute phraseology. -->
</p>
<p>
@ -2419,7 +2420,7 @@ FIXME
implementations. However, if an implementation does not support weak
wildcards, it may use streams.xsd with following patch applied.
</p>
<!-- TODO: Something seems to have happened to the indentation.
<!-- TODO: Something seems to have happened to the indentation.
Example should be formatted better, put within <example> and CDATA elements, so it does not get destroyed by automatic indentation and XML formatting. -->
<code>
--- streams.xsd 2013-03-25 17:37:52.733451313 +0900
@ -2469,7 +2470,7 @@ FIXME
<xs:import namespace="http://etherx.jabber.org/streams"
schemaLocation="${snapshot_url}/streams.xsd" />
<xs:import namespace="http://jabber.org/protocol/compress/exi"
schemaLocation="${snapshot_url}/xep-0322-01.xsd" />
schemaLocation="${snapshot_url}/xep-0322-01.xsd" />
</xs:schema>
]]>
</code>
@ -2548,10 +2549,10 @@ FIXME
xmlns:client='jabber:client'
xmlns:streams='http://etherx.jabber.org/streams'
elementFormDefault='qualified'>
<xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xs:import namespace="http://etherx.jabber.org/streams"/>
<xs:element name='setup' type='Setup'/>
<xs:element name='setupResponse' type='SetupResponse'/>
@ -2576,18 +2577,18 @@ FIXME
<xs:attribute name='configurationLocation' type='xs:string' use='optional'/>
<xs:attribute name='agreement' type='xs:boolean' use='optional' default='false'/>
</xs:complexType>
<xs:complexType name='Schema'>
<xs:attribute name='ns' type='xs:string' use='required'/>
<xs:attribute name='bytes' type='xs:positiveInteger' use='required'/>
<xs:attribute name='md5Hash' type='MD5Hash' use='required'/>
</xs:complexType>
<xs:complexType name='DatatypeRepresentationMap'>
<xs:attribute name='type' type='xs:string' use='required'/>
<xs:attribute name='representAs' type='xs:string' use='required'/>
</xs:complexType>
<xs:attributeGroup name='Options'>
<xs:attribute name='version' type='xs:positiveInteger' use='optional' default='1'/>
<xs:attribute name='alignment' type='Alignment' use='optional' default='bit-packed'>
@ -2653,18 +2654,18 @@ FIXME
<xs:attribute name='sessionWideBuffers' type='xs:boolean' use='optional' default='false'>
<xs:annotation>
<xs:documentation>If set to true, all buffers, string tables, etc. will be maintained during the entire session. This may improve performance during time since strings
can be omitted in the compressed binary stream, but it might also in some cases degrade performance since more options are available in the tables, requiring more bits
can be omitted in the compressed binary stream, but it might also in some cases degrade performance since more options are available in the tables, requiring more bits
to encode strings. The default value is false, meaning that buffers, string tables, etc., are cleared between each stanza.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:simpleType name='MD5Hash'>
<xs:restriction base='xs:string'>
<xs:pattern value='[0-9a-f]{32}'/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name='Alignment'>
<xs:restriction base='xs:string'>
<xs:enumeration value='bit-packed'>
@ -2684,7 +2685,7 @@ FIXME
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:element name='uploadSchema'>
<xs:complexType>
<xs:simpleContent>
@ -2696,7 +2697,7 @@ FIXME
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:simpleType name='ContentType'>
<xs:restriction base='xs:string'>
<xs:enumeration value='Text'/>
@ -2704,14 +2705,14 @@ FIXME
<xs:enumeration value='ExiDocument'/>
</xs:restriction>
</xs:simpleType>
<xs:element name='downloadSchema' type='DownloadSchema'/>
<xs:element name='downloadSchemaResponse' type='DownloadSchemaResponse'/>
<xs:complexType name='DownloadSchema'>
<xs:attribute name='url' type='xs:string' use='required'/>
</xs:complexType>
<xs:complexType name='DownloadSchemaResponse'>
<xs:complexContent>
<xs:extension base='DownloadSchema'>
@ -2747,7 +2748,7 @@ FIXME
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name='streamStart'>
<xs:complexType>
<xs:sequence>
@ -2776,11 +2777,11 @@ FIXME
<xs:anyAttribute namespace='##other' processContents='lax'/>
</xs:complexType>
</xs:element>
<xs:element name='streamEnd'>
<xs:complexType/>
</xs:element>
</xs:schema>
]]>
</code>