<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Dec 4, 2013 at 10:48 PM, Peter Waher <span dir="ltr"><<a href="mailto:Peter.Waher@clayster.com" target="_blank">Peter.Waher@clayster.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="SV" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:11pt">XEP-0322 (EXI) contains two methods of using EXI-compressed XML in pure binary form, i.e. not base-64 encoded. The first method contains a handshake
 mechanism where a normal XMPP session is converted to pure binary using EXI (including quick setup), and another mechanism which is EXI from the start, i.e. no text XML is sent/received.</span></p></div></div></blockquote>
<div><br></div><div>The mention of base64 (or not) in this instance was referring to the way a schema-aware EXI encoder will strip off the base64 from values which are declared as such in the XML schema, as I understand things, such as a hypothetical attribute value here:</div>
<div><br></div><div><foo attr='BLAHBLAHBL=='/></div><div><br></div><div>the attribute here in base64 would not be in base64 in EXI serialization.</div><div><br></div><div>Feel free to correct me if I'm off the mark.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="SV" link="blue" vlink="purple"><div><div><div><div><div><div class="im">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
</div><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Having said that, some defense of XML: Using XML (either serialized as text or serialized as efficient binary using EXI) has some exceptional benefits,
 among other things its extensibility and interoperability. Being able to use standardized techniques for validation (schemas), version control and transformations (XSLT), searching (XPATH) etc. is a further plus. There are many attempts to create “simpler”
 forms of communication using for instance JSON, etc. But what is “simple” in the short term is not necessarily what is simple in the long term, especially if you want to create an interoperable infrastructure where myriads of service providers share common
 networks and supposedly integrate with each other, taking into account versions, contracts, etc. Making it too simple now, might end up bury you in the end.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u></span></p></div></div></div></div></div></div></blockquote><div><br></div><div>
There are designs for JSON schemas and JSON namespacing around, and even query languages too I think. For all I know there's an XSLT clone for JSON.</div><div><br></div><div>In my opinion, these are classic examples of trying to make everything look like a nail - if you need all that kind of stuff, you probably need XML.</div>
<div><br></div><div>Dave.</div></div></div></div>