summaryrefslogtreecommitdiffstats
path: root/schemas/genshi.xsd
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2011-04-08 13:29:12 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2011-04-08 13:29:12 -0400
commit3798e8c5c0544ce62ab2c8751ddb21bbd4726d1c (patch)
tree7e888a208d9f420c3398554340a2619ffebf5e5b /schemas/genshi.xsd
parent2e1a79fe401bea5b33551b9f94689524bf43cdca (diff)
downloadbcfg2-3798e8c5c0544ce62ab2c8751ddb21bbd4726d1c.tar.gz
bcfg2-3798e8c5c0544ce62ab2c8751ddb21bbd4726d1c.tar.bz2
bcfg2-3798e8c5c0544ce62ab2c8751ddb21bbd4726d1c.zip
A number of schema changes/fixes/updates:
* altsrc attr is not allowed on Service and Action tags * Removed duplicate definition of PackageType, fixed required attrs * Removed deprecated <Ignore> tags in BoundPackage Instances * Added Genshi schema, made Genshi bundles validate * Use builtin xs:boolean type where possible
Diffstat (limited to 'schemas/genshi.xsd')
-rw-r--r--schemas/genshi.xsd97
1 files changed, 97 insertions, 0 deletions
diff --git a/schemas/genshi.xsd b/schemas/genshi.xsd
new file mode 100644
index 000000000..853b69c0d
--- /dev/null
+++ b/schemas/genshi.xsd
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:py="http://genshi.edgewall.org/"
+ xml:lang="en"
+ targetNamespace="http://genshi.edgewall.org/">
+ <xs:annotation>
+ <xs:documentation>
+ Genshi schema
+ Chris St. Pierre
+ $Id$
+ </xs:documentation>
+ </xs:annotation>
+
+ <!-- genshi tags -->
+ <xs:element name="for" type="py:forType"/>
+ <xs:complexType name="forType" mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:any processContents="lax"/>
+ </xs:choice>
+ <xs:attribute name="each" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:element name="if" type="py:ifType"/>
+ <xs:complexType name="ifType" mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:any processContents="lax"/>
+ </xs:choice>
+ <xs:attribute name="test" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:element name="match" type="py:matchType"/>
+ <xs:complexType name="matchType" mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:any processContents="lax"/>
+ </xs:choice>
+ <xs:attribute name="path" type="xs:string" use="required"/>
+ <xs:attribute name="once" type="xs:boolean" default="false"/>
+ <xs:attribute name="buffer" type="xs:boolean" default="true"/>
+ <xs:attribute name="recursive" type="xs:boolean" default="true"/>
+ </xs:complexType>
+
+ <xs:element name="def" type="py:defType"/>
+ <xs:complexType name="defType" mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:any processContents="lax"/>
+ </xs:choice>
+ <xs:attribute name="function" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:element name="with" type="py:withType"/>
+ <xs:complexType name="withType" mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:any processContents="lax"/>
+ </xs:choice>
+ <xs:attribute name="vars" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:element name="replace" type="py:replaceType"/>
+ <xs:complexType name="replaceType" mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:any processContents="lax"/>
+ </xs:choice>
+ <xs:attribute name="value" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:element name="choose" type="py:chooseType"/>
+ <xs:complexType name="chooseType" mixed="true">
+ <xs:sequence>
+ <xs:element name="when" type="py:ifType" maxOccurs="unbounded"/>
+ <xs:element name="otherwise" type="py:otherwiseType"
+ minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="test" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="otherwiseType" mixed="true">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:any processContents="lax"/>
+ </xs:choice>
+ </xs:complexType>
+
+ <!-- genshi attributes -->
+ <xs:attributeGroup name="genshiAttrs">
+ <xs:attribute name="ifAttr" type="xs:string"/>
+ <xs:attribute name="chooseAttr" type="xs:string"/>
+ <xs:attribute name="whenAttr" type="xs:string"/>
+ <xs:attribute name="otherwiseAttr" type="xs:string"/>
+ <xs:attribute name="forAttr" type="xs:string"/>
+ <xs:attribute name="defAttr" type="xs:string"/>
+ <xs:attribute name="matchAttr" type="xs:string"/>
+ <xs:attribute name="withAttr" type="xs:string"/>
+ <xs:attribute name="attrsAttr" type="xs:string"/>
+ <xs:attribute name="contentAttr" type="xs:string"/>
+ <xs:attribute name="replaceAttr" type="xs:string"/>
+ <xs:attribute name="stripAttr" type="xs:string"/>
+ </xs:attributeGroup>
+</xs:schema>