<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
LML - LLView markup language


Copyright (c) 2011 Forschungszentrum Juelich GmbH

All rights reserved. This program and the accompanying materials

are made available under the terms of the Eclipse Public License v1.0

which accompanies this distribution and is available at

http://www.eclipse.org/legal/epl-v10.html
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:lml="http://www.llview.de" targetNamespace="http://www.llview.de">


    <include schemaLocation="colors.xsd"/>
    
    <complexType name="entities_type">
        <annotation>
        	<documentation>Dummy-root-object. Contains key and keyref definitions to define foreign keys and primary keys.
Primary key is here objects/object.id . Foreign key is information/info.id</documentation>
        </annotation>
        <sequence>
    		<element maxOccurs="1" minOccurs="0" name="objects" type="lml:objects_type"/>
    		<element maxOccurs="1" minOccurs="0" name="information" type="lml:information_type"/>
    	</sequence>
    </complexType>
    
    
    <complexType name="objects_type">
        <annotation>
        	<documentation>Collects a list of objects. Can only exist once in whole lml-file.</documentation>
        </annotation>
        <sequence>
    		<element maxOccurs="unbounded" minOccurs="0" name="object" type="lml:object_type"/>
    	</sequence>    	
    </complexType>

    <complexType name="object_type">
        <annotation>
        	<documentation>Defines one instance within the batch-system. 
For example one object could represent one job on the batch-system or one node.
Even the system is one object.
The color defines with which color this object is identified and painted.</documentation>
        </annotation>
        <attribute name="type" type="lml:object_name" use="required"/>
    	<attribute name="id" type="NCName" use="required"/>
    	<attribute default="#FFF" name="color" type="lml:hexcolor_type"/>
    	<attribute name="name" type="string"/>
    </complexType>

    <simpleType name="object_name">
    	<annotation>
    		<documentation>
    			Contains a list of possible types of objects in a batch
    			system.
    		</documentation>
    	</annotation>
    	<restriction base="string">
    		<enumeration value="job"/>
    		<enumeration value="node"/>
    		<enumeration value="system"/>
    		<enumeration value="queue"/>
    		<enumeration value="scheduler"/>
    		<enumeration value="class"/>
    		<enumeration value="partition"/>
    		<enumeration value="partmap"/>
    		<enumeration value="smallpartition"/>
    	</restriction>
    </simpleType>

    <complexType name="information_type">
        <annotation>
        	<documentation>Collects a list of infos. Exists a most once.</documentation>
        </annotation>
        <sequence>
    		<element maxOccurs="unbounded" minOccurs="0" name="info" type="lml:info_type"/>
    	</sequence>
    </complexType>

    <complexType name="info_type">
    	<annotation>
    		<documentation>
    			Is referenced to an existing object-instance by id.
    			description gives a brief idea of what this info
    			contains. Collects a list of key-value-pairs. For
    			example key="cpucount" value="290.000".
    		</documentation>
    	</annotation>
    	<sequence>
    		<element maxOccurs="unbounded" minOccurs="0" name="data" type="lml:infodata_type">
    		</element>
    	</sequence>
    	<attribute name="oid" type="NCName" use="required"/>
    	<attribute name="description" type="string"/>
    	<attribute default="notype" name="type" type="NCName">
    		<annotation>
    			<documentation>This attribute is used to distinguish between types of information. Type could be "short", "long", "unnecessary" ...
Then you can categorize the given information.</documentation>
    		</annotation>
</attribute>
    </complexType>

    <complexType name="infodata_type">
        <annotation>
        	<documentation>Key value pair for information.</documentation>
        </annotation>
        <attribute name="key" type="string" use="required"/>
    	<attribute name="value" type="string"/>
    </complexType>  

</schema>
