Login/Register | Contact Us | 1+ 978-528-4660

C.2. The Structure of the Project Definition File

C.2. The Structure of the Project Definition File

C.2. The Structure of the Project Definition File

Because the project definition file is a standard XML file, you should always start the file with the XML declaration. The root element of the definition file is the project element, so the next line of the definition file should start the project element. The remainder of the definition consists of elements that are children of the project element.

Figure C.1, “Project Definition XML Structure” shows the structure of the project definition file. The indentation indicates the hierarchical parent-child relationships of the elements and an ellipsis (...) shows where an element may appear multiple times.

Figure C.1. Project Definition XML Structure

<project>
     <info>
          <name>
          <description>
          <version>
     </info>
     <security/>
     <database>
          <schemas>
               <schema/>...
          </schemas>
         <groups>
               <group/>...
          </groups>
          <procedures>
               <procedure/>...
               <procedure>
                    <sql>
               </procedure>...
          </procedures>
          <partitions>
               <partition/>...
          </partitions>
          <export>
               <tables>
                    <table>...
               </tables>
          </export>
     </database>
</project>


Table C.1, “Project Definition File Elements and Attributes” provides further detail on the elements, including their relationships (as child or parent) and the allowable attributes for each.

Table C.1. Project Definition File Elements and Attributes

ElementChild ofParent ofAttributes
project*(root element)security, database 
infoprojectname, description, version 
name*info  
description*info  
version*info  
securityproject enabled={true|false}
database*projectgroups, procedure, partition, snapshotname={text}
schemas*databaseschema 
schema*schemas path={file-spec}*
groupsdatabasegroup 
groupgroups 

name={text}*
adhoc={true|false}
sysproc={true|false}

proceduresdatabaseprocedure

procedureproceduressql

class={text}*
groups={group-name[,..]}
partitioninfo={text}

sql

procedure

 joinorder={table-name[,...]}
partitionsdatabasepartition

partitionpartitions 

table={text}*
column={text}*

exportdatabasetables

groups={group-name[,..]}

tablesexporttable

tabletables 

name={text}*

*Required



copyright 2012 VoltDB, Inc.