﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema
    attributeFormDefault="unqualified"
    elementFormDefault="qualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:include schemaLocation="identities.xsd" />
  <xs:include schemaLocation="types.xsd" />

  <xs:complexType name="translatable">
    <xs:sequence>
      <xs:element name="default" minOccurs="1" maxOccurs="1" type="stringNotNull" />
      <xs:element name="se" minOccurs="0" maxOccurs="1" type="stringNotNull" />
      <xs:element name="dk" minOccurs="0" maxOccurs="1" type="stringNotNull" />
      <xs:element name="no" minOccurs="0" maxOccurs="1" type="stringNotNull" />
      <xs:element name="fi" minOccurs="0" maxOccurs="1" type="stringNotNull" />
      <xs:element name="fr" minOccurs="0" maxOccurs="1" type="stringNotNull" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="untranslatable">
    <xs:sequence>
      <xs:element name="default" minOccurs="1" maxOccurs="1" type="stringNotNull" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="variantBySize">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="identity" type="identity" />
        <xs:element minOccurs="1" maxOccurs="1" name="size" type="untranslatable" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="variantByColor">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="identity" type="identity" />
        <xs:element minOccurs="1" maxOccurs="1" name="color" type="translatable" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="variantByFlavor">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="identity" type="identity" />
        <xs:element minOccurs="1" maxOccurs="1" name="flavor" type="untranslatable" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="variantBySizeColor">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="identity" type="identity" />
        <xs:element minOccurs="1" maxOccurs="1" name="size" type="untranslatable" />
        <xs:element minOccurs="1" maxOccurs="1" name="color" type="translatable" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="variantBySizeFlavor">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="identity" type="identity" />
        <xs:element minOccurs="1" maxOccurs="1" name="size" type="untranslatable" />
        <xs:element minOccurs="1" maxOccurs="1" name="flavor" type="untranslatable" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="variants">
    <xs:choice>
      <xs:element minOccurs="1" maxOccurs="unbounded" ref="variantBySize" />
      <xs:element minOccurs="1" maxOccurs="unbounded" ref="variantByColor" />
      <xs:element minOccurs="1" maxOccurs="unbounded" ref="variantByFlavor" />
      <xs:element minOccurs="1" maxOccurs="unbounded" ref="variantBySizeColor" />
      <xs:element minOccurs="1" maxOccurs="unbounded" ref="variantBySizeFlavor" />
    </xs:choice>
  </xs:complexType>

</xs:schema>