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):
/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.