<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://lucene.apache.org/nutch"
           xmlns="http://lucene.apache.org/nutch"
           elementFormDefault="qualified">
  <xs:element name="exchanges">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="exchange" type="exchangeType" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="exchangeType">
    <xs:sequence>
      <xs:element type="writersType" name="writers" maxOccurs="1" minOccurs="1" />
      <xs:element type="parametersType" name="params" maxOccurs="1" minOccurs="1" />
    </xs:sequence>
    <xs:attribute type="xs:string" name="class" use="required" />
    <xs:attribute type="xs:ID" name="id" use="required" />
  </xs:complexType>
  <xs:complexType name="writersType">
    <xs:sequence>
      <xs:element type="writerType" name="writer" maxOccurs="unbounded" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="writerType">
    <xs:attribute type="xs:string" name="id" use="required" />
  </xs:complexType>
  <xs:complexType name="parametersType">
    <xs:sequence>
      <xs:element type="parameterType" name="param" maxOccurs="unbounded" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="parameterType">
    <xs:attribute type="xs:string" name="name" use="required" />
    <xs:attribute type="xs:string" name="value" use="optional" />
  </xs:complexType>
</xs:schema>