[Dev OpenGP] [25] New version of odpxmlconfig.xsd, more "plugin-oriented".

[ Thread Index | Date Index | More opengp.tuxfamily.org/development Archives ]


Revision: 25
Author:   nicolaf
Date:     2009-03-05 18:53:32 +0100 (Thu, 05 Mar 2009)

Log Message:
-----------
New version of odpxmlconfig.xsd, more "plugin-oriented".

Modified Paths:
--------------
    trunk/schemas/ogpxmlconfig.xsd


Modified: trunk/schemas/ogpxmlconfig.xsd
===================================================================
--- trunk/schemas/ogpxmlconfig.xsd	2009-03-05 14:46:15 UTC (rev 24)
+++ trunk/schemas/ogpxmlconfig.xsd	2009-03-05 17:53:32 UTC (rev 25)
@@ -1,108 +1,135 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
-Copyright (C) 2009 by Nicolas FRANÇOIS
-nicolaf@xxxxxxxxxxxxx
+		Copyright (C) 2009 by Nicolas FRANÇOIS
+		nicolaf@xxxxxxxxxxxxx
+		
+		This program is free software; you can redistribute it and/or modify
+		it under the terms of the GNU General Public License as published by
+		the Free Software Foundation; either version 3 of the License, or
+		(at your option) any later version.
+		
+		This program is distributed in the hope that it will be useful,
+		but WITHOUT ANY WARRANTY; without even the implied warranty of
+		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+		GNU General Public License for more details.
+		
+		You should have received a copy of the GNU General Public License
+		along with this program; if not, write to the
+		Free Software Foundation, Inc., 
+		59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+		-->
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the
-Free Software Foundation, Inc., 
-59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
--->
-
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
 	<!-- Root element -->
-	<xs:element name="conf">
+	<xs:element name="ogp">
 		<xs:complexType>
 			<xs:sequence>
-				<!-- "file" elements : files affected by the OU's configuration 
-					   - The "path" attribute specifies the file name. This attribute must be
-					     unique among all the "file" elements.
-					   - The "plugin" attribute specifies the plugin to be used to regenerate the file.
-				-->	
-				<xs:element name="file" minOccurs="0" maxOccurs="unbounded">
+				<!-- "plugin" elements : one entry for each plugin affecting the OU or machine
+						 The "name" attribute specifies the plugin name. This attribute must be
+						 unique among all the "plugin" elements.
+				-->
+				<xs:element name="plugin" minOccurs="0" maxOccurs="unbounded">
 					<xs:complexType>
-						<xs:sequence>
-							<!-- "security" element : standard unix security attributes + ACL.
-							-->
-							<xs:element name="security" minOccurs="1" maxOccurs="1">
+						<xs:all minOccurs="1" maxOccurs="1">
+							<xs:element name="files">
 								<xs:complexType>
 									<xs:sequence>
-										<!-- User and group IDs. If not specified, inherited from the last parent OU which
-											   specifies it or 0 (root) by default
+										<!-- "file" elements : files affected by the plugin
+												 The "name" attribute specifies a logical name (not necessary the "real" file name) to be used by the plugin.
+												 This attribute must be unique among all the "file" elements.
 										-->
-										<xs:element name="uid" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="gid" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/>
-										<!-- Standard Unix Permissions. If not specified, inherited from the last parent
-												 OU which specifies it or computed from current umask by default.
-												 See man chmod for more details.
-										-->
-										<xs:element name="us" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="gs" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="t" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="ur" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="uw" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="ux" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="gr" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="gw" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="gx" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="or" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="ow" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<xs:element name="ox" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
-										<!-- ACL, as dumped by getfacl	-->
-										<xs:element name="acl" minOccurs="0" maxOccurs="1">
+										<xs:element name="file" minOccurs="0" maxOccurs="unbounded">
 											<xs:complexType>
-												<xs:sequence>
-													<!-- One "ace" element for each access control entry.
-															 The unique attribute "id" specifies the position in the list.
-													-->
-													<xs:element name="ace" minOccurs="1" maxOccurs="unbounded">
+												<xs:all minOccurs="1" maxOccurs="1">
+													<!-- "security" element : standard unix security attributes + ACL. -->
+													<xs:element name="security">
 														<xs:complexType>
