
Many (professional) applications process xml messages based on a formal specification, expressed in xml schemas. xml::compile translates between xml and perl with the help of such schemas. your perl program only handles a tree of nested hashes and arrays, and does not need to understand namespaces and other general xml and schema nastiness.