<xs:element name="metaproxy">
<xs:complexType>
<xs:sequence>
+ <xs:element minOccurs="0" ref="mp:dlpath"/>
<xs:element ref="mp:start"/>
<xs:element minOccurs="0" ref="mp:filters"/>
<xs:element ref="mp:routes"/>
</xs:attribute>
</xs:complexType>
</xs:element>
+ <xs:element name="dlpath" type="xs:string"/>
<xs:element name="start">
<xs:complexType>
<xs:attribute name="route" use="required" type="xs:NCName"/>
<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: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: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:attribute name="id" type="xs:NCName"/>
<xs:attribute name="name" type="xs:NCName"/>
</xs:attributeGroup>
+ <xs:group name="filter_limit">
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mp:limit"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="limit">
+ <xs:complexType>
+ <xs:attribute name="bandwidth" type="xs:integer"/>
+ <xs:attribute name="pdu" type="xs:integer"/>
+ <xs:attribute name="search" type="xs:integer"/>
+ <xs:attribute name="retrieve" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="filter_limit">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="limit"/>
+ </xs:restriction>
+ </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 =