From 503016992fa3a3af03bf4b9adc5713e23f052912 Mon Sep 17 00:00:00 2001
From: Matthias Betz <matthias.betz@hft-stuttgart.de>
Date: Mon, 14 Dec 2020 15:46:43 +0100
Subject: [PATCH] update qualityAde.xsd

---
 public/0.1/qualityAde.xsd | 166 ++++++++++++++++++++++++++------------
 1 file changed, 114 insertions(+), 52 deletions(-)

diff --git a/public/0.1/qualityAde.xsd b/public/0.1/qualityAde.xsd
index e5b2203..d94e788 100644
--- a/public/0.1/qualityAde.xsd
+++ b/public/0.1/qualityAde.xsd
@@ -2,20 +2,24 @@
 <schema xmlns="http://www.w3.org/2001/XMLSchema"
 	xmlns:qual="https://transfer.hft-stuttgart.de/pages/qualityade/0.1"
 	targetNamespace="https://transfer.hft-stuttgart.de/pages/qualityade/0.1"
-	xmlns:core="http://www.opengis.net/citygml/2.0" xmlns:bldg="http://www.opengis.net/citygml/building/2.0"
-	xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="1.0">
+	xmlns:core="http://www.opengis.net/citygml/2.0"
+	xmlns:bldg="http://www.opengis.net/citygml/building/2.0"
+	xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified"
+	version="1.0">
 	<import namespace="http://www.opengis.net/citygml/2.0"
 		schemaLocation="http://schemas.opengis.net/citygml/2.0/cityGMLBase.xsd" />
 	<import namespace="http://www.opengis.net/citygml/building/2.0"
 		schemaLocation="http://schemas.opengis.net/citygml/building/2.0/building.xsd" />
-	<import namespace="http://www.opengis.net/citygml/appearance/2.0"
+	<import
+		namespace="http://www.opengis.net/citygml/appearance/2.0"
 		schemaLocation="http://schemas.opengis.net/citygml/appearance/2.0/appearance.xsd" />
 	<import namespace="http://www.opengis.net/citygml/generics/2.0"
 		schemaLocation="http://schemas.opengis.net/citygml/generics/2.0/generics.xsd" />
 	<import namespace="http://www.opengis.net/gml"
 		schemaLocation="http://schemas.opengis.net/gml/2.1.2/gml.xsd" />
 
-	<element name="validationResult" type="qual:validationResultType"
+	<element name="validationResult"
+		type="qual:validationResultType"
 		substitutionGroup="bldg:_GenericApplicationPropertyOfBuilding" />
 
 	<simpleType name="result" final="restriction">
@@ -61,12 +65,23 @@
 	<complexType name="GE_R_SELF_INTERSECTION">
 		<sequence>
 			<element name="linearRingId" type="string" />
-			<element name="type" type="string" />
-			<element name="edge1" type="qual:edgeType" />
-			<element name="edge2" type="qual:edgeType" />
-			<element name="vertex" type="gml:DirectPositionType" />
+			<element name="type" type="qual:ringSelfIntType" />
+			<element name="edge1" type="qual:edgeType" minOccurs="0" />
+			<element name="edge2" type="qual:edgeType" minOccurs="0" />
+			<element name="vertex1" type="gml:DirectPositionType"
+				minOccurs="0" />
+			<element name="vertex2" type="gml:DirectPositionType"
+				minOccurs="0" />
 		</sequence>
 	</complexType>
+	
+	<simpleType name="ringSelfIntType">
+		<restriction base="string">
+			<enumeration value="DUPLICATE_POINT"/>
+			<enumeration value="POINT_TOUCHES_EDGE"/>
+			<enumeration value="EDGE_INTERSECTS_EDGE"/>
+		</restriction>
+	</simpleType>
 
 	<complexType name="edgeType">
 		<sequence>
@@ -110,7 +125,8 @@
 		</sequence>
 	</complexType>
 
