From 0a06295b9548e5ddadcafae64afd16108eb2e23c Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <github@naumov.de>
Date: Sat, 2 Jun 2018 14:47:19 +0200
Subject: [PATCH] [web] Add xsd files into images/xsd.

---
 web/content/images/xsd/OpenGeoSysCND.xsd     |  98 ++++++++++++++++
 web/content/images/xsd/OpenGeoSysGLI.xsd     |  96 ++++++++++++++++
 web/content/images/xsd/OpenGeoSysNum.xsd     |  65 +++++++++++
 web/content/images/xsd/OpenGeoSysProject.xsd | 111 ++++++++++++++++++
 web/content/images/xsd/OpenGeoSysSTN.xsd     | 115 +++++++++++++++++++
 5 files changed, 485 insertions(+)
 create mode 100644 web/content/images/xsd/OpenGeoSysCND.xsd
 create mode 100644 web/content/images/xsd/OpenGeoSysGLI.xsd
 create mode 100644 web/content/images/xsd/OpenGeoSysNum.xsd
 create mode 100644 web/content/images/xsd/OpenGeoSysProject.xsd
 create mode 100644 web/content/images/xsd/OpenGeoSysSTN.xsd

diff --git a/web/content/images/xsd/OpenGeoSysCND.xsd b/web/content/images/xsd/OpenGeoSysCND.xsd
new file mode 100644
index 00000000000..07874661b21
--- /dev/null
+++ b/web/content/images/xsd/OpenGeoSysCND.xsd
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+<!-- OpenGeoSysCond schema; initial implementation: Karsten Rink -->
+
+  <!-- definition of "CondType" -->
+  <xs:complexType name="CondType">
+    <xs:sequence>
+      <xs:element name="Process" maxOccurs="1">
+        <xs:complexType>
+          <xs:all>
+            <xs:element name="Type" type="xs:string" maxOccurs="1" />
+            <xs:element name="Variable" type="xs:string" maxOccurs="1" />
+          </xs:all>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="Geometry" minOccurs="0" maxOccurs="1">   <!-- is optional because DIRECT conditions don't relate to geometry -->
+        <xs:complexType>
+          <xs:all>
+            <xs:element name="Type" maxOccurs="1" >
+              <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:enumeration value="POINT"/>
+              <xs:enumeration value="POLYLINE"/>
+              <xs:enumeration value="SURFACE"/>
+              <xs:enumeration value="VOLUME"/>
+              <xs:enumeration value="DOMAIN"/>
+              <xs:enumeration value="INVALID"/>
+            </xs:restriction>
+              </xs:simpleType>
+            </xs:element>
+            <xs:element name="Name" type="xs:string" maxOccurs="1" />
+          </xs:all>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="Distribution" maxOccurs="1">
+        <xs:complexType>
+          <xs:all>
+            <xs:element name="Type" type="xs:string" maxOccurs="1" />
+            <xs:element name="Value" maxOccurs="1" />
+          </xs:all>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="geometry" type="xs:string" use="required" />
+  </xs:complexType>
+
+
+  <!-- definition of "extCondType" as an extension of "CondType" -->
+  <xs:complexType name="extCondType">
+    <xs:complexContent>
+      <xs:extension base="CondType">
+        <xs:sequence>
+          <xs:element name="FunctionType" type="xs:string"  minOccurs="0" maxOccurs="1"/>     <!-- is optional -->
+          <xs:element name="TimeType" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/> <!-- is optional -->
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+
+  <!-- definition of file content -->
+  <xs:element name="OpenGeoSysCond">
+    <xs:complexType>
+      <xs:sequence>
+    <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" />
+
+        <!-- definition of initial conditions -->
+    <xs:element name="InitialConditions" minOccurs="0" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="IC" type="CondType" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+        <!-- definition of boundary conditions -->
+        <xs:element name="BoundaryConditions" minOccurs="0" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="BC" type="extCondType" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+        <!-- definition of source terms -->
+        <xs:element name="SourceTerms" minOccurs="0" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="ST" type="extCondType" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+</xs:schema>
diff --git a/web/content/images/xsd/OpenGeoSysGLI.xsd b/web/content/images/xsd/OpenGeoSysGLI.xsd
new file mode 100644
index 00000000000..ed8b0100a96
--- /dev/null
+++ b/web/content/images/xsd/OpenGeoSysGLI.xsd
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+<!-- OpenGeoSysGLI schema; initial implementation: Karsten Rink -->
+
+
+  <!-- definition of points -->
+  <xs:complexType name="pointType">
+    <xs:attribute name="id" type="xs:nonNegativeInteger" use="required" />
+    <xs:attribute name="x" type="xs:decimal" use="required" />
+    <xs:attribute name="y" type="xs:decimal" use="required" />
+    <xs:attribute name="z" type="xs:decimal" use="required" />
+    <xs:attribute name="name" type="xs:string" />
+  </xs:complexType>
+
+
+  <!-- definition of polylines -->
+  <xs:complexType name="plyType">
+    <xs:sequence>
+      <xs:element name="pnt" type="xs:nonNegativeInteger" maxOccurs="unbounded" />
+    </xs:sequence>
+    <xs:attribute name="id" type="xs:nonNegativeInteger" use="required" />
+    <xs:attribute name="name" type="xs:string" />
+  </xs:complexType>
+
+
+  <!-- definition of surfaces -->
+  <xs:complexType name="surfaceType">
+    <xs:sequence>
+      <xs:element name="element" maxOccurs="unbounded">
+        <xs:complexType>
+          <xs:attribute name="p1" type="xs:nonNegativeInteger" use="required" />
+          <xs:attribute name="p2" type="xs:nonNegativeInteger" use="required" />
+          <xs:attribute name="p3" type="xs:nonNegativeInteger" use="required"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="id" type="xs:nonNegativeInteger" use="required" />
+    <xs:attribute name="name" type="xs:string" />
+  </xs:complexType>
+
+  <!-- definition of volumes -->
+  <xs:complexType name="volumeType">
+    <xs:sequence>
+      <xs:element name="sfc" type="xs:nonNegativeInteger" maxOccurs="unbounded" />
+    </xs:sequence>
+    <xs:attribute name="id" type="xs:nonNegativeInteger" use="required" />
+    <xs:attribute name="name" type="xs:string" />
+  </xs:complexType>
+
+  <!-- definition of file content -->
+  <xs:element name="OpenGeoSysGLI">
+    <xs:complexType>
+      <xs:sequence>
+    <xs:element name="name" type="xs:string" maxOccurs="1" />
+
+        <!-- definition of points -->
+    <xs:element name="points" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="point" type="pointType" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+        <!-- definition of polylines -->
+        <xs:element name="polylines" minOccurs="0" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="polyline" type="plyType" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+        <!-- definition of surfaces -->
+        <xs:element name="surfaces" minOccurs="0" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="surface" type="surfaceType" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+        <!-- definition of volumes -->
+        <xs:element name="volumes" minOccurs="0" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="volume" type="volumeType" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+</xs:schema>
diff --git a/web/content/images/xsd/OpenGeoSysNum.xsd b/web/content/images/xsd/OpenGeoSysNum.xsd
new file mode 100644
index 00000000000..befbf098924
--- /dev/null
+++ b/web/content/images/xsd/OpenGeoSysNum.xsd
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+<!-- OpenGeoSysNum schema; initial implementation: Karsten Rink -->
+
+  <xs:simpleType name="LibraryType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="LIS" />
+      <xs:enumeration value="PETSc" />
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="NonLinearType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Newton" />
+      <xs:enumeration value="Picard" />
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- definition of file content -->
+  <xs:element name="OGSNonlinearSolverSetup">
+    <xs:complexType>
+      <xs:sequence>
+
+        <!-- definition of non-linear solver -->
+        <xs:element name="Type" type="NonLinearType" maxOccurs="1" />
+
+        <!-- definition of linear solver -->
+    <xs:element name="LinearSolver" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="Type" type="xs:string" maxOccurs="1" />
+              <xs:element name="Preconditioner" type="xs:string" minOccurs="0" maxOccurs="1" />
+              <!-- add more parameters here -->
+            </xs:sequence>
+            <xs:attribute name="Library" type="LibraryType" use="required" />
+          </xs:complexType>
+        </xs:element>
+
+        <!-- definition of temporal discretization -->
+        <xs:element name="IterationScheme" maxOccurs="1">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="MaxIterations" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" />
+              <xs:element name="FixedStepSize" type="xs:double" minOccurs="0" maxOccurs="1" />
+              <!-- add more parameters here -->
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+        <!-- definition of convergence criteria -->
+        <xs:element name="Convergence" minOccurs="0" maxOccurs="1">
+      <xs:complexType>
+            <xs:sequence>
+              <xs:element name="Method" type="xs:string" minOccurs="0" maxOccurs="1" />
+              <xs:element name="ErrorThreshold" type="xs:double" minOccurs="0" maxOccurs="1" />
+              <!-- add more parameters here -->
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+</xs:schema>
diff --git a/web/content/images/xsd/OpenGeoSysProject.xsd b/web/content/images/xsd/OpenGeoSysProject.xsd
new file mode 100644
index 00000000000..0eefb0c17c0
--- /dev/null
+++ b/web/content/images/xsd/OpenGeoSysProject.xsd
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <!-- OpenGeoSysProject schema; initial implementation: Karsten Rink, 2010-08-20 -->
+  <xs:element name="name" type="xs:string" />
+
+  <!-- definition of processes -->
+  <xs:complexType name="processType">
+    <xs:sequence>
+      <xs:element ref="name" minOccurs="1" maxOccurs="1" />
+      <xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1" />
+      <xs:element name="integration_order" minOccurs="1" maxOccurs="1" />
+      <xs:element name="process_variables" minOccurs="1" maxOccurs="1" />
+      <xs:element name="secondary_variables" minOccurs="0" maxOccurs="1" />
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="parameterType">
+    <xs:sequence>
+      <xs:element ref="name"  minOccurs="1" maxOccurs="1" />
+      <xs:element name="type" type="xs:string" minOccurs="1" maxOccurs="1" />
+      <xs:element name="value" minOccurs="0" maxOccurs="1" />
+      <xs:element name="field_name" type="xs:string" minOccurs="0" maxOccurs="1" />
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="conditionType">
+    <xs:sequence>
+      <xs:element name="geometrical_set" type="xs:string" minOccurs="0" />
+      <xs:element name="geometry" type="xs:string" minOccurs="0" />
+      <xs:element name="type" type="xs:string" />
+      <xs:element name="field_name" type="xs:string" minOccurs="0" />
+      <xs:element name="mesh" type="xs:string" minOccurs="0" />
+      <xs:element name="parameter" type="xs:string" minOccurs="0" />
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="bcListType">
+    <xs:sequence>
+      <xs:element name="boundary_condition" type="conditionType" minOccurs="1" maxOccurs="unbounded" />
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="stListType">
+    <xs:sequence>
+      <xs:element name="source_term" type="conditionType" minOccurs="1" maxOccurs="unbounded" />
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="pvariableType">
+    <xs:sequence>
+      <xs:element ref="name"/>
+      <xs:element name="components" minOccurs="1" maxOccurs="1">
+        <xs:simpleType>
+          <xs:restriction base="xs:nonNegativeInteger">
+            <xs:minInclusive value="1"/>
+            <xs:maxInclusive value="3"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+      <xs:element name="order" minOccurs="1" maxOccurs="1">
+        <xs:simpleType>
+          <xs:restriction base="xs:nonNegativeInteger">
+            <xs:minInclusive value="1"/>
+            <xs:maxInclusive value="2"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+      <xs:element name="initial_condition" type="xs:string" minOccurs="0" maxOccurs="1" />
+      <xs:element name="boundary_conditions" type="bcListType" minOccurs="0" maxOccurs="1" />
+      <xs:element name="source_terms" type="stListType" minOccurs="0" maxOccurs="1" />
+    </xs:sequence>
+  </xs:complexType>
+
+  <!-- definition of file content -->
+  <xs:element name="OpenGeoSysProject">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="mesh" minOccurs="0">
+          <xs:complexType>
+            <xs:simpleContent>
+              <xs:extension base="xs:string">
+                <xs:attribute name="axially_symmetric" type="xs:boolean"/>
+              </xs:extension>
+            </xs:simpleContent>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="geometry" type="xs:string" minOccurs="0"/>
+        <xs:element name="processes" minOccurs="0"/> <!--ignore-->
+        <xs:element name="time_loop" minOccurs="0"/> <!--ignore-->
+        <xs:element name="parameters" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="parameter" type="parameterType" minOccurs="1" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="process_variables" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="process_variable" type="pvariableType" minOccurs="1" maxOccurs="unbounded" />
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="nonlinear_solvers" minOccurs="0"/> <!--ignore-->
+        <xs:element name="linear_solvers" minOccurs="0"/> <!--ignore-->
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+</xs:schema>
diff --git a/web/content/images/xsd/OpenGeoSysSTN.xsd b/web/content/images/xsd/OpenGeoSysSTN.xsd
new file mode 100644
index 00000000000..b07101ccf42
--- /dev/null
+++ b/web/content/images/xsd/OpenGeoSysSTN.xsd
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <!-- OpenGeoSysSTN schema; initial implementation: Karsten Rink, 2010-07-19 -->
+
+
+  <!-- element definition -->
+  <xs:element name="name" type="xs:string" />
+  <xs:element name="value" type="xs:decimal" />
+
+  <!-- attribute definition -->
+  <xs:attribute name="id" type="xs:nonNegativeInteger" />
+  <xs:attribute name="x"  type="xs:decimal" />
+  <xs:attribute name="y"  type="xs:decimal" />
+  <xs:attribute name="z"  type="xs:decimal" />
+
+
+  <!-- definition of "station" -->
+  <xs:complexType name="stationType">
+    <xs:sequence>
+      <xs:element ref="name" />
+      <xs:element ref="value"  minOccurs="0" />                <!-- value is optional -->
+      <xs:element name="sensordata" minOccurs="0" />            <!-- time series data (optional) -->
+      <!-- other station features can be inserted here -->
+    </xs:sequence>
+    <xs:attribute ref="id" use="required" />
+    <xs:attribute ref="x"  use="required" />
+    <xs:attribute ref="y"  use="required" />
+    <xs:attribute ref="z" />
+  </xs:complexType>
+
+
+  <!-- definition of "borehole" as an extension of "station" -->
+  <xs:complexType name="boreholeType">
+    <xs:complexContent>
+      <xs:extension base="stationType">
+        <xs:sequence>
+          <xs:element name="bdepth" type="xs:decimal" />
+          <xs:element name="bdate" type="xs:date" minOccurs="0" />    <!-- date is optional -->
+          <xs:element name="strat" type="stratType" minOccurs="0" />    <!-- stratigraphy is optional, e.g. wells have none -->
+          <!-- other borehole features can be inserted here -->
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+
+  <!-- definition of stratigraphie -->
+  <xs:complexType name="stratType">
+    <xs:sequence>
+      <xs:element name="horizon" maxOccurs="unbounded">
+        <xs:complexType>
+          <xs:all>
+            <xs:element ref="name" />
+            <!-- other horizon features can be inserted here -->
+          </xs:all>
+          <xs:attribute ref="id" use="required" />
+          <xs:attribute ref="x"  use="required" />
+          <xs:attribute ref="y"  use="required" />
+          <xs:attribute ref="z"  use="required" />
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+
+
+  <!-- makes sure that a stationlist contains EITHER "stations" OR "boreholes" -->
+  <xs:group name="stationSelection">
+    <xs:choice>
+
+      <!-- case 1: list of stations -->
+      <xs:element name="stations">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="station" type="stationType" maxOccurs="unbounded" />
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+
+      <!-- case 2: list of boreholes -->
+      <xs:element name="boreholes">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="borehole" type="boreholeType" maxOccurs="unbounded" />
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+
+    </xs:choice>
+  </xs:group>
+
+
+  <!-- definition of file content -->
+  <xs:element name="OpenGeoSysSTN">
+    <xs:complexType>
+      <xs:sequence>
+
+        <!-- definition of stationlist -->
+        <xs:element name="stationlist" minOccurs="1" maxOccurs="unbounded">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="name" />
+              <xs:element name="type" type="xs:string" minOccurs="0" />        <!-- type is optional -->
+              <xs:group ref="stationSelection" />
+              <!-- other list features can be inserted here -->
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <!-- end of "stationlist" -->
+
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+</xs:schema>
-- 
GitLab