OK, here's how it works.

To recap, we will :
- split the big XML file into bite-sized pieces
- set up a service (a web php script) that will supply those pieces when asked
- the service will also annotate its output with the term relationship information that's currently missing from the source.

- Use Drupal with taxonomy_xml to request the top level item(s) of the list
- each response will contain embedded links to further service requests
- drupal goes into batch mode and crawls those further items once-by-one

This means that lots of bite-sized chunks can get processed without blowing the time limits etc.

To begin:

1.
Unpack/move the provided files into somewhere local and web-accessable, eg
http://localhost/MeSH/
such that 
http://localhost/MeSH/MeSH_server.php is accessible (and runs PHP5 OK)

2.
Retrieve and unpack the MeSH dump file desc2009.gz and unpack it in that directory, producing the file desc2009

3. 
Use the commandline to execute the splitter script split_mesh_into_entries-reader.php
It can take arguments, but is preset to run on "desc2009" so from that directory, just
  php split_mesh_into_entries-reader.php
Should start it off. (Ensure PHP is in your PATH or enter the full path to php.exe on your system as required)  

This may take a while.

4. 
Verify that you are getting 2 folders filling up with smallish files, and take a break.

5.
Later (or in the meantime), visit http://localhost/MeSH/MeSH_server.php and play with the options.

6.
Install the mesh_format.inc file into your taxonomy_xml.module directory alongside the others. It should be automatically detected.

7.
To trigger the import, visit /admin/content/taxonomy/import and select 'Web URL' as the data source.
(There's not much difference between a Web URL and a Web Service yet. Services are more for XML/RPC jobs. This server is just an URL+args)
Ensure the format is 'MESH'. (No safe auto-detection yet)

8. 
Choose a starter URL to feed the importer
To import only one branch (Highly recommended) Choose the first option (no arg) from MeSH_server.php and submit to get a list of top-level branches.
Copy the URL and put it into taxonomy_xml.

Note that the progress bar is EXTREMELY wrong. It will tell you how fast it's going, but it has no idea how far it has to go.
Every item processed may throw another pile of jobs onto the queue. Which in turn may do the same,.

