I've been trying not to get involved in this question, but it's not working.

JSON and XML are both complex formats that require formal parsers. JSON can use a built-in parse, but that doesn't mean that a parser isn't required. And one may reasonable argue than XML is more regular than JSON and therefor simpler. In any case, the parse tree is about the same.

Both are overly verbose and waste a huge amount of space.  Pox on each.

I've designed more database protocols than the average bear. I've settled on XML for handshaking and heavily encoded binary object serialization protocol after successful completion of the initial security handshake. Works for me.

Generating XML with printf's is not a really good idea. Build of tree of XML objects and serialize the sucker. Hand counting angle brackets if for the birds.

Incidentally, when I have a protocol that requires user specified parameter names (more on that only on request), I precede the encoded objects with a StringCatalog that maps strings into integers for dense and efficient encoding. Isomorphic to XML, but not XML. But the byte count, parsing overhead, and memory usage by huge factor.

But all that said, I'm personally more comfortable with an initial handshake with a robust standard like XML. Bloated, sure, relative high parse cost, definition, but infinitely flexible and extensible.

On a distantly related topic, I hereby apologize for XDR. It seemed like a good idea at the time, but...

On 11/10/2015 8:05 PM, Arno Brinkman wrote:
Hi,

Just my 2 cents:

I can see the benefit of an XML output, but then i would not use underscores
inside the tags and params.
Also i would prefer using the base operation as tag and not everything
capsulated inside <Node operation="....">

Something like:

<SelectExpression>
<Filter>
  <NestedLoopOuterJoin>
   <NestedLoopInnerJoin>
    <Filter>
     <Table alias="R">RDB$RELATIONS</Table>
     <FullScan/>
    </Filter>
    <Filter>
     <Table alias="RF">RDB$RELATION_FIELDS</Table>
     <BitMap>
      <Index Scan="Range" Matching="Full">RDB$INDEX_4</Index>
     </BitMap>
     ..........
   </Filter>
   </NestedLoopInnerJoin>
  </NestedLoopOuterJoin>
</Filter>
</SelectExpression>



Kind Regards,
Arno Brinkman
ABVisie


------------------------------------------------------------------------------


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to