-	<complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION">
+	<complexType
+		name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION">
 		<sequence>
 			<element name="polygonId" type="string" />
 			<element name="deviation" type="gml:AngleType"></element>
@@ -153,14 +169,16 @@
 	<complexType name="GE_S_NON_MANIFOLD_EDGE">
 		<sequence>
 			<element name="geometryId" type="string" />
-			<element name="edge" type="qual:edgeType" maxOccurs="unbounded" />
+			<element name="edge" type="qual:edgeType"
+				maxOccurs="unbounded" />
 		</sequence>
 	</complexType>
 
 	<complexType name="GE_S_NOT_CLOSED">
 		<sequence>
 			<element name="geometryId" type="string" />
-			<element name="edge" type="qual:edgeType" maxOccurs="unbounded" />
+			<element name="edge" type="qual:edgeType"
+				maxOccurs="unbounded" />
 		</sequence>
 	</complexType>
 
@@ -173,7 +191,8 @@
 	<complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTS">
 		<sequence>
 			<element name="geometryId" type="string" />
-			<element name="components" type="qual:componentsType" maxOccurs="unbounded" />
+			<element name="components" type="qual:componentsType"
+				maxOccurs="unbounded" />
 		</sequence>
 	</complexType>
 
@@ -219,42 +238,68 @@
 			</documentation>
 		</annotation>
 		<sequence>
-			<element name="GE_R_TOO_FEW_POINTS" type="qual:GE_R_TOO_FEW_POINTS" minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_R_SELF_INTERSECTION" type="qual:GE_R_SELF_INTERSECTION" minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_R_NOT_CLOSED" type="qual:GE_R_NOT_CLOSED" minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_R_CONSECUTIVE_POINTS_SAME" type="qual:GE_R_CONSECUTIVE_POINTS_SAME" minOccurs="0"
+			<element name="GE_R_TOO_FEW_POINTS"
+				type="qual:GE_R_TOO_FEW_POINTS" minOccurs="0" maxOccurs="unbounded" />
+			<element name="GE_R_SELF_INTERSECTION"
+				type="qual:GE_R_SELF_INTERSECTION" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="GE_R_NOT_CLOSED" type="qual:GE_R_NOT_CLOSED"
+				minOccurs="0" maxOccurs="unbounded" />
+			<element name="GE_R_CONSECUTIVE_POINTS_SAME"
+				type="qual:GE_R_CONSECUTIVE_POINTS_SAME" minOccurs="0"
 				maxOccurs="unbounded" />
 
-			<element name="GE_P_INTERIOR_DISCONNECTED" type="qual:GE_P_INTERIOR_DISCONNECTED" minOccurs="0"
+			<element name="GE_P_INTERIOR_DISCONNECTED"
+				type="qual:GE_P_INTERIOR_DISCONNECTED" minOccurs="0"
 				maxOccurs="unbounded" />
-			<element name="GE_P_INTERSECTING_RINGS" type="qual:GE_P_INTERSECTING_RINGS" minOccurs="0"
+			<element name="GE_P_INTERSECTING_RINGS"
+				type="qual:GE_P_INTERSECTING_RINGS" minOccurs="0"
 				maxOccurs="unbounded" />
-			<element name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" type="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"
-				minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_P_INNER_RINGS_NESTED" type="qual:GE_P_INNER_RINGS_NESTED" minOccurs="0"
+			<element name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"
+				type="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="GE_P_INNER_RINGS_NESTED"
+				type="qual:GE_P_INNER_RINGS_NESTED" minOccurs="0"
 				maxOccurs="unbounded" />
-			<element name="GE_P_HOLE_OUTSIDE" type="qual:GE_P_HOLE_OUTSIDE" minOccurs="0" maxOccurs="unbounded" />
+			<element name="GE_P_HOLE_OUTSIDE"
+				type="qual:GE_P_HOLE_OUTSIDE" minOccurs="0" maxOccurs="unbounded" />
 			<element name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"
