summaryrefslogtreecommitdiffstats
path: root/schemas/genshi.xsd
diff options
context:
space:
mode:
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>