-															<xs:simpleContent>
-																<xs:extension base="xs:string">
-																	<xs:attribute name="id" type="xs:nonNegativeInteger" use="required"/>
-																</xs:extension>
-															</xs:simpleContent>
+															<xs:all minOccurs="0" maxOccurs="1">
+																<!-- User and group IDs. If not specified, inherited from the last parent OU which
+																		 specifies it or 0 (root) by default
+																-->
+																<xs:element name="uid" type="xs:nonNegativeInteger"/>
+																<xs:element name="gid" type="xs:nonNegativeInteger"/>
+																<!-- Standard Unix Permissions. If not specified, inherited from the last parent
+																		 conf which specifies it or computed from current umask by default.
+																		 See man chmod for more details.
+																-->
+																<xs:element name="us" type="xs:boolean"/>
+																<xs:element name="gs" type="xs:boolean"/>
+																<xs:element name="t" type="xs:boolean"/>
+																<xs:element name="ur" type="xs:boolean"/>
+																<xs:element name="uw" type="xs:boolean"/>
+																<xs:element name="ux" type="xs:boolean"/>
+																<xs:element name="gr" type="xs:boolean"/>
+																<xs:element name="gw" type="xs:boolean"/>
+																<xs:element name="gx" type="xs:boolean"/>
+																<xs:element name="or" type="xs:boolean"/>
+																<xs:element name="ow" type="xs:boolean"/>
+																<xs:element name="ox" type="xs:boolean"/>
+																
+																<!-- ACL, as dumped by getfacl -->
+																<xs:element name="acl" minOccurs="0" maxOccurs="1">
+																	<xs:complexType>
+																		<xs:choice minOccurs="1" maxOccurs="unbounded">
+																			<!-- One "ace" element for each access control entry.
+																					 The unique attribute "id" specifies the position in the list.
+																					 -->
+																			<xs:element name="ace">
+																				<xs:complexType>
+																					<xs:simpleContent>
+																						<xs:extension base="xs:string">
+																							<xs:attribute name="id" type="xs:nonNegativeInteger" use="required"/>
+																						</xs:extension>
+																					</xs:simpleContent>
+																				</xs:complexType>
+																			</xs:element>
+																		</xs:choice>
+																	</xs:complexType>
+																	<!-- Unicity of the ace's id attribute -->
+																	<xs:unique name="ace_id">
+																		<xs:selector xpath="ace"/>
+																		<xs:field xpath="@id"/>
+																	</xs:unique>
+																</xs:element>
+															</xs:all>
 														</xs:complexType>
 													</xs:element>
-												</xs:sequence>
+													<xs:element name="conf">
+														<xs:complexType>
+															<xs:sequence minOccurs="0" maxOccurs="unbounded">
+																<xs:any processContents="skip"/>
+															</xs:sequence>
+														</xs:complexType>
+													</xs:element>
+												</xs:all>
+												<xs:attribute name="name" type="xs:string" use="required"/>
 											</xs:complexType>
-											<!-- Unicity of the "id" attribute -->
-											<xs:unique name="ace_id">
-												<xs:selector xpath="ace"/>
-												<xs:field xpath="@id"/>
-											</xs:unique>
 										</xs:element>
 									</xs:sequence>
 								</xs:complexType>
+								<!-- Unicity of the file's name attribute -->
+								<xs:unique name="file_name">
+									<xs:selector xpath="file"/>
+									<xs:field xpath="@name"/>
+								</xs:unique>
 							</xs:element>
-							<xs:element name="description" minOccurs="1" maxOccurs="1">
+							<xs:element name="conf">
 								<xs:complexType>
-									<xs:sequence>
-										<xs:any minOccurs="0" maxOccurs="unbounded"/>
+									<xs:sequence minOccurs="0" maxOccurs="unbounded">
+										<xs:any processContents="skip"/>
 									</xs:sequence>
 								</xs:complexType>
 							</xs:element>
-						</xs:sequence>
-						<xs:attribute name="path" type="xs:string" use="required"/>
-						<xs:attribute name="plugin" type="xs:string" use="required"/>
+						</xs:all>
+						<xs:attribute name="name" type="xs:string" use="required"/>
 					</xs:complexType>
 				</xs:element>
 			</xs:sequence>
 		</xs:complexType>
-		<!-- Unicity of the "path" attribute -->
-		<xs:unique name="file_path">
-			<xs:selector xpath="file"/>
-			<xs:field xpath="@path"/>
+		<!-- Unicity of the plugin's name attribute -->
+		<xs:unique name="plugin_name">
+			<xs:selector xpath="plugin"/>
+			<xs:field xpath="@name"/>
 		</xs:unique>
 	</xs:element>
 </xs:schema>
\ No newline at end of file


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/