I think his point is that without proper data structures, the api for xml parsing would be pretty ugly.

Here's an example API (best I could come up with):

Code:
/xmlopen document file.xml
var %node = $xmlnode(document, root) 
; The above could return the root node of the document
; but how would it return it? as what? text? a unique node name?
; And how would we get the first children of that node, for ex.?

var %childnode = $xmlnode(document, %node, 1)
; The above would only work if %node was some unique identifier 
; across all nodes in the document, "node001" or something. 

/xmlclose document


You could probably think up a better API, but you'd still have to figure out how to represent any data structure as a set of strings, since that's the only inherent data-structure mIRC has.

The other option is to do something like binary variables and have "xmlset NODENAME document PARENTNODE 1" to set $xmlvar(NODENAME) to a node, but that's equally odd.