The complete example repository definition file used in this example is as follows:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE gsa-template PUBLIC "-//Art Technology Group, Inc.//
DTD Dynamo Security//EN" "http://www.atg.com/dtds/gsa/gsa_1.0.dtd">

<gsa-template>

  <item-descriptor name="book_folder"
                   display-property="folderPath"
                         folder="true"
                         content-path-property="folderPath"
                         folder-id-property="parentFolder">

   <table name="book_folder" id-column-name="id" type="primary">
          <property name="parentFolder" item-type="book_folder"/>
          <property name="folderPath" data-type="big string"/>
   </table>
  </item-descriptor>

  <item-descriptor name="book"
                    display-property="title"
                    content="true"
                    content-property="bookcover_image"
                    content-path-property="filePath"
                    folder-id-property="parentFolder">

     <table name="book_info" id-column-name="id" type="primary">
          <property name="filePath" data-type="big string"/>
          <property name="parentFolder" item-type="book_folder"/>
          <property name="title" data-type="big string"/>
          <property name="author" data-type="big string"/>
     </table>

     <property name="bookcover_image"
             property-type="atg.repository.FilePropertyDescriptor"/>

  </item-descriptor>

</gsa-template>