<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) Stichting Deltares 2018. All rights reserved.

This file is part of the DAM - UI.

The DAM - UI is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

All names, logos, and references to "Deltares" are registered trademarks of
Stichting Deltares and remain full property of Stichting Deltares at all times.
All rights reserved.
-->

<!-- Created with Liquid XML Studio 1.0.8.0 (http://www.liquid-technologies.com) -->
<xs:schema xmlns:ns4="http://deltares.nl/2008/CPTipSoilDefinition" xmlns:ns0="http://deltares.nl/2008/CPTDefinition" xmlns:ns5="http://deltares.nl/2008/ImageDefinition" xmlns:ns1="http://deltares.nl/2008/ProfileDefinition" xmlns:ns2="http://deltares.nl/2008/FileIdentificationDefinition" xmlns:ns3="http://deltares.nl/2008/CPTipInterpretationParametersDefinition" elementFormDefault="qualified" targetNamespace="http://deltares.nl/2008/DamMStabInputDefinition" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="DamMStabInput">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="SurfaceLine">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="SurfacePoint">
              <xs:complexType>
                <xs:attribute name="XCoord" type="xs:double" use="required" />
                <xs:attribute name="YCoord" type="xs:double" use="required" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CharacteristicPoints">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CharacteristicPoint">
              <xs:complexType>
                <xs:attribute name="XCoord" type="xs:double" use="required" />
                <xs:attribute name="YCoord" type="xs:double" use="required" />
                <xs:attribute name="CharacteristicPointType" type="xs:string" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="1" maxOccurs="1" name="ExternalPLLines">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="PLLine">
              <xs:complexType>
                <xs:sequence>
                  <xs:element minOccurs="0" maxOccurs="unbounded" name="PLPoint">
                    <xs:complexType>
                      <xs:attribute name="XCoord" type="xs:double" use="required" />
                      <xs:attribute name="YCoord" type="xs:double" use="required" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="IsPhreatic" type="xs:boolean" use="required" />
                <xs:attribute name="BoundaryLayer" type="xs:integer" use="required" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="1" maxOccurs="1" name="Model">
        <xs:complexType>
          <xs:attribute name="CalculationModel">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Bishop" />
                <xs:enumeration value="Spencer" />
                <xs:enumeration value="Fellenius" />
                <xs:enumeration value="UpliftVan" />
                <xs:enumeration value="UpliftSpencer" />
                <xs:enumeration value="BishopRandomField" />
                <xs:enumeration value="HorizontalBalance" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="ShearStrength" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="CPhi" />
                <xs:enumeration value="StressTables" />
                <xs:enumeration value="CuCalculated" />
                <xs:enumeration value="CuMeasured" />
                <xs:enumeration value="CUGradient" />
                <xs:enumeration value="PseudoValues" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="Probabilistic" type="xs:boolean" />
          <xs:attribute name="SearchMethod">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Grid" />
                <xs:enumeration value="GeneticAlgorithm" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="GridPosition">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="left" />
                <xs:enumeration value="right" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="ZoneAreas">
        <xs:complexType>
          <xs:attribute name="DikeTableHeight" type="xs:double" />
          <xs:attribute name="DikeTableWidth" type="xs:double" />
          <xs:attribute name="XCoordinateDikeTopAtRiver" type="xs:double" />
          <xs:attribute name="XCoordinateDikeTopAtPolder" type="xs:double" />
          <xs:attribute name="XCoordinateStartRestProfile" type="xs:double" />
          <xs:attribute name="SafetyFactorZone1A" type="xs:double" />
          <xs:attribute name="SafetyFactorZone1B" type="xs:double" />
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="TrafficLoad">
        <xs:complexType>
          <xs:attribute name="XCoordinateAtRiver" type="xs:double" />
          <xs:attribute name="XCoordinateAtPolder" type="xs:double" />
          <xs:attribute name="Load" type="xs:double" />
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="CalculationOptions">
        <xs:complexType>
          <xs:attribute name="MinimalCircleDepth" type="xs:double" />
          <xs:attribute name="ZonesType">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="NoZones" />
                <xs:enumeration value="ZoneAreas" />
                <xs:enumeration value="ForbiddenZone" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="GeometryCreationOptions">
        <xs:complexType>
          <xs:attribute name="SoilGeometryType" use="optional">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="SoilGeometry1D" />
                <xs:enumeration value="SoilGeometry2D" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="SoilGeometry2DFilename" type="xs:string" use="optional" />
          <xs:attribute name="XOffsetSoilGeometry2DOrigin" type="xs:double" use="optional" />
          <xs:attribute name="MaterialForDike" type="xs:string" use="optional" />
          <xs:attribute name="MaterialForShoulder" type="xs:string" use="optional" />
          <xs:attribute name="IsUseOriginalPLLineAssignments" type="xs:boolean" use="optional" />
          <xs:attribute name="IsUseOriginalCalculationOptions" type="xs:boolean" use="optional" />
          <xs:attribute default="false" name="IsDrySituation" type="xs:boolean" use="optional" />
          <xs:attribute name="PLLineAssignment">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="ExpertKnowledge" />
                <xs:enumeration value="DikeFlow" />
                <xs:enumeration value="OriginalPLLines" />
                <xs:enumeration value="NoPLLines" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="IntrusionVerticalWaterPressure">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Standard" />
                <xs:enumeration value="Linear" />
                <xs:enumeration value="FullHydroStatic" />
                <xs:enumeration value="HydroStatic" />
                <xs:enumeration value="SemiTimeDependent" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="IsDesign" type="xs:boolean" />
          <xs:attribute name="PenetrationLength" type="xs:double" />
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="SheetPiling">
        <xs:complexType>
          <xs:attribute name="XCoordinate" type="xs:double" use="required" />
          <xs:attribute name="YCoordinate" type="xs:double" use="required" />
          <xs:attribute name="ZCoordinate" type="xs:double" />
          <xs:attribute name="Length" type="xs:double" use="required" />
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="ForbiddenZone">
        <xs:complexType>
          <xs:attribute name="IsXMinEntryUsed" type="xs:boolean" />
          <xs:attribute name="XEntryMin" type="xs:double" />
          <xs:attribute name="IsXMaxEntryUsed" type="xs:boolean" />
          <xs:attribute name="XEntryMax" type="xs:double" />
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="HorizontalBalanceArea">
        <xs:complexType>
          <xs:attribute name="XLeft" type="xs:double" />
          <xs:attribute name="XRight" type="xs:double" />
          <xs:attribute name="YTop" type="xs:double" />
          <xs:attribute name="YBottom" type="xs:double" />
          <xs:attribute name="PlaneCount" type="xs:integer" />
        </xs:complexType>
      </xs:element>
      <xs:element name="SlipCircleDefinition">
        <xs:complexType>
          <xs:attribute name="XCoordinateLastUpliftPoint" type="xs:double" />
          <xs:attribute name="UpliftVanTangentLinesDefinition">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="OnBoundaryLines" />
                <xs:enumeration value="Specified" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="BishopTangentLinesDefinition">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="OnBoundaryLines" />
                <xs:enumeration value="Specified" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="GridSizeDetermination">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Automatic" />
                <xs:enumeration value="Specified" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="UpliftVanTangentLinesDistance" type="xs:double" />
          <xs:attribute name="BishopTangentLinesDistance" type="xs:double" />
          <xs:attribute name="UpliftVanLeftGridVerticalPointCount" type="xs:integer" />
          <xs:attribute name="UpliftVanLeftGridVerticalPointDistance" type="xs:double" />
          <xs:attribute name="UpliftVanLeftGridHorizontalPointCount" type="xs:integer" />
          <xs:attribute name="UpliftVanLeftGridHorizontalPointDistance" type="xs:double" />
          <xs:attribute name="UpliftVanRightGridVerticalPointCount" type="xs:integer" />
          <xs:attribute name="UpliftVanRightGridVerticalPointDistance" type="xs:double" />
          <xs:attribute name="UpliftVanRightGridHorizontalPointCount" type="xs:integer" />
          <xs:attribute name="UpliftVanRightGridHorizontalPointDistance" type="xs:double" />
          <xs:attribute name="BishopGridVerticalPointCount" type="xs:integer" />
          <xs:attribute name="BishopGridVerticalPointDistance" type="xs:double" />
          <xs:attribute name="BishopGridHorizontalPointCount" type="xs:integer" />
          <xs:attribute name="BishopGridHorizontalPointDistance" type="xs:double" />
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="Design">
        <xs:complexType>
          <xs:attribute name="EmbankmentMaterialName" type="xs:string" />
          <xs:attribute name="PreviousGeometry2DFilename" type="xs:string" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="SoilDBName" type="xs:string" use="required" />
    <xs:attribute name="MStabFileName" type="xs:string" use="required" />
  </xs:complexType>
</xs:schema>