My ActiveFacts toolset loads much of the XML content of an ORM file, using the Ruby programming language. I use the nokogiri XML parser (which is based on libxml/expat) to load the entire ORM file to a DOM-like tree, then use XPath queries and other traversals to extract different kinds of information...