xml-test checks that an XML document is included in another document. It is handy when testing an application's output against a document where element order is different (GData and Atom are examples of specifications where element order is unimportant). It has a relaxed notion of containment: element order is ignored, whitespace is trimmed, comments are ignored, specific elements can be ignored by passing XPath-like paths on the command line, and text nodes (element and attribute content) can be ignored by passing '-notext' on the command line.
xml2sql-v is based on expat and is a quick and dirty solution to transform the content of any well-formed XML file into SQL INSERT statements such that you can postprocess the content of the XML data with SQL. The XML file is neither tested for correctness nor is it checked to contain anything reasonable. The insert statements will have the UTF-8 characterset but there are 3 more utilities (entityfix, latin1-utf8, and utf8-latin1), to fix broken HTML entities within the XML files, convert "forgotten" Latin1-Characters into proper XML entities, and convert the output back to Latin1 for easy insertion into the database.
XML::RDB is a Perl extension to convert XML files into RDB schemas and populate/unpopulate them. It works with XML schemas too. It analyzes relationships within either an XML file or an XML schema to create RDB tables to hold that document (or any XML document that conforms to the XML schema). It takes an XML file or URL as input for the XML::DOM::Parser, and extracts information to build and write DDL. An attempt is made to recognize relations within the XML structure then translate it to the DDL. That generated DDL is then loaded, parsing the DOM tree a second time to extract and load the data. At the bottom of the DDL are select statements to help get a view of those relations found, and XML data. xml_rdb also dumps the data back to XML format.