in reply to Flattening Access DB to XML

MS Access stores all the tables and schema in a single .mdb file. It's more than possible that an OLE call exists to extract the schema by table. For example in ADO.Net, OleDbConnection.GetOleDbSchemaTable() method can be used to extract a schema.

you did not mention

method 1
DBIx::XML_RDB by matts - straight from the man docs ...

here's a tute with code.

method 2
last ditch effort (requires linux box) you could try mbdtool to tackle step 4. here's a brief description of how to generate the schema of a ms access file. (from cvs) It's license is LGPL but may have limited availablity on win32 (base install requires glib2).

method 3
read the discussion on Microsoft access database on a Linux server from php ('success on mdb tools odbc install' post by lauram) using the MDBTools ODBC driver. Any reason this can't be done using perl?