[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