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.html
See, that was easy, wasn't it? ;-)
/psa
This 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>