GUS XML and XML handling in the GUS object layer ------------------------------------------------ The GUS distribution includes a general purpose plugin that accepts data in XML format and loads it in GUS, handling a limited set of key constraint cases. This XML is called "simple GUS XML": my $purpose = < value ... This is very similar to the GUS XML recognized by XMLGUS except instead of underscore CBIL uses '::' to delimit schema and table names. In addition, an extension to the CBIL format is introduced to control commits to the database. '//' at the beginning of a line denotes objects that need to be submitted to the database since the last commit. The CBIL plugin returns the number of processed, inserted and updated objects. The only reference found for usage of LoadGusXml is for entering User, Group, and Project entries in the database in the User Guide To add a project this is the sample XML used: Sample project A sample project // The plugin is invoked with: ga GUS::Supported::Plugin::LoadGusXml --filename sampleproject.xml --commit If elements referring to tables are nested in the XML, LoadGusXml will create the appropriate foreign keys between tables. Candidate keys for reserved names, such as DNA, are not resolved by simple GUS XML. Usage notes about LoadGUSXml.pm (restrictions with simple GUS XML): 1. The elements referring to columns must be in the order they appear in the tables. 2. If a primary key column is specified it must be in lower case, the other column names are not case sensitive 3. A column must be all on one line with no leading/trailing whitespace Details about (not simple) GUS XML can be found at http://flora.ittc.ku.edu/xmlgus2.0/help.txt and in Clark, et al., Applied Bioinformatics 2005, 4(1):13-24.