| <?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="layout.xsd"/> |
| <include schemaLocation="nodedisplay.xsd"/> |
| <include schemaLocation="relation.xsd"/> |
| <include schemaLocation="chart.xsd"/> |
| <include schemaLocation="textboxes.xsd"/> |
| <include schemaLocation="usagebar.xsd"/> |
| <include schemaLocation="table.xsd"/> |
| <include schemaLocation="entities.xsd"/> |
| <include schemaLocation="layout.xsd"/> |
| <include schemaLocation="request.xsd"/> |
| <annotation> |
| <documentation>Defines root-object of lml. |
| Other objects like table, |
| information or charts are child-tags of this |
| object. |
| Defines global |
| constraints, keys and keyrefs.</documentation> |
| </annotation> |
| |
| <complexType name="lgui_type"> |
| <annotation> |
| <documentation> |
| Defines which main tags are allowed in LML. |
| </documentation> |
| </annotation> |
| |
| <!-- table of content elements --> |
| <sequence maxOccurs="1" minOccurs="0"> |
| |
| <element maxOccurs="1" minOccurs="0" name="request" type="lml:RequestType"/> |
| |
| |
| <sequence maxOccurs="unbounded" minOccurs="0"> |
| |
| <!-- graphical objects --> |
| <sequence maxOccurs="1" minOccurs="0"> |
| |
| <element maxOccurs="1" minOccurs="0" name="objects" type="lml:objects_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="relations" type="lml:relations_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="information" type="lml:information_type"> |
| </element> |
| |
| <element maxOccurs="1" minOccurs="0" name="table" type="lml:table_type"> |
| |
| <!-- cid-attributes must refer to an existing columnID --> |
| <key name="columnID"> |
| <selector xpath="column"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <keyref name="cellRef" refer="lml:columnID"> |
| <selector xpath="row/cell"/> |
| <field xpath="@cid"/> |
| </keyref> |
| |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="usagebar" type="lml:usagebar_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="text" type="lml:textbox_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="infobox" type="lml:infobox_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="nodedisplay" type="lml:nodedisplay"> |
| |
| <!-- |
| tagnames within scheme-tag are keys <key name="tagnameKey"> |
| <selector xpath="scheme/el1 | scheme/el1/el2 | scheme/el1/el2/el3 |
| | scheme/el1/el2/el3/el4| scheme/el1/el2/el3/el4/el5| |
| scheme/el1/el2/el3/el4/el5/el6| |
| scheme/el1/el2/el3/el4/el5/el6/el7| |
| scheme/el1/el2/el3/el4/el5/el6/el7/el8| |
| scheme/el1/el2/el3/el4/el5/el6/el7/el8/el9| |
| scheme/el1/el2/el3/el4/el5/el6/el7/el8/el9/el10" /> <field |
| xpath="@tagname" /> </key> does not work correctly |
| --> |
| |
| <!-- |
| tagname-references in data-tag <keyref name="tagnameKeyRef" |
| refer="lml:tagnameKey"> <selector xpath="data/el1 | data/el1/el2 |
| | data/el1/el2/el3 | data/el1/el2/el3/el4| |
| data/el1/el2/el3/el4/el5| data/el1/el2/el3/el4/el5/el6| |
| data/el1/el2/el3/el4/el5/el6/el7| |
| data/el1/el2/el3/el4/el5/el6/el7/el8| |
| data/el1/el2/el3/el4/el5/el6/el7/el8/el9| |
| data/el1/el2/el3/el4/el5/el6/el7/el8/el9/el10" /> <field |
| xpath="@tagname" /> </keyref> |
| --> |
| |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="chart" type="lml:chart_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="chartgroup" type="lml:chartgroup_type"> |
| </element> |
| </sequence> |
| |
| <!-- layouts --> |
| |
| <sequence maxOccurs="1" minOccurs="0"> |
| <element maxOccurs="1" minOccurs="0" name="splitlayout" type="lml:splitlayout_type"> |
| |
| <!-- every gobj can only be shown once --> |
| <unique name="gidOnlyOnceInSplitLayout"> |
| <selector xpath=".//*"/> |
| <field xpath="@gid"/> |
| </unique> |
| |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="abslayout" type="lml:abslayout_type"> |
| <!-- every gobj can only be shown once --> |
| <unique name="gidOnlyOnceInabsLayout"> |
| <selector xpath="comp"/> |
| <field xpath="@gid"/> |
| </unique> |
| |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="nodedisplaylayout" type="lml:nodedisplaylayout_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="usagebarlayout" type="lml:usagebarlayout_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="chartlayout" type="lml:chartlayout_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="tablelayout" type="lml:tablelayout_type"> |
| <!-- |
| pos-attributes must be unique in every tablelayout. no position |
| can be occupied by two columns |
| --> |
| <unique name="PosUnique"> |
| <selector xpath="column"/> |
| <field xpath="@pos"/> |
| </unique> |
| |
| <!-- |
| cid-attributes must be unique in every tablelayout. multiple |
| definitions for columns are not allowed |
| --> |
| <unique name="CidUnique"> |
| <selector xpath="column"/> |
| <field xpath="@cid"/> |
| </unique> |
| |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="infoboxlayout" type="lml:infoboxlayout_type"> |
| </element> |
| <element maxOccurs="1" minOccurs="0" name="textlayout" type="lml:infoboxlayout_type"> |
| </element> |
| </sequence> |
| |
| </sequence> |
| |
| </sequence> |
| <attribute name="version" type="string"/> |
| <attribute default="false" name="layout" type="boolean" use="optional"> |
| <annotation> |
| <documentation>This attribute defines, if this lml-file mainly |
| contains layout-information. |
| If layout-value is true, then only |
| layout-tags are checked. Therefore |
| graphical objects |
| do not have to |
| be valid against XSL-checks in a layout-lml-file. |
| </documentation> |
| </annotation> |
| </attribute> |
| </complexType> |
| |
| <element name="lgui" type="lml:lgui_type"> |
| |
| <annotation> |
| <documentation>Root-tag of LML-scheme.</documentation> |
| </annotation> |
| |
| <!-- referential integrity covered with key, keyref and unique-tags --> |
| |
| <!-- All graphical-objects have to have unique ids--> |
| <key name="graphObjKey"> |
| <selector xpath="table|usagebar|text|infobox|nodedisplay|.//chart|chartgroup"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <!-- nodedisplayref-tags refer to a nodedisplay --> |
| <key name="nodedisplayKey"> |
| <selector xpath="nodedisplay"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <key name="usagebarKey"> |
| <selector xpath="usagebar"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <key name="chartKey"> |
| <selector xpath=".//chart"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <key name="tableKey"> |
| <selector xpath="table"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <key name="infoboxKey"> |
| <selector xpath="infobox"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <key name="textKey"> |
| <selector xpath="text"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <key name="layoutIDs"> |
| <selector xpath="splitlayout|abslayout"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <!-- |
| following two definitions are needed for every component-layout-type |
| --> |
| <!-- |
| id of nodedisplaylayout must identify layout among other |
| nodedisplaylayouts |
| --> |
| <key name="nodedisplaylayoutkey"> |
| <selector xpath="nodedisplaylayout"/> |
| <field xpath="@id"/> |
| </key> |
| <!-- nodedisplaylayouts only refer to nodedisplays through gid --> |
| <keyref name="nodedisplaylayoutgid" refer="lml:nodedisplayKey"> |
| <selector xpath="nodedisplaylayout"/> |
| <field xpath="@gid"/> |
| </keyref> |
| |
| <!-- |
| id of usagebarlayout must identify layout among other usagebarlayout |
| --> |
| <key name="usagebarlayoutkey"> |
| <selector xpath="usagebarlayout"/> |
| <field xpath="@id"/> |
| </key> |
| <!-- usagebarlayouts only refer to usagebars through gid --> |
| <keyref name="usagebarlayoutgid" refer="lml:usagebarKey"> |
| <selector xpath="usagebarlayout"/> |
| <field xpath="@gid"/> |
| </keyref> |
| |
| <!-- id of chartlayout must identify layout among other chartlayout --> |
| <key name="chartlayoutkey"> |
| <selector xpath="chartlayout"/> |
| <field xpath="@id"/> |
| </key> |
| <!-- chartlayouts only refer to charts through gid --> |
| <keyref name="chartlayoutgid" refer="lml:chartKey"> |
| <selector xpath="chartlayout"/> |
| <field xpath="@gid"/> |
| </keyref> |
| |
| <!-- id of tablelayout must identify layout among other tablelayouts --> |
| <key name="tablelayoutkey"> |
| <selector xpath="tablelayout"/> |
| <field xpath="@id"/> |
| </key> |
| <!-- tablelayouts only refer to tables through gid --> |
| <keyref name="tablelayoutgid" refer="lml:tableKey"> |
| <selector xpath="tablelayout"/> |
| <field xpath="@gid"/> |
| </keyref> |
| |
| <!-- |
| id of infoboxlayout must identify layout among other infoboxlayouts |
| --> |
| <key name="infoboxlayoutkey"> |
| <selector xpath="infoboxlayout"/> |
| <field xpath="@id"/> |
| </key> |
| <!-- infoboxlayouts only refer to infoboxes through gid --> |
| <keyref name="infoboxlayoutgid" refer="lml:infoboxKey"> |
| <selector xpath="infoboxlayout"/> |
| <field xpath="@gid"/> |
| </keyref> |
| |
| <!-- id of textlayout must identify layout among other textlayouts --> |
| <key name="textlayoutkey"> |
| <selector xpath="textlayout"/> |
| <field xpath="@id"/> |
| </key> |
| <!-- textlayouts only refer to text-objects through gid --> |
| <keyref name="textlayoutgid" refer="lml:textKey"> |
| <selector xpath="textlayout"/> |
| <field xpath="@gid"/> |
| </keyref> |
| |
| |
| |
| <!-- layout references --> |
| <keyref name="gidAttributesReference" refer="lml:graphObjKey"> |
| <selector xpath=".//left|.//right|.//top|.//bottom|.//comp"/> |
| <field xpath="@gid"/> |
| </keyref> |
| |
| <keyref name="nodedisplayRef" refer="lml:nodedisplayKey"> |
| <selector xpath="nodedisplay"/> |
| <field xpath="@refto"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef1" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef2" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef3" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef4" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef5" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef6" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef7" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef8" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef9" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8/el9"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| <keyref name="nodeNameRef10" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8/el9/el10"/> |
| <field xpath="@name"/> |
| </keyref> |
| |
| |
| <!-- IDs of objects in object-tag --> |
| <key name="objectId"> |
| <selector xpath="objects/object"/> |
| <field xpath="@id"/> |
| </key> |
| |
| <!-- IDs for relations must be unique --> |
| <unique name="relidsUnique"> |
| <selector xpath="relations/rel"/> |
| <field xpath="@id"/> |
| </unique> |
| |
| <keyref name="relationkeyids" refer="lml:objectId"> |
| <selector xpath="relations/rel"/> |
| <field xpath="@keyid"/> |
| </keyref> |
| |
| <keyref name="relationElementids" refer="lml:objectId"> |
| <selector xpath="relations/rel/el"/> |
| <field xpath="@refid"/> |
| </keyref> |
| |
| <keyref name="infoRef" refer="lml:objectId"> |
| <selector xpath="information/info"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="rowRef" refer="lml:objectId"> |
| <selector xpath="table/row"/> |
| <field xpath="@id"/> |
| </keyref> |
| |
| <keyref name="usageJobRef" refer="lml:objectId"> |
| <selector xpath="usagebar/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="chartJobRef" refer="lml:objectId"> |
| <selector xpath="chart/data/r | chart/data/p | chartgroup/chart/data/r | chartgroup/chart/data/p"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <!-- usage-contents have to refer to object-ids --> |
| |
| <keyref name="UsageNodeDisplayJobRef1" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef2" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef3" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef4" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef5" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef6" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef7" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef8" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef9" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8/el9/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="UsageNodeDisplayJobRef10" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8/el9/el10/usage/job"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <!-- oid-references have to be valid against object-definitions --> |
| |
| <keyref name="nodeDisplayJobRef1" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef2" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef3" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef4" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef5" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef6" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef7" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef8" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef9" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8/el9"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| <keyref name="nodeDisplayJobRef10" refer="lml:objectId"> |
| <selector xpath="nodedisplay/data/el1/el2/el3/el4/el5/el6/el7/el8/el9/el10"/> |
| <field xpath="@oid"/> |
| </keyref> |
| |
| |
| |
| </element> |
| |
| <complexType name="gobject_type"> |
| <annotation> |
| <documentation>Abstract type for all graphical objects. All graphical |
| objects like table, usagebar etc. have to have ids. |
| This is defined |
| by extending all graphical objects from this type. |
| </documentation> |
| </annotation> |
| <attribute name="id" type="string" use="required"/> |
| <attribute name="title" type="string"/> |
| <attribute name="description" type="string"/> |
| </complexType> |
| |
| </schema> |