<?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"
    version="5.0">

  <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 IS A PRE-RELEASE VERSION OF THIS FILE, PLEASE CHECK IF THERE IS AN UPDATE ON
      http://myfaces.apache.org/tobago/tobago-config-5.0.xsd
      ************************************************************************************
      ************************************************************************************

      This is the XML schema for the Tobago configuration files version 5.0.

      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-5.0.xsd"
          version="5.0">
        ...
      </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:annotation>
          <xs:documentation>
            Name of this instance of the configuration to be referenced in other tobago-config.xml files.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ordering" type="tobago:ordering-type" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            Can be used to order this instance of the configuration against other tobago-config.xml files.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="theme-config" type="tobago:theme-config-type" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            Configure the themes to be used.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="create-session-secret" type="xs:boolean" minOccurs="0" default="true">

      </xs:element>
      <xs:element name="check-session-secret" type="xs:boolean" minOccurs="0" default="true">

      </xs:element>
      <xs:element name="prevent-frame-attacks" type="xs:boolean" minOccurs="0" default="true">
        <xs:annotation>
          <xs:documentation>
            Sets the HTTP header "X-Frame-Options" to "DENY".
            This setting is deprecated but needed for IE11. The current way to configure this is using
            the Content Security Policy directive 'frame-ancestors'.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="set-nosniff-header" type="xs:boolean" minOccurs="0" default="true">
        <xs:annotation>
          <xs:documentation>
            Sets the HTTP header "X-Content-Type-Options" to "nosniff".
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="classic-date-time-picker" type="xs:boolean" minOccurs="0" default="false">
        <xs:annotation>
          <xs:documentation>
            Warning: No longer supported.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="content-security-policy" type="tobago:content-security-policy-type" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            Define rule for CSP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sanitizer" type="tobago:sanitizer-type" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[
            Define a Java class which implements org.apache.myfaces.tobago.sanitizer.Sanitizer
            to protect against HTML content of <tc:out escape="true"/> and
            <tc:textarea/>.

            This is the default:
            <sanitizer>
              <sanitizer-class>org.apache.myfaces.tobago.sanitizer.JsoupSanitizer</sanitizer-class>
              <properties>
                <entry key="whitelist">relaxed</entry>
              </properties>
            </sanitizer>
            ]]>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="decode-line-feed" type="xs:boolean" minOccurs="0" default="true">
        <xs:annotation>
          <xs:documentation>
            Use LF instead of CR+LF in textarea while decoding.
            HTTP transports usually a line break with CR+LF
            (see https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4).
            When this property is set to true (by default), the Java bean will get the string only with LF ('\n').

            When this property is set to false, there might be a conflict with the length validator,
            because you have 2 character for each line break.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="security-annotation" type="tobago:security-annotation-type" minOccurs="0" default="disable">
        <xs:annotation>
          <xs:documentation>
            Defines the behavior of actions in buttons and links, if the MethodExpression
            has a security annotation.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="theme-definitions" type="tobago:theme-definitions-type" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            Configuration of a new theme which may come with this JAR file.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="version"
                  type="tobago:tobago-config-version-type"
                  use="required"/>
  </xs:complexType>

  <xs:simpleType name="security-annotation-type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="hide"/>
      <xs:enumeration value="disable"/>
      <xs:enumeration value="ignore"/>
    </xs:restriction>
  </xs:simpleType>

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

  <xs:complexType name="ordering-type">
    <xs:sequence>
      <xs:element name="after" type="tobago:before-after-type" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            This configuration instance needs to be applied after the referenced instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="before" type="tobago:before-after-type" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            This configuration instance needs to be applied before the referenced instance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </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:annotation>
          <xs:documentation>
            The default theme, which is used when no theme is selected programmatically.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="supported-theme" type="xs:string" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>
            Other supported theme for this application.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="content-security-policy-type">
    <xs:sequence>
      <xs:element name="directive" type="tobago:directive-type" maxOccurs="unbounded" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            CSP directive to be added to the HTTP header.
            It is possible to define more than one directive with the same name, to allow
            more than one value.
            The mode defines, if the SCP headers should be written, not written, or only
            reporting headers should be written.

            For more information about the directives see
            https://www.w3.org/TR/CSP/
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="mode" type="tobago:csp-mode-type" use="required"/>
  </xs:complexType>

  <xs:complexType name="directive-type">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="name" type="xs:string" use="required">
          <xs:annotation>
            <xs:documentation>
              Name of the CSP directive e. g. script-src, style-src, frame-ancestors, child-src, ...
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="sanitizer-type">
    <xs:sequence>
      <xs:element name="sanitizer-class" type="xs:string"/>
      <xs:element name="properties" type="tobago:properties-type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

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

  <xs:complexType name="entry-type">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="key" type="xs:string" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="csp-mode-type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="on"/>
      <xs:enumeration value="off"/>
      <xs:enumeration value="report-only"/>
    </xs:restriction>
  </xs:simpleType>

  <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:annotation>
          <xs:documentation>
            The technical name of the theme, which e. g. is used in paths.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="display-name" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            The display name of the theme, which may be used in a theme selector.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="fallback" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            The parent of the theme.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="version" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            The version of the theme. The version string will be encoded into the
            resource path, to avoid caching problems. The version can be accessed by
            #{tobagoContext.theme.version}.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="resources" type="tobago:resources-type" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>
            A list of resources this theme is using.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="resources-type">
    <xs:annotation>
      <xs:documentation>
        Resources can be added, or removed (if they are coming from its fallback theme).
        To removed the resources, put it inside the "excludes" with the same name it was included
        in the parent.

        There a two different sets of resources, one for production and one for development.
        Use the production flag to set this mode explicitly.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="includes" type="tobago:includes-excludes-type" minOccurs="0"/>
      <xs:element name="excludes" type="tobago:includes-excludes-type" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="production" type="xs:boolean" use="required"/>
  </xs:complexType>

  <xs:complexType name="includes-excludes-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:complexType>

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

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

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

</xs:schema>
