<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"/>
+ <xs:group ref="mp:filter_limit"/>
<xs:group ref="mp:filter_log"/>
<xs:group ref="mp:filter_multi"/>
<xs:element ref="mp:xslt"/>
<xs:group ref="mp:filter_sru_z3950"/>
<xs:group ref="mp:filter_virt_db"/>
<xs:group ref="mp:filter_z3950_client"/>
- <xs:group ref="mp:filter_limit"/>
</xs:choice>
<xs:attribute name="type">
<xs:simpleType>
<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:enumeration value="limit"/>
<xs:enumeration value="load_balance"/>
<xs:enumeration value="log"/>
<xs:enumeration value="multi"/>
<xs:enumeration value="sru_z3950"/>
<xs:enumeration value="virt_db"/>
<xs:enumeration value="z3950_client"/>
- <xs:enumeration value="limit"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:element minOccurs="0" ref="mp:threads"/>
<xs:element maxOccurs="unbounded" ref="mp:port"/>
<xs:element minOccurs="0" ref="mp:timeout"/>
+ <xs:element minOccurs="0" ref="mp:connect-max"/>
</xs:sequence>
</xs:group>
<xs:element name="threads" type="xs:integer"/>
<xs:element name="port" type="xs:string"/>
<xs:element name="timeout" type="xs:integer"/>
+ <xs:element name="connect-max" type="xs:integer"/>
<xs:attributeGroup name="filter_frontend_net">
<xs:attribute name="type" use="required">
<xs:simpleType>
</xs:attributeGroup>
<xs:group name="filter_sru_z3950">
<xs:sequence>
- <xs:element maxOccurs="unbounded" ref="mp:database"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="mp:database"/>
</xs:sequence>
</xs:group>
<xs:element name="database">
</xs:attributeGroup>
<xs:group name="filter_virt_db">
<xs:sequence>
+ <xs:element minOccurs="0" ref="mp:pass-vhosts"/>
<xs:element maxOccurs="unbounded" ref="mp:virtual"/>
</xs:sequence>
</xs:group>
+ <xs:element name="pass-vhosts" type="xs:boolean"/>
<xs:element name="virtual">
<xs:complexType>
<xs:sequence>
- <xs:element name="database" type="xs:NCName"/>
+ <xs:element name="database" type="xs:string"/>
<xs:element maxOccurs="unbounded" name="target" type="xs:string"/>
</xs:sequence>
<xs:attribute name="route" type="xs:NCName"/>
</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 =