<?xml version="1.0" encoding="UTF-8"?>

<xs:schema
    targetNamespace="http://myfaces.apache.org/tobago/tobago-config"
    xmlns:tobago="http://myfaces.apache.org/tobago/tobago-config"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.6">

  <xs:annotation>
    <xs:documentation>
      <![CDATA[
      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:documentation>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      <![CDATA[

      ************************************************************************************
      ************************************************************************************
      Warning: This version is not officially release, please use version 2.0!
      http://myfaces.apache.org/tobago/tobago-config-2.0.xsd
      ************************************************************************************
      ************************************************************************************

      This is the XML schema for the tobago configuration files version 1.6.

      Use the following definition:

      <tobago-config
          xmlns="http://myfaces.apache.org/tobago/tobago-config"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://myfaces.apache.org/tobago/tobago-config http://myfaces.apache.org/tobago/tobago-config-1.6.xsd"
          version="1.6">
        ...
      </tobago-config>
      ]]>
    </xs:documentation>
  </xs:annotation>

  <xs:element name="tobago-config" type="tobago:tobago-config-type"/>

  <xs:complexType name="tobago-config-type">
    <xs:sequence>
      <xs:element name="name" type="tobago:name-type" minOccurs="0"/>
      <xs:element name="ordering" type="tobago:ordering-type" minOccurs="0"/>
      <xs:element name="theme-config" type="tobago:theme-config-type" minOccurs="0"/>
      <xs:element name="resource-dir" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="create-session-secret" type="xs:boolean" minOccurs="0"/>
      <xs:element name="check-session-secret" type="xs:boolean" minOccurs="0"/>
      <xs:element name="prevent-frame-attacks" type="xs:boolean" minOccurs="0" default="true"/>
      <xs:element name="content-security-policy" type="tobago:content-security-policy-type" minOccurs="0"/>
      <xs:element name="renderers" type="tobago:renderers-type" minOccurs="0"/>
      <xs:element name="theme-definitions" type="tobago:theme-definitions-type" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="version"
                   type="tobago:tobago-config-version-type"
                   use="required"/>
  </xs:complexType>

  <xs:simpleType name="tobago-config-version-type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1.6"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ordering-type">
    <xs:sequence>
      <xs:element name="after" type="tobago:before-after-type" minOccurs="0"/>
      <xs:element name="before" type="tobago:before-after-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="before-after-type">
    <xs:sequence>
      <xs:element name="name" type="tobago:name-type" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="theme-config-type">
    <xs:sequence>
      <xs:element name="default-theme" type="xs:string"/>
      <xs:element name="supported-theme" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="content-security-policy-type">
    <xs:sequence>
      <xs:element name="directive" type="xs:string" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="renderers-type">
    <xs:sequence>
      <xs:element name="renderer" type="tobago:renderer-type" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="renderer-type">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="supported-markup" type="tobago:supported-markup-type"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="supported-markup-type">
    <xs:sequence>
      <xs:element name="markup" type="xs:string" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="theme-definitions-type">
    <xs:sequence>
      <xs:element name="theme-definition" type="tobago:theme-definition-type" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="theme-definition-type">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="display-name" type="xs:string" minOccurs="0"/>
      <xs:element name="deprecated-name" type="xs:string" minOccurs="0"/>
      <xs:element name="resource-path" type="xs:string"/>
      <xs:element name="fallback" type="xs:string" minOccurs="0"/>
      <xs:element name="versioned" type="xs:boolean" minOccurs="0" default="false"/>
      <xs:element name="renderers" type="tobago:renderers-type" minOccurs="0"/>
      <xs:element name="resources" type="tobago:resources-type" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="resources-type">
    <xs:sequence>
      <xs:element name="script" type="tobago:script-type" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="style" type="tobago:style-type" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="production" type="xs:boolean" use="required"/>
  </xs:complexType>

  <xs:complexType name="script-type">
    <xs:attribute name="name" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="style-type">
    <xs:attribute name="name" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:simpleType name="name-type">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>

</xs:schema>
