Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
library_model.xml 3.85 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?xml version="1.0" encoding="UTF-8"?>
    <a:model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://arolios.org/arolios/model ../schemas/xam.xsd"
    	xmlns:a="http://arolios.org/arolios/model">
    	<domain name="library">
            <enumeration name="kind_of_book">
                <value name="novel" />
                <value name="poetry" />
                <value name="play" />
                <value name="autobiography" />
            </enumeration>
    
            <class name="book">
                <property name="title" type="charstring" required="true" />
                <property name="kind" type="kind_of_book" />
                <identifier>
                    <property>title</property>
                </identifier>
            </class>
    
            <class name="person" isAbstract="true" >
                <property name="first_name" type="charstring"/>
                <property name="surname" type="charstring"/>
            </class>
    
            <class name="writer" >
                <base>person</base>
                <property name="name" type="charstring" required="true" />
                <identifier>
                    <property>name</property>
                </identifier>
            </class>
    
            <association name="author" >
                <memberEnd name="books" class="book" />
                <memberEnd name="writers" class="writer" />
            </association>
    
            <class name="personal_info" >
                <property name="introduction" type="mlangtext" />
                <property name="birth_date" type="date" required="true" />
                <property name="death_date" type="date" />
            </class>
    
            <association name="writer_info" >
                <memberEnd name="info" class="personal_info" maxOccurs="one"/>
                <memberEnd name="writer" class="writer" minOccurs="one" maxOccurs="one" />
            </association>
    
            <class name="registered_person">
                <base>person</base>
                <property name="id_number" type="charstring" required="true" />
                <identifier>
                    <property>id_number</property>
                </identifier>
            </class>
    
            <association name="borrowing">
                <memberEnd name="books" class="book" />
                <memberEnd name="borrowers" class="registered_person" />
                <property name="borrowing_date" type="date" required="true" />
                <property name="return_date" type="date"/>
                <identifier>
                    <property>borrowing_date</property>
                </identifier>
            </association> 
    
    
            <class name="room">
                <property name="name" type="charstring" required="true" />
                <identifier>
                    <property>name</property>
                </identifier>
            </class>
    
            <class name="shelving" >
                <property name="number" type="smallint" required="true" />
            </class>
    
            <association name="room_shelving">
                <memberEnd name="shelvings" class="shelving" isComposition="true" />
                <memberEnd name="room" class="room" minOccurs="one" maxOccurs="one" />
            </association>
    
    
            <type name="position" >
                <property name="shelf" type="smallint"  />
                <property name="place" type="smallint" />
            </type>
    
            <association name="book_position" >
                <memberEnd name="books" class="book" />
                <memberEnd name="shelving" class= "shelving" maxOccurs="one" />
                <property name="position" type="position" required="true" />
            </association>
    
            
    
        </domain>
    
        <domain name="library" action="update">
    
            <class name="personal_info" action="update">
                <identifier>
                    <memberEnd>writer</memberEnd>
                </identifier>
            </class>
    
            <class name="shelving" action="update" >
                <identifier>
                    <property>number</property>
                    <memberEnd>room</memberEnd>
                </identifier>
            </class>
    
        </domain>
    </a:model>