<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: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="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_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: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:schema>
<!--
filter_zeerex_explain =