<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="http://colorer.sf.net/2003/catalog"
  targetNamespace="http://colorer.sf.net/2003/catalog"
  elementFormDefault="qualified">

  <xs:element name="catalog" type="catalog"/>

  <xs:complexType name="catalog">
    <xs:annotation><xs:documentation>
      Describes all available Colorer Library resources.
    </xs:documentation></xs:annotation>
    <xs:sequence>
      <xs:element name="hrc-sets" type="hrc-sets"/>
      <xs:element name="hrd-sets" type="hrd-sets"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="hrc-sets">
    <xs:annotation><xs:documentation>
      Lists all installed root locations of HRC codes.
      These locations are loaded when HRC bases are created.
    </xs:documentation></xs:annotation>
    <xs:sequence>
      <xs:element name="location" type="location" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="log-location" type="xs:string">
      <xs:annotation><xs:documentation>
        Path to the default library log file.
        If missed, there is no logging.
      </xs:documentation></xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="hrd-sets">
    <xs:annotation><xs:documentation>
      Lists all available HRD sets.
      Each HRD Entry describes single color scheme,
      used to represent colored text.
      Note, that one Entry
    </xs:documentation></xs:annotation>
    <xs:sequence>
      <xs:element name="hrd" type="hrd-entry" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="hrd-entry">
    <xs:annotation><xs:documentation>
      Describes one HRD properties set.
    </xs:documentation></xs:annotation>
    <xs:sequence>
      <xs:element name="location" type="location" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="class" type="xs:NMTOKEN" use="required">
      <xs:annotation><xs:documentation>
        HRD class. Currently available 'console', 'rgb' and 'text' classes.
      </xs:documentation></xs:annotation>
    </xs:attribute>
    <xs:attribute name="name" type="xs:NMTOKEN" use="required">
      <xs:annotation><xs:documentation>
        Internal name of this set, used to referring from executable codes.
      </xs:documentation></xs:annotation>
    </xs:attribute>
    <xs:attribute name="description" type="xs:string">
      <xs:annotation><xs:documentation>
        User-friendly description of this HRD set.
      </xs:documentation></xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="location">
    <xs:annotation><xs:documentation>
      Single resource location. Path can be relative to the catalog location,
      or absolute URI with or without URI schema specification.
    </xs:documentation></xs:annotation>
    <xs:attribute name="link" type="xs:string" use="required"/>
  </xs:complexType>

</xs:schema>
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (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.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is the Colorer Library.
   -
   - The Initial Developer of the Original Code is
   - Cail Lomecb <cail@nm.ru>.
   - Portions created by the Initial Developer are Copyright (C) 1999-2003
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the LGPL or the GPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->
