Michael Laukner wrote:
Peter Saint-Andre wrote:XMPP Extensions Editor wrote:The XMPP Extensions Editor has received a proposal for a new XEP.Title: Data Element Abstract: This document specifies a method for including small bits of binary data in an XMPP stanza via the data: URL scheme. URL: http://www.xmpp.org/extensions/inbox/data-element.htmlSee, that was easy, wasn't it? ;-) /psaThis XEP seems to get close to what we want to achieve. A challenge for the message exchange in our environment is the transmission of structured information within a regular message. This structured information may be geographic coordinates, date/time groups, or a references to an data object, for example.
Traditionally, we have not worried very much about the transmission of structured information, since XMPP is pure XML. The challenge has always been to include unstructured (binary) information -- a problem that this proposal seeks to address.
To be able to embed various structured information in a message, the message shall contain a "SmartTag". This "SmartTag" shall be as close to text as "Emoticons" are, but structured enough for enhanced clients to make some sense out of it.
OK. So basically you want a way to include your structured data in the message stanza but define a convention for referring to it in the plaintext message body. Correct?
The example below was drafted before knowing the Data Element XEP:
<message
to="[EMAIL PROTECTED]/balcony"
from="[EMAIL PROTECTED]"
type="chat">
<body>Juliet, I am at _1[47.8N,9.3E] and feeling kind of dizzy!
You can find my new picture here _2[PIC-DB,4711].
</body>
<TagList xmlns="urn:xmpptag">
<Tag ref="_1">
<GeoPosition2D xmlns="urn:common">
<Latitude units="degrees">47.8123</Latitude>
<Longitude units="degrees">9.2947</Longitude>
</GeoPosition2D>
</Tag>
<Tag ref="_2">
<DRef libraryId="PIC-DB" productId="4711"/>
</Tag>
</TagList>
</message>
Hmm. We could use the same convention we're talking about using in XHTML-IM, i.e., the cid: URL scheme. So your message would end up looking like this perhaps:
<message
to="[EMAIL PROTECTED]/balcony"
from="[EMAIL PROTECTED]/orchard"
type="chat">
<body>Juliet, I am at 47.8N,9.3E and feeling kind of dizzy!
You can find my new picture here.
</body>
<html xmlns='http://jabber.org/protocol/xhtml-im'>
<body xmlns='http://www.w3.org/1999/xhtml'>
<p>Juliet, I am at <a href='cid:refcid1'>47.8N,9.3E</a>
and feeling kind of dizzy! You can find my new picture
<a href='cid:cidref2'>here</a>.</p>
</body>
</html>
<TagList xmlns="urn:xmpptag">
<Tag ref="cidref1">
<GeoPosition2D xmlns="urn:common">
<Latitude units="degrees">47.8123</Latitude>
<Longitude units="degrees">9.2947</Longitude>
</GeoPosition2D>
</Tag>
<Tag ref="cidref2">
<DRef libraryId="PIC-DB" productId="4711"/>
</Tag>
</TagList>
</message>
I'm not quite seeing the need for the <TagList/> element. Why not just
include the markup for each attached data as an extension (it could be
MathML, SVG, geodata, or whatever -- each of those has its own special
namespace) instead of designing a generic "manifest" format?
Could this XEP be designed to support more than just MIME-types???
It *could*, but I don't quite see the need yet. XMPP can handle all sorts of structured data. All that you seem to need is a way to refer to that structured data from within the message body, and cid: URLs may give you that.
i.e. geo data could be encoded using Geo URI: http://www.ietf.org/internet-drafts/draft-mayrhofer-geo-uri-01.txt 'geo' URIs could (like any other URI scheme) also be embedded as hyperlinks in web pages. A Hyper Text Markup Language (HTML) FIXME: ref snippet with such a hyperlink could look like: <p>one of Vienna's most popular sights is the <a href=' geo: FIXME,FIXME,FIXME'>St. Stephans Cathedral</a> In case of XMPP: <message to="[EMAIL PROTECTED]/balcony" from="[EMAIL PROTECTED]" type="chat"> <body>Juliet, I am at geo:47.123,9.3 and feeling kind of dizzy! </body> <data xmlns='http:://www.xmpp.org/extensions/xep-xxxx.html#ns' alt='A spot' cid='[EMAIL PROTECTED]' uri='geo'> FIXME,FIXME,FIXME </data> </message>
Er, don't you really want this...?
<message
to="[EMAIL PROTECTED]/balcony"
from="[EMAIL PROTECTED]/orchard"
type="chat">
<body>
Juliet, I am at 47.8N,9.3E and feeling kind of dizzy!
</body>
<html xmlns='http://jabber.org/protocol/xhtml-im'>
<body xmlns='http://www.w3.org/1999/xhtml'>
<p>
Juliet, I am at <a href='geo:some-geo-uri'>47.8N,9.3E</a>
and feeling kind of dizzy!
</p>
</body>
</html>
</message>
Now, whether the recipient supports the geo: URI scheme is another
matter. But I don't see a good reason to complicate the data element
when we already have a way to include URIs -- it's called XHTML-IM.
Peter -- Peter Saint-Andre https://stpeter.im/
smime.p7s
Description: S/MIME Cryptographic Signature
