summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--schemas/bundle.xsd213
1 files changed, 115 insertions, 98 deletions
diff --git a/schemas/bundle.xsd b/schemas/bundle.xsd
index c0a7e08ac..2dd77e9af 100644
--- a/schemas/bundle.xsd
+++ b/schemas/bundle.xsd
@@ -110,6 +110,14 @@
</xsd:documentation>
</xsd:annotation>
</xsd:element>
+ <xsd:element name='Bundle' type='BundleType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Nesting Bundle tags is allowed in order to support
+ XInclude within Bundles.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
<xsd:element ref="py:def"/>
<xsd:element ref="py:match"/>
<xsd:element ref="py:choose"/>
@@ -135,7 +143,113 @@
<xsd:attributeGroup ref="py:genshiAttrs"/>
</xsd:complexType>
- <xsd:element name='Bundle'>
+ <xsd:complexType name='BundleType'>
+ <xsd:choice minOccurs='0' maxOccurs='unbounded'>
+ <xsd:element name='Package' type='StructureEntry'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Abstract implementation of a Package entry. The full
+ specification will be included in Rules.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='Path' type='PathEntry'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Abstract implementation of a Path entry. The entry will
+ either be handled by Cfg, TGenshi, or another
+ DirectoryBacked plugin; or handled by Rules, in which case
+ the full specification of this entry will be included in
+ Rules.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='Service' type='StructureEntry'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Abstract implementation of a Service entry. The full
+ specification will be included in Rules.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='Action' type='StructureEntry'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Abstract implementation of an Action entry. The full
+ specification will be included in Rules.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='BoundPackage' type='PackageType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Fully bound description of a software package to be managed.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='BoundPath' type='BoundPathEntry'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Fully bound description of a filesystem path to be handled
+ by the POSIX driver.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='BoundService' type='ServiceType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Fully bound description of a system service to be managed.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='BoundAction' type='ActionType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Fully bound description of a command to be run.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='Group' type='GroupType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Elements within Group tags only apply to clients that are
+ members of that group
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='Client' type='GroupType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Elements within Client tags only apply to the named client
+ (or vice-versa; see #element_negate below)
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='Bundle' type='BundleType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Nesting Bundle tags is allowed in order to support
+ XInclude within Bundles.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="py:def"/>
+ <xsd:element ref="py:match"/>
+ <xsd:element ref="py:choose"/>
+ <xsd:element ref="py:for"/>
+ <xsd:element ref="py:if"/>
+ <xsd:element ref="py:with"/>
+ <xsd:element ref="py:replace"/>
+ </xsd:choice>
+ <xsd:attribute type='xsd:string' name='description' />
+ <xsd:attribute type='xsd:string' name='name'/>
+ <xsd:attribute type='xsd:string' name='version'/>
+ <xsd:attribute type='xsd:string' name='origin'/>
+ <xsd:attribute type='xsd:string' name='revision'/>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:element name='Bundle' type='BundleType'>
<xsd:annotation>
<xsd:documentation>
A bundle describes a group of inter-dependent configuration
@@ -150,102 +264,5 @@
that a given client will receive.
</xsd:documentation>
</xsd:annotation>
- <xsd:complexType>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Package' type='StructureEntry'>
- <xsd:annotation>
- <xsd:documentation>
- Abstract implementation of a Package entry. The full
- specification will be included in Rules.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='Path' type='PathEntry'>
- <xsd:annotation>
- <xsd:documentation>
- Abstract implementation of a Path entry. The entry will
- either be handled by Cfg, TGenshi, or another
- DirectoryBacked plugin; or handled by Rules, in which case
- the full specification of this entry will be included in
- Rules.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='Service' type='StructureEntry'>
- <xsd:annotation>
- <xsd:documentation>
- Abstract implementation of a Service entry. The full
- specification will be included in Rules.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='Action' type='StructureEntry'>
- <xsd:annotation>
- <xsd:documentation>
- Abstract implementation of an Action entry. The full
- specification will be included in Rules.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='BoundPackage' type='PackageType'>
- <xsd:annotation>
- <xsd:documentation>
- Fully bound description of a software package to be managed.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='BoundPath' type='BoundPathEntry'>
- <xsd:annotation>
- <xsd:documentation>
- Fully bound description of a filesystem path to be handled
- by the POSIX driver.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='BoundService' type='ServiceType'>
- <xsd:annotation>
- <xsd:documentation>
- Fully bound description of a system service to be managed.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='BoundAction' type='ActionType'>
- <xsd:annotation>
- <xsd:documentation>
- Fully bound description of a command to be run.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='Group' type='GroupType'>
- <xsd:annotation>
- <xsd:documentation>
- Elements within Group tags only apply to clients that are
- members of that group
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name='Client' type='GroupType'>
- <xsd:annotation>
- <xsd:documentation>
- Elements within Client tags only apply to the named client
- (or vice-versa; see #element_negate below)
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element ref="py:def"/>
- <xsd:element ref="py:match"/>
- <xsd:element ref="py:choose"/>
- <xsd:element ref="py:for"/>
- <xsd:element ref="py:if"/>
- <xsd:element ref="py:with"/>
- <xsd:element ref="py:replace"/>
- </xsd:choice>
- <xsd:attribute type='xsd:string' name='description' />
- <xsd:attribute type='xsd:string' name='name'/>
- <xsd:attribute type='xsd:string' name='version'/>
- <xsd:attribute type='xsd:string' name='origin'/>
- <xsd:attribute type='xsd:string' name='revision'/>
- <xsd:attributeGroup ref="py:genshiAttrs"/>
- </xsd:complexType>
</xsd:element>
</xsd:schema>