]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/examples/permacrud.xsd
8ddcf0afed37d2e739454d831cf177f1b7731bb8
[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="http://open-ils.org/spec/opensrf/IDL/permacrud/v1"
26  targetNamespace="http://open-ils.org/spec/opensrf/IDL/permacrud/v1"
27  elementFormDefault="unqualified"
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="field"/>
38  </xs:complexType>
39 </xs:element>
40
41 <xs:element name="create" nillable="true">
42  <xs:complexType>
43   <xs:sequence>
44    <xs:element ref="context" minOccurs="0" maxOccurs="1"/>
45   </xs:sequence>
46   <xs:attribute name="permission" use="required"/>
47   <xs:attribute name="context_field"/>
48  </xs:complexType>
49 </xs:element>
50
51 <xs:element name="retrieve" nillable="true">
52  <xs:complexType>
53   <xs:sequence>
54    <xs:element ref="context" minOccurs="0" maxOccurs="1"/>
55   </xs:sequence>
56   <xs:attribute name="permission"/>
57   <xs:attribute name="context_field"/>
58  </xs:complexType>
59 </xs:element>
60
61 <xs:element name="update" nillable="true">
62  <xs:complexType>
63   <xs:sequence>
64    <xs:element ref="context" minOccurs="0" maxOccurs="1"/>
65   </xs:sequence>
66   <xs:attribute name="permission" use="required"/>
67   <xs:attribute name="context_field"/>
68  </xs:complexType>
69 </xs:element>
70
71 <xs:element name="delete" nillable="true">
72  <xs:complexType>
73   <xs:sequence>
74    <xs:element ref="context" minOccurs="0" maxOccurs="1"/>
75   </xs:sequence>
76   <xs:attribute name="permission" use="required"/>
77   <xs:attribute name="context_field"/>
78  </xs:complexType>
79 </xs:element>
80
81 <xs:element name="actions">
82  <xs:complexType>
83   <xs:sequence>
84    <xs:element ref="create" minOccurs="0" maxOccurs="1"/>
85    <xs:element ref="retrieve" minOccurs="0" maxOccurs="1"/>
86    <xs:element ref="update" minOccurs="0" maxOccurs="1"/>
87    <xs:element ref="delete" minOccurs="0" maxOccurs="1"/>
88   </xs:sequence>
89  </xs:complexType>
90 </xs:element>
91
92 <xs:element name="permacrud">
93  <xs:complexType>
94   <xs:sequence>
95    <xs:element ref="actions" minOccurs="1" maxOccurs="1"/>
96   </xs:sequence>
97  </xs:complexType>
98 </xs:element>
99
100 </xs:schema>