<?xml version="1.0" encoding="UTF-8"?> <xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- general declarations multiple times used in this document--> <xsd:element name="label" type="regexB"/> <xsd:simpleType name="regexB"> <xsd:restriction base="xsd:string"> <xsd:pattern value="([a-zA-Z0-9/. _-])+"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="regexC"> <xsd:restriction base="xsd:string"> <xsd:pattern value="([a-zA-Z0-9])+"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="regexE"> <xsd:restriction base="xsd:string"> <xsd:pattern value="(!)?([a-zA-Z0-9])+"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="regexF"> <xsd:restriction base="xsd:string"> <xsd:pattern value="([0-9|px%;rlc])+"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="regexType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="sub|entry|snapshot|copypaste|separator|exporter|daemon"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="regexAcl"> <xsd:restriction base="xsd:string"> <xsd:pattern value="(([a-zA-Z0-9])+)?(/([a-zA-Z0-9])+)?(\[([cdrwm])+\])?"/> </xsd:restriction> </xsd:simpleType> <!-- first element of xml tree --> <xsd:element name="list"> <xsd:complexType> <xsd:sequence> <xsd:element ref="definition"/> <xsd:element ref="table"/> <xsd:element ref="actionmenu" minOccurs="0"/> <xsd:element ref="actiontriggers" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="definition"> <xsd:complexType mixed="true"> <xsd:sequence> <xsd:element name="departmentBrowser" type="xsd:boolean" minOccurs="0" default="true"/> <xsd:element name="departmentRootVisible" type="xsd:boolean" minOccurs="0" default="true"/> <xsd:element name="baseMode" type="xsd:boolean" minOccurs="0"/> <xsd:element name="multiSelect" type="xsd:boolean" minOccurs="0"/> <xsd:element name="template" type="regexB"/> <xsd:element name="module" type="regexC"/> <xsd:element ref="label"/> <xsd:element name="defaultSortColumn" type="xsd:integer" minOccurs="0" maxOccurs="1" default="1"/> <xsd:element ref="objectType" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="objectType"> <xsd:complexType mixed="true"> <xsd:sequence> <xsd:element ref="label"/> <xsd:element name="objectClass" type="regexE" maxOccurs="unbounded"/> <xsd:element name="category" type="regexB"/> <xsd:element name="class" type="regexC"/> <xsd:element name="image" type="regexB"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="table"> <xsd:complexType mixed="true"> <xsd:sequence> <xsd:element name="layout" type="regexF"/> <xsd:element ref="department" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="column" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="department"> <xsd:complexType mixed="true"> <xsd:sequence> <xsd:element name="value" type="xsd:string"/> <xsd:element name="span" type="xsd:integer" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="column"> <xsd:complexType mixed="true"> <xsd:sequence> <xsd:element ref="label"/> <xsd:element name="value" type="xsd:string"/> <xsd:element name="sortAttribute" type="regexC" minOccurs="0"/> <xsd:element name="sortType" type="regexSortType" minOccurs="0"/> <xsd:element name="export" type="xsd:boolean" minOccurs="0" default="true"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:simpleType name="regexSortType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="int|string|date"/> </xsd:restriction> </xsd:simpleType> <xsd:element name="export" type="xsd:string"/><!-- actionmenu --> <xsd:element name="actionmenu"> <xsd:complexType> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="action"/> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="action"> <xsd:complexType mixed="true"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="type" type="regexType"/> <xsd:element name="label" type="xsd:string"/> <xsd:element name="image" minOccurs="0"/> <xsd:element name="name" type="xsd:string" minOccurs="0"/> <xsd:element name="acl" type="regexAcl" minOccurs="0"/> <xsd:element ref="objectclass" minOccurs="0"/> <xsd:element ref="action"/> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="objectclass" type="xsd:string"/><!-- actiontriggers --> <xsd:element name="actiontriggers"> <xsd:complexType> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="action"/> </xsd:choice> <xsd:attribute name="snapshot" type="xsd:boolean" use="required"/> <xsd:attribute name="copypaste" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> </xsd:schema>