Update schema for CGI filter configuration
authorAdam Dickmeiss <adam@indexdata.dk>
Fri, 19 Mar 2010 15:07:24 +0000 (16:07 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Fri, 19 Mar 2010 15:07:24 +0000 (16:07 +0100)
xml/schema/metaproxy.rnc
xml/schema/metaproxy.rng
xml/schema/metaproxy.xsd

index 23ab379..12990f0 100644 (file)
@@ -50,6 +50,7 @@ filter =
     | filter_auth_simple
     | filter_backend_test
     | filter_bounce
+    | filter_cgi
     | filter_cql_rpn
     | filter_frontend_net
     | filter_http_file
@@ -210,6 +211,13 @@ filter_limit =
     attribute retrieve { xsd:integer }?
   }?
 
+filter_cgi =
+  attribute type { "cgi" },
+  element mp:map {
+    attribute path { xsd:string },
+    attribute exec { xsd:string }
+  }*
+
 #filter_zeerex_explain =
 #  attribute type { "zeerex_explain" },
 #  attribute id { xsd:NCName }?,
index 8530e45..3ffd1c4 100644 (file)
@@ -87,6 +87,7 @@
         <ref name="filter_auth_simple"/>
         <ref name="filter_backend_test"/>
         <ref name="filter_bounce"/>
+        <ref name="filter_cgi"/>
         <ref name="filter_cql_rpn"/>
         <ref name="filter_frontend_net"/>
         <ref name="filter_http_file"/>
       </element>
     </optional>
   </define>
+  <define name="filter_cgi">
+    <attribute name="type">
+      <value>cgi</value>
+    </attribute>
+    <zeroOrMore>
+      <element name="mp:map">
+        <attribute name="path">
+          <data type="string"/>
+        </attribute>
+        <attribute name="exec">
+          <data type="string"/>
+        </attribute>
+      </element>
+    </zeroOrMore>
+  </define>
 </grammar>
 <!--
   filter_zeerex_explain =
index 29d0875..1f1e86e 100644 (file)
@@ -76,6 +76,7 @@
     <xs:complexType>
       <xs:choice minOccurs="0">
         <xs:group ref="mp:filter_auth_simple"/>
+        <xs:group ref="mp:filter_cgi"/>
         <xs:element ref="mp:conversion"/>
         <xs:group ref="mp:filter_frontend_net"/>
         <xs:group ref="mp:filter_http_file"/>
@@ -95,6 +96,7 @@
             <xs:enumeration value="auth_simple"/>
             <xs:enumeration value="backend_test"/>
             <xs:enumeration value="bounce"/>
+            <xs:enumeration value="cgi"/>
             <xs:enumeration value="cql_rpn"/>
             <xs:enumeration value="frontend_net"/>
             <xs:enumeration value="http_file"/>
       </xs:simpleType>
     </xs:attribute>
   </xs:attributeGroup>
+  <xs:group name="filter_cgi">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:map"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="map">
+    <xs:complexType>
+      <xs:attribute name="path" use="required" type="xs:string"/>
+      <xs:attribute name="exec" use="required" type="xs:string"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:attributeGroup name="filter_cgi">
+    <xs:attribute name="type" use="required">
+      <xs:simpleType>
+        <xs:restriction base="xs:token">
+          <xs:enumeration value="cgi"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
 </xs:schema>
 <!--
   filter_zeerex_explain =