Update version of release notes in 2.5 docs
[working/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="global_required"/>
51  </xs:complexType>
52 </xs:element>
53
54 <xs:element name="retrieve" nillable="true">
55  <xs:complexType>
56   <xs:sequence>
57    <xs:element ref="permacrud:context" minOccurs="0" maxOccurs="unbounded"/>
58   </xs:sequence>
59   <xs:attribute name="permission"/>
60   <xs:attribute name="context_field"/>
61   <xs:attribute name="global_required"/>
62  </xs:complexType>
63 </xs:element>
64
65 <xs:element name="update" nillable="true">
66  <xs:complexType>
67   <xs:sequence>
68    <xs:element ref="permacrud:context" minOccurs="0" maxOccurs="1"/>
69   </xs:sequence>
70   <xs:attribute name="permission" use="required"/>
71   <xs:attribute name="context_field"/>
72   <xs:attribute name="global_required"/>
73  </xs:complexType>
74 </xs:element>
75
76 <xs:element name="delete" nillable="true">
77  <xs:complexType>
78   <xs:sequence>
79    <xs:element ref="permacrud:context" minOccurs="0" maxOccurs="1"/>
80   </xs:sequence>
81   <xs:attribute name="permission" use="required"/>
82   <xs:attribute name="context_field"/>
83   <xs:attribute name="global_required"/>
84  </xs:complexType>
85 </xs:element>
86
87 <xs:element name="actions">
88  <xs:complexType>
89   <xs:sequence>
90    <xs:element ref="permacrud:create" minOccurs="0" maxOccurs="1"/>
91    <xs:element ref="permacrud:retrieve" minOccurs="0" maxOccurs="1"/>
92    <xs:element ref="permacrud:update" minOccurs="0" maxOccurs="1"/>
93    <xs:element ref="permacrud:delete" minOccurs="0" maxOccurs="1"/>
94   </xs:sequence>
95  </xs:complexType>
96 </xs:element>
97
98 <xs:element name="permacrud">
99  <xs:complexType>
100   <xs:sequence>
101    <xs:element ref="permacrud:actions" minOccurs="1" maxOccurs="1"/>
102   </xs:sequence>
103  </xs:complexType>
104 </xs:element>
105
106 </xs:schema>