mirror of https://github.com/moparisthebest/xeps
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
4.9 KiB
141 lines
4.9 KiB
<?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>Data Forms XML Element</title> |
|
<abstract>This specification defines an XMPP protocol extension for including XML-data in XEP-0004 data forms.</abstract> |
|
&LEGALNOTICE; |
|
<number>0315</number> |
|
<status>Deferred</status> |
|
<type>Standards Track</type> |
|
<sig>Standards</sig> |
|
<dependencies> |
|
<spec>XMPP Core</spec> |
|
<spec>XEP-0004</spec> |
|
</dependencies> |
|
<supersedes/> |
|
<supersededby/> |
|
<shortname>xml-element</shortname> |
|
<author> |
|
<firstname>Sergey</firstname> |
|
<surname>Dobrov</surname> |
|
<email>binary@jrudevels.org</email> |
|
<jid>binary@jrudevels.org</jid> |
|
<uri>http://jrudevels.org/</uri> |
|
</author> |
|
<revision> |
|
<version>0.1.1</version> |
|
<date>2019-06-19</date> |
|
<initials>fs</initials> |
|
<remark><p>Fix shortname and section heading to avoid collision with XEP-0221</p></remark> |
|
</revision> |
|
<revision> |
|
<version>0.1</version> |
|
<date>2012-10-15</date> |
|
<initials>psa</initials> |
|
<remark><p>Initial published version approved for publication by the XMPP Council.</p></remark> |
|
</revision> |
|
<revision> |
|
<version>0.0.2</version> |
|
<date>2012-06-21</date> |
|
<initials>snd</initials> |
|
<remark><p>Root element name changed to "wrapper"; xmlns fixed in the XML-schema.</p></remark> |
|
</revision> |
|
<revision> |
|
<version>0.0.1</version> |
|
<date>2012-06-13</date> |
|
<initials>snd</initials> |
|
<remark><p>Initial version.</p></remark> |
|
</revision> |
|
</header> |
|
|
|
<section1 topic='Introduction' anchor='intro'> |
|
<p>In certain protocols that make use of &xep0004;, it can be helpful to include XML-data (for example, when we want to insert a big amount of structured data which is hard to insert as a separate fields). This document defines a method for including XML-data in a data form.</p> |
|
</section1> |
|
|
|
<section1 topic='XML Element' anchor='xml-element'> |
|
<p>The root element for XML-data is <wrapper/>. This element MUST be qualified by the "urn:xmpp:xml-element" namespace. The <wrapper/> element MUST be contained within a <field/> element qualified by the 'jabber:x:data' namespace.</p> |
|
<p>The <wrapper/> element SHOULD contain an XML-data which needs to be represented in a form.</p> |
|
<example caption='PubSub Blog Node Metadata'><![CDATA[ |
|
<wrapper xmlns='urn:xmpp:xml-element'> |
|
<feed xmlns='http://www.w3.org/2005/Atom'> |
|
<title>Romeo&apos;s Microblog</title> |
|
<id>tag:montague.lit,2008:home</id> |
|
<updated>2008-05-08T18:30:02Z</updated> |
|
<author> |
|
<name>Romeo Montague</name> |
|
<uri>xmpp:romeo@montague.lit</uri> |
|
</author> |
|
</feed> |
|
</wrapper> |
|
]]></example> |
|
<example caption='Inclusion in Data Form'><![CDATA[ |
|
<x xmlns='jabber:x:data' type='form'> |
|
[ ... ] |
|
<field var='xml-metadata' type='hidden'> |
|
<wrapper xmlns='urn:xmpp:xml-element'> |
|
<feed xmlns='http://www.w3.org/2005/Atom'> |
|
<title>Romeo&apos;s Microblog</title> |
|
<id>tag:montague.lit,2008:home</id> |
|
<updated>2008-05-08T18:30:02Z</updated> |
|
<author> |
|
<name>Romeo Montague</name> |
|
<uri>xmpp:romeo@montague.lit</uri> |
|
</author> |
|
</feed> |
|
</wrapper> |
|
</field> |
|
[ ... ] |
|
</x> |
|
]]></example> |
|
</section1> |
|
|
|
<section1 topic="Usage Practices"> |
|
<p>XML-data is usually hard for manual editing and SHOULD be used only for machine level iteractions. So it's RECOMMENDED to include it in the form as a "hidden" field.</p> |
|
<p>However, there are situations when human editing of XML-data may be useful (for example, to see XML-logs of some XMPP-service). In that case it's RECOMMENDED for a client to represent this XML in a pretty formatted form and give an instruments to make it easier to edit XML-data.</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='Protocol Namespaces' anchor='ns'> |
|
<p>The ®ISTRAR; includes "urn:xmpp:xml-element" in its registry of protocol namespaces (see &NAMESPACES;).</p> |
|
</section2> |
|
</section1> |
|
|
|
<section1 topic='XML Schema' anchor='schema'> |
|
<code><![CDATA[ |
|
<?xml version='1.0' encoding='UTF-8'?> |
|
|
|
<xs:schema |
|
xmlns:xs='http://www.w3.org/2001/XMLSchema' |
|
targetNamespace='urn:xmpp:xml-element' |
|
xmlns='urn:xmpp:xml-element' |
|
elementFormDefault='qualified'> |
|
|
|
<xs:annotation> |
|
<xs:documentation> |
|
The protocol documented by this schema is defined in |
|
XEP-XXXX: http://www.xmpp.org/extensions/xep-xxxx.html |
|
</xs:documentation> |
|
</xs:annotation> |
|
|
|
<xs:element name='wrapper'> |
|
<xs:complexType> |
|
<xs:sequence> |
|
<xs:any minOccurs='0' maxOccurs='unbounded'/> |
|
</xs:sequence> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
</xs:schema> |
|
]]></code> |
|
</section1> |
|
|
|
</xep>
|
|
|