diff --git a/xep-0115.xml b/xep-0115.xml index e5881fd5..1fd37d5c 100644 --- a/xep-0115.xml +++ b/xep-0115.xml @@ -34,8 +34,8 @@ jajcus@jabber.bnet.pl - 1.5pre15 - in progress, last updated 2008-01-17 + 1.5pre16 + in progress, last updated 2008-01-21 psa/jjh @@ -144,21 +143,19 @@ + ver='SrFo9ar2CCk2EnOH4q4QANeuxLQ='/> ]]> -

The 'node' attribute represents the client software Romeo is using. The optional 'v' attribute represents the specific version of that client software (it is only an "FYI" and is not used further in entity capabilities). The 'ver' attribute is a specially-constructed string that represents the identity (see &DISCOCATEGORIES;) and supported features (see &DISCOFEATURES;) of the entity.

-

At this point, your client has no idea what the capabilities are of someone with a version string '8RovUdtOmiAjzj+xI7SK5BCw3A8='. Your client therefore sends a service discovery query to Romeo, asking what his client can do.

+

The 'node' attribute represents the client software Romeo is using. The 'ver' attribute is a specially-constructed string that represents the entity's service discovery identity (category and type as registered at &DISCOCATEGORIES; as well as, optionally, the service discovery name) and supported features (as registered at &DISCOFEATURES; as well as, optionally, &xep0128; data registered at &FORMTYPES;).

+

At this point, your client has no idea what the capabilities are of someone with a version string 'SrFo9ar2CCk2EnOH4q4QANeuxLQ='. Your client therefore sends a service discovery query to Romeo, asking what his client can do.

+ node='http://code.google.com/p/exodus#SrFo9ar2CCk2EnOH4q4QANeuxLQ='/> ]]>

The response is:

@@ -168,7 +165,7 @@ to='juliet@capulet.lit/chamber' type='result'> + node='http://code.google.com/p/exodus#SrFo9ar2CCk2EnOH4q4QANeuxLQ='> @@ -176,29 +173,23 @@ ]]> -

At this point, your client knows that anyone advertising a version string of '8RovUdtOmiAjzj+xI7SK5BCw3A8=' has a client that can do &xep0045; and the other features returned by Romeo's client (the string can be relied upon because of how it is generated and checked, as explained later in this document). Your client remembers this information, so that it does not need to explicitly query the capabilities of a contact with the same version string. For example, Benvolio may send you the following presence:

- - - - ]]> -

Now your client automatically knows that Benvolio can do MUC, without needing to ask him explicitly via service discovery.

-

On the other hand, for a person with the following presence ...

+

At this point, your client knows that anyone advertising a version string of 'SrFo9ar2CCk2EnOH4q4QANeuxLQ=' has a client that can do &xep0045; and the other features returned by Romeo's client (the string can be relied upon because of how it is generated and checked, as explained later in this document). Your client remembers this information, so that it does not need to explicitly query the capabilities of a contact with the same version string. For example, your Nurse may use the same client that Romeo does:

+ node='http://code.google.com/p/exodus' + ver='SrFo9ar2CCk2EnOH4q4QANeuxLQ='/> + + ]]> +

Therefore you know that she also supports the same features that Romeo does.

+

On the other hand, for a person with the following presence ...

+ + ]]>

... or the following presence ...

@@ -206,9 +197,7 @@ ]]> @@ -218,9 +207,8 @@

This document makes several assumptions: