1 <?xml version="1.0" encoding="UTF-8" ?>
5 Copyright (C) 2007 Laurentian University
6 Dan Scott <dscott@laurentian.ca>
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
24 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
25 xmlns:idl="http://opensrf.org/spec/IDL/base/v1"
26 xmlns:oils_persist="http://open-ils.org/spec/opensrf/IDL/persistence/v1"
27 xmlns:oils_obj="http://open-ils.org/spec/opensrf/IDL/objects/v1"
28 xmlns:reporter="http://open-ils.org/spec/opensrf/IDL/reporter/v1"
29 xmlns:sr="http://open-ils.org/spec/opensrf/IDL/simple-reporter/v1"
30 xmlns:crud="http://open-ils.org/spec/opensrf/IDL/permacrud/v1"
31 targetNamespace="http://opensrf.org/spec/IDL/base/v1"
32 elementFormDefault="qualified"
33 attributeFormDefault="unqualified"
36 <xs:import namespace="http://open-ils.org/spec/opensrf/IDL/persistence/v1"
37 schemaLocation="oils_persist.xsd"/>
39 <xs:import namespace="http://open-ils.org/spec/opensrf/IDL/objects/v1"
40 schemaLocation="oils_obj.xsd"/>
42 <xs:import namespace="http://open-ils.org/spec/opensrf/IDL/reporter/v1"
43 schemaLocation="reporter.xsd"/>
45 <xs:import namespace="http://open-ils.org/spec/opensrf/IDL/simple-reporter/v1"
46 schemaLocation="simple-reporter.xsd"/>
48 <xs:import namespace="http://open-ils.org/spec/opensrf/IDL/permacrud/v1"
49 schemaLocation="permacrud.xsd"/>
51 <!-- define simple elements -->
52 <xs:element name="field" nillable="true">
55 <xs:element ref="idl:description" minOccurs="0" maxOccurs="1"/>
57 <xs:attribute name="name"/>
58 <xs:attribute name="suppress_controller"/>
59 <xs:attribute ref="oils_obj:array_position"/>
60 <xs:attribute ref="oils_obj:required"/>
61 <xs:attribute ref="oils_obj:validate"/>
62 <xs:attribute ref="oils_persist:i18n"/>
63 <xs:attribute ref="oils_persist:primitive"/>
64 <xs:attribute ref="oils_persist:virtual"/>
65 <xs:attribute ref="reporter:label"/>
66 <xs:attribute ref="reporter:datatype"/>
67 <xs:attribute ref="reporter:selector"/>
68 <xs:attribute ref="sr:hide_from"/>
69 <xs:attribute ref="sr:suggest_transform"/>
70 <xs:attribute ref="sr:force_transform"/>
71 <xs:attribute ref="sr:suggest_operator"/>
72 <xs:attribute ref="sr:suggest_filter"/>
73 <xs:attribute ref="sr:force_filter"/>
74 <xs:attribute ref="sr:force_filtervalues"/>
75 <xs:attribute ref="sr:org_filter_field"/>
76 <xs:attribute name="field_groups"/>
77 <xs:attribute name="config_field"/>
81 <xs:element name="description" nillable="true"/>
83 <xs:element name="link" nillable="true">
85 <xs:attribute name="field" type="xs:string" use="required"/>
86 <xs:attribute name="reltype" type="xs:string" use="required"/>
87 <xs:attribute name="key" type="xs:string" use="required"/>
88 <xs:attribute name="map" type="xs:string" use="required"/>
89 <xs:attribute name="class" type="xs:string" use="required"/>
90 <xs:attribute ref="reporter:label"/>
91 <xs:attribute ref="sr:org_filter_field"/>
95 <xs:element name="fields">
98 <xs:element ref="idl:field" minOccurs="1" maxOccurs="unbounded"/>
100 <xs:attribute ref="oils_persist:primary"/>
101 <xs:attribute ref="oils_persist:sequence"/>
105 <xs:element name="links">
108 <xs:element ref="idl:link" minOccurs="0" maxOccurs="unbounded"/>
113 <xs:element name="group" nillable="true">
115 <xs:attribute name="name" type="xs:string" use="required"/>
116 <xs:attribute ref="reporter:label"/>
120 <xs:element name="field_groups">
123 <xs:element ref="idl:group" minOccurs="0" maxOccurs="unbounded"/>
128 <xs:element name="class">
131 <xs:element ref="idl:description" minOccurs="0" maxOccurs="1"/>
132 <xs:element ref="oils_persist:source_definition" minOccurs="0" maxOccurs="unbounded"/>
133 <xs:element ref="idl:field_groups" minOccurs="0" maxOccurs="1"/>
134 <xs:element ref="idl:fields"/>
135 <xs:element ref="idl:links" minOccurs="0"/>
136 <xs:element ref="crud:permacrud" minOccurs="0"/>
138 <xs:attribute name="id"/>
139 <xs:attribute name="controller"/>
140 <xs:attribute ref="oils_obj:fieldmapper"/>
141 <xs:attribute ref="oils_persist:readonly"/>
142 <xs:attribute ref="oils_persist:tablename"/>
143 <xs:attribute ref="oils_persist:virtual"/>
144 <xs:attribute ref="oils_persist:field_safe"/>
145 <xs:attribute ref="oils_persist:restrict_primary"/>
146 <xs:attribute ref="reporter:core"/>
147 <xs:attribute ref="reporter:label"/>
151 <xs:element name="IDL">
154 <xs:element ref="idl:class" minOccurs="1" maxOccurs="unbounded"/>