]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/examples/permacrud.xsd
LP1889113 Staff catalog record holds sticky org select
[Evergreen.git] / Open-ILS / examples / permacrud.xsd
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <!--
4
5 Copyright (C) 2007 Laurentian University
6 Dan Scott <dscott@laurentian.ca>
7
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.
12
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.
17
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
21
22 -->
23
24 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
25  xmlns:permacrud="http://open-ils.org/spec/opensrf/IDL/permacrud/v1"
26  targetNamespace="http://open-ils.org/spec/opensrf/IDL/permacrud/v1"
27  elementFormDefault="qualified"
28  attributeFormDefault="unqualified"
29 >
30
31 <xs:attribute name="permsission" type="xs:string"/>
32 <xs:attribute name="context_field" type="xs:string"/>
33
34 <xs:element name="context" nillable="true">
35  <xs:complexType>
36   <xs:attribute name="link"/>
37   <xs:attribute name="jump"/>
38   <xs:attribute name="field" use="required"/>
39   <xs:attribute name="global_required"/>
40  </xs:complexType>
41 </xs:element>
42
43 <xs:element name="create" nillable="true">
44  <xs:complexType>
45   <xs:sequence>
46    <xs:element ref="permacrud:context" minOccurs="0" maxOccurs="1"/>
47   </xs:sequence>
48   <xs:attribute name="permission" use="required"/>
49   <xs:attribute name="context_field"/>
50   <xs:attribute name="owning_user"/>
51   <xs:attribute name="global_required"/>
52  </xs:complexType>
53 </xs:element>
54
55 <xs:element name="retrieve" nillable="true">
56  <xs:complexType>
57   <xs:sequence>
58    <xs:element ref="permacrud:context" minOccurs="0" maxOccurs="unbounded"/>
59   </xs:sequence>
60   <xs:attribute name="permission"/>
61   <xs:attribute name="context_field"/>
62   <xs:attribute name="owning_user"/>
63   <xs:attribute name="global_required"/>
64  </xs:complexType>
65 </xs:element>
66
67 <xs:element name="update" nillable="true">
68  <xs:complexType>
69   <xs:sequence>
70    <xs:element ref="permacrud:context" minOccurs="0" maxOccurs="1"/>
71   </xs:sequence>
72   <xs:attribute name="permission" use="required"/>
73   <xs:attribute name="context_field"/>
74   <xs:attribute name="owning_user"/>
75   <xs:attribute name="global_required"/>
76  </xs:complexType>
77 </xs:element>
78
79 <xs:element name="delete" nillable="true">
80  <xs:complexType>
81   <xs:sequence>
82    <xs:element ref="permacrud:context" minOccurs="0" maxOccurs="1"/>
83   </xs:sequence>
84   <xs:attribute name="permission" use="required"/>
85   <xs:attribute name="context_field"/>
86   <xs:attribute name="owning_user"/>
87   <xs:attribute name="global_required"/>
88  </xs:complexType>
89 </xs:element>
90
91 <xs:element name="actions">
92  <xs:complexType>
93   <xs:sequence>
94    <xs:element ref="permacrud:create" minOccurs="0" maxOccurs="1"/>
95    <xs:element ref="permacrud:retrieve" minOccurs="0" maxOccurs="1"/>
96    <xs:element ref="permacrud:update" minOccurs="0" maxOccurs="1"/>
97    <xs:element ref="permacrud:delete" minOccurs="0" maxOccurs="1"/>
98   </xs:sequence>
99  </xs:complexType>
100 </xs:element>
101
102 <xs:element name="permacrud">
103  <xs:complexType>
104   <xs:sequence>
105    <xs:element ref="permacrud:actions" minOccurs="1" maxOccurs="1"/>
106   </xs:sequence>
107   <xs:attribute name="ignore_object_perms"/>
108  </xs:complexType>
109 </xs:element>
110
111 </xs:schema>