<?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="lgui.xsd"/>
    <complexType name="column_type">
    	<annotation>
    		<documentation>
    			Describes one column of table.
    		</documentation>
    	</annotation>
    	<sequence>
    		<element maxOccurs="1" minOccurs="0" name="pattern" type="lml:pattern_type">
    			<annotation>
    				<documentation>
    					The pattern-tag defines regular expressions,
    					which describe the allowed values of a column.
    					For a status-column in a job-table you could
    					define, that values of this column are taken
    					from {RUNNING, SUSPENDED, STOPPED}. This is also
    					used to insert new jobs into job-tables. If a
    					job is "running" and the status-column allows
    					running jobs, this job should be inserted into
    					this table.
    				</documentation>
    			</annotation>
    		</element>
    	</sequence>
    	<attribute name="name" type="NCName" use="required"/>
    	<attribute name="sort" type="lml:sorting_type"/>
    	<attribute name="description" type="string"/>
    	<attribute name="id" type="positiveInteger" use="required"/>
    	<attribute default="optional" name="type">
            <annotation>
            	<documentation>This attribute defines the use of this column. If optional (default) cells of this column can be left out in rows.
If mandatory they have to be defined.</documentation>
            </annotation>
            <simpleType>
    			<restriction base="string">
    				<enumeration value="mandatory"/>
    				<enumeration value="optional"/>
    			</restriction>
    		</simpleType>
    	</attribute>
    </complexType>

    <simpleType name="sorting_type">
        <annotation>
        	<documentation>Defines allowed ways of how columns are sorted. If value is date, the values have to match the regular expression ^\d{4}\-\d{2}\-\d{2}\s*(\d{2}:\d{2}(:\d{2})?)?$
A valid example is: "2011-04-13 09:56:44"</documentation>
        </annotation>
        <restriction base="string">
    		<enumeration value="numeric"/>
    		<enumeration value="alpha"/>
    		<enumeration value="date"/>
    	</restriction>
    </simpleType>

    <complexType name="cell_type">
        <annotation>
        	<documentation>Can be linked to column by using foreign key cid to cid-attribute of column-tag.
Otherwise order of cells define connections to columns.</documentation>
        </annotation>
        <attribute name="cid" type="positiveInteger">
    		<annotation>
    			<documentation>Is cid not defined, order of columns and cells will define which cell is connected to which column.</documentation>
    		</annotation>
</attribute>
    	<attribute name="value" type="string"/>
    </complexType>


    <complexType name="row_type">
        <annotation>
        	<documentation>One row in final table.</documentation>
        </annotation>
        <sequence>
    		<element maxOccurs="unbounded" minOccurs="0" name="cell" type="lml:cell_type"/>
    	</sequence>
    	<attribute name="oid" type="NCName">
    		<annotation>
    			<documentation>Reference to object-tag</documentation>
    		</annotation>
</attribute>
    </complexType>


    <complexType name="table_type">
    	<annotation>
    		<documentation>
    			An abstract table. Defines several columns, which can be
    			sorted by different datatypes. Then data is defined in
    			row-tags, which can be linked with object-tags.
    		</documentation>
    	</annotation>
    	<complexContent>
    		<extension base="lml:gobject_type">
    			<sequence>
    				<element maxOccurs="unbounded" minOccurs="0"
    					name="column" type="lml:column_type">
    				</element>
    				<element maxOccurs="unbounded" minOccurs="0"
    					name="row" type="lml:row_type">

    					<!-- for one column only one cell in a row -->
    					<unique name="cellCIDUnique">
    						<selector xpath="cell" />
    						<field xpath="@cid" />
    					</unique>

    				</element>
    			</sequence>
    			<attribute default="other" name="contenttype">
    				<annotation>
    					<documentation>
    						This attribute defines the table's content
    						type. E.g. the value jobs defines this table
    						to contain job-information.
    					</documentation>
    				</annotation>
    				<simpleType>
    					<restriction base="string">
    						<enumeration value="jobs" />
    						<enumeration value="nodes" />
    						<enumeration value="users" />
    						<enumeration value="groups" />
    						<enumeration value="classes" />
    						<enumeration value="queues" />
    						<enumeration value="other" />
    					</restriction>
    				</simpleType>
    			</attribute>
    			<attribute name="form" default="sparse">
                    <annotation>
                    	<documentation>This attribute defines the used form of this table. The form can be regular or sparse in comparison with a matrix. A regular table is filled completely. Every row has the maximum amount of cells.
A sparse table can leave cells out. One row could contain only one cell, which means that all other columns are empty for this row. Another row might contain 5 cells in the same table.
This table form could reduce transmitted data. On the other hand regular tables can be processed faster, because a program does not have to check if every cell is available.</documentation>
                    </annotation>
                    <simpleType>
    					<restriction base="string">
    						<enumeration value="regular"></enumeration>
    						<enumeration value="sparse"></enumeration>
    					</restriction>
    				</simpleType>
    			</attribute>
    		</extension>
    	</complexContent>
    </complexType>





    <complexType name="pattern_type">
        <annotation>
        	<documentation>A pattern element consists of include and exclude tags. Values of the corresponding column
can be checked by the defined regular expressions. They must pass the regexp-checks in
the following way: Go through all include/exclude tags. A value must be valid against the 
include-regexps and must not match with the exclude-regexps. Therefore the order of tags
is important.
</documentation>
        </annotation>
        <sequence maxOccurs="unbounded" minOccurs="1">
    		<element maxOccurs="1" minOccurs="0" name="include" type="lml:pattern_match_type"/>
    		<element maxOccurs="1" minOccurs="0" name="exclude" type="lml:pattern_match_type"/>
    	</sequence>
    </complexType>
    
    <complexType name="pattern_match_type">
    	<attribute name="regexp" type="string">
    		<annotation>
    			<documentation>This attribute takes regular expressions of any kind.</documentation>
    		</annotation>
</attribute>
    </complexType>
</schema>
