xpath.py: Added basic support for split paths
Merged xml_xpath.py into xpath.py in preparation for changing the XPath parse tree to be the XML DOM tree itself
Refactored xpath.parse() to use a nested function instead of a class extending Parser
map: Fixed mislocated import for Parser.SyntaxException
Removed SALVIAS voucher_string mapping per conference call discussion
map: Fixed bugs to enable mapping straight from CSV to a database. Still need a way to set plot.authorPlotCode for specimens data.
Fixed ch_map_root to support subpaths which follow the root by -> rather than /. Changed spreadsheet syntax to have : between label and root.
Updated extract_plot_map to use new name for VegX-VegBank mapping and re-ran it and join_all_vegbank
Finished VegX-VegBank mapping and created VegBank joins of mappings to VegX
Finished ch_map_root (renamed from submap)
Added submap and extract_plot_map to extract plot subpaths from VegX-VegBank.csv
Moved env usage string creation to opts.py. Changed db config var names to use in/out instead of from/to.
Keep *.test.xml out of version control
Moved options-processing code to opts.py: Added opts.py
Moved options-processing code to opts.py
test_map: Compares generated XML to correct version
Fixed xml_xpath.get() last_only optimization to handle attrs correctly. Turned off stack traces for errors intended for the user to see.
Changed mappings to place prefix common to all XPaths in the column header
simplify_xpath: Made it case-insensitive
map: Added support for custom fkeys to parent in db XML trees. Removed extraneous csv reader/writer config because Excel format is default. Improved documentation.
map: Added stub for database input
map: Added more stubs for XML-XML mapping
Started adding XML-XML mapping support to map
Split off xpath.py XML functionality into xml_xpath.py
map: Using SystemExit for usage errors to avoid stack trace
Also available in: Atom