====== MODS: a command-line tool for searching and editing MODS records ======
The MODS command-line tool is a simple way to search and edit MODS records from the command-line. The examples below show some basic uses of the tool. Use the editing features of this tool with some caution, however. It is powerful and not particularly user-friendly.
===== Documentation =====
==== Installation ====
To install, copy all the contents of R:\aaron\dubois_digitization\mods into your C:\WINDOWS folder. Open up a Command Prompt by going to Programs -> Accessories -> Command Prompt or by clicking on Run in the Start menu and entering "cmd" into the window. To test if mods is installed correctly, enter:
mods --help
and hit enter. You should see a list of options and an explanation of what they do.
==== Examples ====
In these examples, ">" represents the command-line prompt.
The most common and practical use of the tool is to search within an entire directory of MODS records. The "-S" option allows you to do this. All commands are case sensitive so make sure you use a capital "S". The basic method of searching looks like this:
>mods -S "Text you want to search for" *.xml
Every mods command requires an argument at the end. Generally, that argument should be *.xml, which will apply the command to every .xml file in your current directory. By default, the command above will search all the text in the element. If you would like to search for text in another element(s), you can specify an xpath expression using the "-x" option to indicate what you would like to search:
>mods -S "Allison" -x "//mods:name/mods:namePart[@type='family']" *.xml
The above command will search every element where the attribute type="family" for the text "Allison". Make sure to include the namespace for each element, i.e. instead of . For more on xpath expressions, check out this tutorial: [[http://www.w3schools.com/XPath/default.asp|http://www.w3schools.com/XPath/default.asp]]. If your text string is found, the file name of the record where the text was found will be printed out to the screen.
==== Options summary ====
Usage: mods.py [options] arg1
Options:
-h, --help show this help message and exit
-v, --validate Validate record to Schema
-s SCHEMA_PATH, --set-schema=SCHEMA_PATH
Set path to MODS schema
-c, --check-text Check for missing text
-e TEXT, --edit-text=TEXT
Set the text you want add. Must use with --xpath
option to identify element text to edit.
-I, --add-identifier Add local identifier to records
-o OUTFILE, --outfile=OUTFILE
Save edited records to a single outfile. Default
prints to STDOUT.
-w, --write-changes Write changes to files. WARNING, this will overwrite
the original files.
-x XPATH, --xpath=XPATH
Use xpath expression to identify elements to edit.
-a ELEM_XML, --add-element=ELEM_XML
XML element to add.
-i INDEX, --index=INDEX
Tree index where element should be inserted.
-f, --find-element Find if an element is present in the tree. Use with
--xpath option.
-S STRING, --find-string=STRING
If specified with --xpath, find string in returned
element. Default finds string in abstract
==== Command-line tips ====
To change drives, enter the drive letter at the prompt and press enter:
>y:
To change directories, use the cd command followed by the path to the directory you want to change into:
y:>cd scans/dubois_scanning/dubois_digitization/staging/box001
To see what files are in your current directory, use the dir command:
y:/scans>dir