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