-				type="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_P_ORIENTATION_RINGS_SAME" type="qual:GE_P_ORIENTATION_RINGS_SAME" minOccurs="0"
+				type="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="GE_P_ORIENTATION_RINGS_SAME"
+				type="qual:GE_P_ORIENTATION_RINGS_SAME" minOccurs="0"
 				maxOccurs="unbounded" />
 
-			<element name="GE_S_ALL_POLYGONS_WRONG_ORIENTATION" type="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATION"
-				minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_S_POLYGON_WRONG_ORIENTATION" type="qual:GE_S_POLYGON_WRONG_ORIENTATION" minOccurs="0"
+			<element name="GE_S_ALL_POLYGONS_WRONG_ORIENTATION"
+				type="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATION" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="GE_S_POLYGON_WRONG_ORIENTATION"
+				type="qual:GE_S_POLYGON_WRONG_ORIENTATION" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="GE_S_SELF_INTERSECTION"
+				type="qual:GE_S_SELF_INTERSECTION" minOccurs="0"
 				maxOccurs="unbounded" />
-			<element name="GE_S_SELF_INTERSECTION" type="qual:GE_S_SELF_INTERSECTION" minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_S_NON_MANIFOLD_VERTEX" type="qual:GE_S_NON_MANIFOLD_VERTEX" minOccurs="0"
+			<element name="GE_S_NON_MANIFOLD_VERTEX"
+				type="qual:GE_S_NON_MANIFOLD_VERTEX" minOccurs="0"
 				maxOccurs="unbounded" />
-			<element name="GE_S_NON_MANIFOLD_EDGE" type="qual:GE_S_NON_MANIFOLD_EDGE" minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_S_NOT_CLOSED" type="qual:GE_S_NOT_CLOSED" minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_S_TOO_FEW_POLYGONS" type="qual:GE_S_TOO_FEW_POLYGONS" minOccurs="0" maxOccurs="unbounded" />
-			<element name="GE_S_MULTIPLE_CONNECTED_COMPONENTS" type="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTS"
+			<element name="GE_S_NON_MANIFOLD_EDGE"
+				type="qual:GE_S_NON_MANIFOLD_EDGE" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="GE_S_NOT_CLOSED" type="qual:GE_S_NOT_CLOSED"
 				minOccurs="0" maxOccurs="unbounded" />
+			<element name="GE_S_TOO_FEW_POLYGONS"
+				type="qual:GE_S_TOO_FEW_POLYGONS" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="GE_S_MULTIPLE_CONNECTED_COMPONENTS"
+				type="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTS" minOccurs="0"
+				maxOccurs="unbounded" />
 
-			<element name="SEM_ATTRIBUTE_WRONG_VALUE" type="qual:SEM_ATTRIBUTE_WRONG_VALUE" minOccurs="0"
+			<element name="SEM_ATTRIBUTE_WRONG_VALUE"
+				type="qual:SEM_ATTRIBUTE_WRONG_VALUE" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="SEM_ATTRIBUTE_MISSING"
+				type="qual:SEM_ATTRIBUTE_MISSING" minOccurs="0"
 				maxOccurs="unbounded" />
-			<element name="SEM_ATTRIBUTE_MISSING" type="qual:SEM_ATTRIBUTE_MISSING" minOccurs="0" maxOccurs="unbounded" />
 		</sequence>
 		<attribute name="result" type="qual:result" />
 	</complexType>
@@ -278,7 +323,8 @@
 			<enumeration value="R_GE_S_NOT_CLOSED" />
 			<enumeration value="R_GE_S_NON_MANIFOLD_EDGE" />
 			<enumeration value="R_GE_S_POLYGON_WRONG_ORIENTATION" />
-			<enumeration value="R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION" />
+			<enumeration
+				value="R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION" />
 			<enumeration value="R_GE_S_NON_MANIFOLD_VERTEX" />
 			<enumeration value="R_GE_S_SELF_INTERSECTION" />
 			<enumeration value="R_GE_S_MULTIPLE_CONNECTED_COMPONENTS" />
