Skip to content. Skip to navigation

Agora Dokumentation

Sections
You are here: Home Support Documentation Agora System
Document Actions

Agora System

You are here: 2 General data model – Agora repository
 

2.2 Document structure (docstrct.xml)

At tht beginning of an Agora project usually the particular structuring of the documents takes place. It has to be described which document types (elements) the prospective collection should have and how this collection can be characterised by different attributes. To represent the document structure Agora utilise 'docstrct.xml'. This configuration file is also used to build up the Agora database (the Agora repository). Every Agora project is provided with a so called 'config' folder, where - amongst others - the 'docstrct.xml' is stored.

'docstrct.xml' basically is divided in 3 domains (XML nodes) to define the document:

  • 1. Definition of collections: <collection-list>

    >Example:

    ...
    <collection-list>
      <collection name="c1">
        <element-ref ref="Journal"/>
      </collection>
    </collection-list>
    ...
    			  

    In this case the element Journal is specified for the collection c1.

  • 2. Definition of elements: <element-list>

    Example:

    ...	    	   
    <element-list>
      <element name="Journal" root="yes">
    	  <name xml:lang="en">Journal</name>
    	  <element-ref ref="Cover"/>
    	  <element-ref ref="TitlePage"/>
      	  <element-ref ref="TableOfContents"/>
    	  <element-ref ref="Article"/>
    	  <attribute-ref ref="Title" key="true"/>
    	  <attribute-ref ref="YearOfPublication"/>
    	  <attribute-ref ref="PlaceOfPublication"/>
      </element>
      <element name="TitlePage">
    	  <name xml:lang="en">Titlepaget</name>
      </element>
      <element name="TableOfContents">
    	  <name xml:lang="en">Table of contents</name>
      </element>
      <element name="Article">
    	  <name xml:lang="en">Article</name>
    	  <element-ref ref="Annex"/>
    	  <attribute-ref ref="Author" minOccurs="1" maxOccurs="3"/>
    	  <attribute-ref ref="Publisher" minOccurs="1" maxOccurs="3"/>
    	  <attribute-ref ref="Title" key="true"/>
    	  <attribute-ref ref="Keyword" minOccurs="1" maxOccurs="unbounded"/>
      </element>
    ...
    			  

    Element Journal includes the sub-elements Cover, TitlePage, TableOfContents and Article. The attributes describing Journal are Title, YearOfPublication and PlaceOfPublication.

  • 3. Definition of attributes: <attribute-list>

    Example:

    ...	    	   
    <attribute name="Author">
      <name xml:lang="en">Author</name>
      <name xml:lang="de">Autor</name>
    </attribute>
    <attribute name="Title" key="true">
      <name xml:lang="en">Title</name>
      <name xml:lang="de">Titel</name>
    </attribute>
    ...
    			   

    The attributes Author and Title are defined. With the help of <name xml:lang=...</name> an attribute can be allocated to a certain user language. Additionally the attribute Title is defined as a key attribute (key="true").

    Specific data types can be defined. The following standards are available:

    • type="string" signifies character strings

    • type="integer" signifies numerical values

    • type="date" signifies a date field. The correspondent attribute value must follow the convention DD.MM.JJJJ.

    Also project-specific data types can be created. The node <type-definition> has to be used.

    Example:

    ...	    	   
    <type-definition>
       <simpleType name="FixMonth" base="string">
              <enumeration value="January" />
              <enumeration value="February" />
              <enumeration value="March" />
              <enumeration value="April” />
              <enumeration value="May" />
              <enumeration value="June" />
              <enumeration value="July" />
              <enumeration value="August" />
              <enumeration value="September" />
              <enumeration value="October" />
              <enumeration value="November" />
              <enumeration value="December" />
        </simpleType>
    </type-definition>
    
    ...
    			   

    The attribute, declared as type of 'FixMonth', was accepeted by the system only, if it contains one of those 'enumeration values'.

    In principle: no document will be imported into the Agora system, if an attribute value does not correspond to predefined data type.


You are here: 2 General data model – Agora repository
 
last modified 2008-03-13 15:48