Libxml declares a number of data types we will encounter repeatedly, hiding the messy stuff so you do not have to deal with it unless you have some specific need.
A basic replacement for char, a byte in a UTF-8 encoded string. If your data uses another encoding, it must be converted to UTF-8 for use with libxml's functions. More information on encoding is available on the libxml encoding support web page.
A structure containing the tree created by a parsed doc. xmlDocPtr is a pointer to the structure.
A structure containing a single node. xmlNodePtr is a pointer to the structure, and is used in traversing the document tree.