@@ -302,7 +348,8 @@
 			</documentation>
 		</annotation>
 		<sequence>
-			<element name="parameter" type="qual:parameter" minOccurs="0" maxOccurs="unbounded" />
+			<element name="parameter" type="qual:parameter" minOccurs="0"
+				maxOccurs="unbounded" />
 		</sequence>
 		<attribute name="name" type="qual:requirementID" />
 		<attribute name="enabled" type="boolean" />
@@ -315,15 +362,19 @@
 			</documentation>
 		</annotation>
 		<sequence>
-			<element name="globalParameters" type="qual:globalParameterType" />
-			<element name="requirement" type="qual:requirementType" maxOccurs="unbounded" />
-			<element name="filter" type="qual:filterType" minOccurs="1" maxOccurs="1" />
+			<element name="globalParameters"
+				type="qual:globalParameterType" />
+			<element name="requirement" type="qual:requirementType"
+				maxOccurs="unbounded" />
+			<element name="filter" type="qual:filterType" minOccurs="1"
+				maxOccurs="1" />
 		</sequence>
 	</complexType>
 
 	<complexType name="filterType">
 		<sequence>
-			<element name="checking" type="qual:featureType" minOccurs="0" maxOccurs="unbounded" />
+			<element name="checking" type="qual:featureType"
+				minOccurs="0" maxOccurs="unbounded" />
 		</sequence>
 	</complexType>
 
@@ -340,7 +391,8 @@
 
 	<complexType name="globalParameterType">
 		<sequence>
-			<element name="parameter" type="qual:parameter" maxOccurs="unbounded" />
+			<element name="parameter" type="qual:parameter"
+				maxOccurs="unbounded" />
 		</sequence>
 	</complexType>
 
@@ -351,19 +403,27 @@
 			</documentation>
 		</annotation>
 		<sequence>
-			<element name="numErrorBuildings" type="qual:featureStatistics" />
-			<element name="numErrorVegetation" type="qual:featureStatistics" />
-			<element name="numErrorLandObjects" type="qual:featureStatistics" />
-			<element name="numErrorBridgeObjects" type="qual:featureStatistics" />
-			<element name="numErrorWaterObjects" type="qual:featureStatistics" />
-			<element name="numErrorTransportation" type="qual:featureStatistics" />
-			<element name="errorStatistics" type="qual:errorStatisticsType" />
+			<element name="numErrorBuildings"
+				type="qual:featureStatistics" />
+			<element name="numErrorVegetation"
+				type="qual:featureStatistics" />
+			<element name="numErrorLandObjects"
+				type="qual:featureStatistics" />
+			<element name="numErrorBridgeObjects"
+				type="qual:featureStatistics" />
+			<element name="numErrorWaterObjects"
+				type="qual:featureStatistics" />
+			<element name="numErrorTransportation"
+				type="qual:featureStatistics" />
+			<element name="errorStatistics"
+				type="qual:errorStatisticsType" />
 		</sequence>
 	</complexType>
 
 	<complexType name="errorStatisticsType">
 		<sequence>
-			<element name="error" type="qual:errorType" minOccurs="0" maxOccurs="unbounded" />
+			<element name="error" type="qual:errorType" minOccurs="0"
+				maxOccurs="unbounded" />
 		</sequence>
 	</complexType>
 
@@ -422,8 +482,10 @@
 		<sequence>
 			<element name="validationDate" type="dateTime" />
 			<element name="validationSoftware" type="string" />
-			<element name="validationPlan" type="qual:validationPlanType" maxOccurs="1" />
-			<element name="statistics" type="qual:statisticsType" maxOccurs="1" />
+			<element name="validationPlan" type="qual:validationPlanType"
+				maxOccurs="1" />
+			<element name="statistics" type="qual:statisticsType"
+				maxOccurs="1" />
 		</sequence>
 		<!-- </extension> </complexContent> -->
 	</complexType>
-- 
GitLab