Commit 98b386d2 authored by Claus Nagel's avatar Claus Nagel
Browse files

updated citygml4j module to support QualityADE version 0.1.4

parent 6cf1abce
plugins {
id 'java-library'
}
group 'de.hft.stuttgart'
version '0.1.4'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
compileJava {
options.release = 8
}
sourceSets {
main.java.srcDir 'src-gen/main/java'
}
}
repositories {
mavenCentral()
}
dependencies {
api 'org.citygml4j:citygml4j:2.11.4'
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
test {
useJUnitPlatform()
}
\ No newline at end of file
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.hft.stuttgart</groupId>
<artifactId>citygml4j-quality-ade</artifactId>
<version>0.1.3</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.citygml4j/citygml4j -->
<dependency>
<groupId>org.citygml4j</groupId>
<artifactId>citygml4j</artifactId>
<version>2.10.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
How to use
==========
1. Download the ade-xjc tool from here: https://github.com/citygml4j/ade-xjc/releases
2. Unzip the contents of the ade-xjc download package to your local disk.
3. Copy the contents of this folder to a new subfolder within the directory where you unzipped the
ade-xjc tool. Afterwards, run the "run_ade-xjc" start script to create citygml4j classes from the
the Quality ADE XML Schema file.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings version="2.1" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix">
<jaxb:bindings schemaLocation="qualityAde.xsd" node="/xs:schema">
<jaxb:schemaBindings>
<jaxb:package name="de.hft.stuttgart.quality.model.jaxb"/>
</jaxb:schemaBindings>
<jaxb:bindings>
<namespace:prefix name="qual"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='validationResult']">
<jaxb:factoryMethod name="ValidationResultProperty"/>
</jaxb:bindings>
<!-- use more readable names for error types -->
<jaxb:bindings node="xs:element[@name='GE_P_HOLE_OUTSIDE']">
<jaxb:factoryMethod name="PolygonHoleOutside"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_HOLE_OUTSIDEType']">
<jaxb:class name="PolygonHoleOutsideType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_HOLE_OUTSIDEPropertyType']">
<jaxb:class name="PolygonHoleOutsidePropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_P_INNER_RINGS_NESTED']">
<jaxb:factoryMethod name="PolygonInnerRingsNested"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_INNER_RINGS_NESTEDType']">
<jaxb:class name="PolygonInnerRingsNestedType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_INNER_RINGS_NESTEDPropertyType']">
<jaxb:class name="PolygonInnerRingsNestedPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_P_INTERIOR_DISCONNECTED']">
<jaxb:factoryMethod name="PolygonInteriorDisconnected"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_INTERIOR_DISCONNECTEDType']">
<jaxb:class name="PolygonInteriorDisconnectedType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_INTERIOR_DISCONNECTEDPropertyType']">
<jaxb:class name="PolygonInteriorDisconnectedPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_P_INTERSECTING_RINGS']">
<jaxb:factoryMethod name="PolygonIntersectingRings"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_INTERSECTING_RINGSType']">
<jaxb:class name="PolygonIntersectingRingsType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_INTERSECTING_RINGSPropertyType']">
<jaxb:class name="PolygonIntersectingRingsPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE']">
<jaxb:factoryMethod name="PolygonNonPlanarDistancePlane"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType']">
<jaxb:class name="PolygonNonPlanarDistancePlaneType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEPropertyType']">
<jaxb:class name="PolygonNonPlanarDistancePlanePropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION']">
<jaxb:factoryMethod name="PolygonNonPlanarNormalsDeviation"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType']">
<jaxb:class name="PolygonNonPlanarNormalsDeviationType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONPropertyType']">
<jaxb:class name="PolygonNonPlanarNormalsDeviationPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_P_ORIENTATION_RINGS_SAME']">
<jaxb:factoryMethod name="PolygonOrientationRingsSame"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_ORIENTATION_RINGS_SAMEType']">
<jaxb:class name="PolygonOrientationRingsSameType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_P_ORIENTATION_RINGS_SAMEPropertyType']">
<jaxb:class name="PolygonOrientationRingsSamePropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_R_CONSECUTIVE_POINTS_SAME']">
<jaxb:factoryMethod name="RingConsecutivePointsSame"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_R_CONSECUTIVE_POINTS_SAMEType']">
<jaxb:class name="RingConsecutivePointsSameType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_R_CONSECUTIVE_POINTS_SAMEPropertyType']">
<jaxb:class name="RingConsecutivePointsSamePropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_R_NOT_CLOSED']">
<jaxb:factoryMethod name="RingNotClosed"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_R_NOT_CLOSEDType']">
<jaxb:class name="RingNotClosedType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_R_NOT_CLOSEDPropertyType']">
<jaxb:class name="RingNotClosedPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_R_SELF_INTERSECTION']">
<jaxb:factoryMethod name="RingSelfIntersection"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_R_SELF_INTERSECTIONType']">
<jaxb:class name="RingSelfIntersectionType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_R_SELF_INTERSECTIONPropertyType']">
<jaxb:class name="RingSelfIntersectionPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_R_TOO_FEW_POINTS']">
<jaxb:factoryMethod name="RingTooFewPoints"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_R_TOO_FEW_POINTSType']">
<jaxb:class name="RingTooFewPointsType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_R_TOO_FEW_POINTSPropertyType']">
<jaxb:class name="RingTooFewPointsPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_S_ALL_POLYGONS_WRONG_ORIENTATION']">
<jaxb:factoryMethod name="SolidAllPolygonsWrongOrientation"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType']">
<jaxb:class name="SolidAllPolygonsWrongOrientationType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_ALL_POLYGONS_WRONG_ORIENTATIONPropertyType']">
<jaxb:class name="SolidAllPolygonsWrongOrientationPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_S_MULTIPLE_CONNECTED_COMPONENTS']">
<jaxb:factoryMethod name="SolidMultipleConnectedComponents"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_MULTIPLE_CONNECTED_COMPONENTSType']">
<jaxb:class name="SolidMultipleConnectedComponentsType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_MULTIPLE_CONNECTED_COMPONENTSPropertyType']">
<jaxb:class name="SolidMultipleConnectedComponentsPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_S_NON_MANIFOLD_EDGE']">
<jaxb:factoryMethod name="SolidNonManifoldEdge"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_NON_MANIFOLD_EDGEType']">
<jaxb:class name="SolidNonManifoldEdgeType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_NON_MANIFOLD_EDGEPropertyType']">
<jaxb:class name="SolidNonManifoldEdgePropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_S_NON_MANIFOLD_VERTEX']">
<jaxb:factoryMethod name="SolidNonManifoldVertex"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_NON_MANIFOLD_VERTEXType']">
<jaxb:class name="SolidNonManifoldVertexType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_NON_MANIFOLD_VERTEXPropertyType']">
<jaxb:class name="SolidNonManifoldVertexPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_S_NOT_CLOSED']">
<jaxb:factoryMethod name="SolidNotClosed"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_NOT_CLOSEDType']">
<jaxb:class name="SolidNotClosedType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_NOT_CLOSEDPropertyType']">
<jaxb:class name="SolidNotClosedPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_S_POLYGON_WRONG_ORIENTATION']">
<jaxb:factoryMethod name="SolidPolygonWrongOrientation"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_POLYGON_WRONG_ORIENTATIONType']">
<jaxb:class name="SolidPolygonWrongOrientationType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_POLYGON_WRONG_ORIENTATIONPropertyType']">
<jaxb:class name="SolidPolygonWrongOrientationPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_S_SELF_INTERSECTION']">
<jaxb:factoryMethod name="SolidSelfIntersection"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_SELF_INTERSECTIONType']">
<jaxb:class name="SolidSelfIntersectionType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_SELF_INTERSECTIONPropertyType']">
<jaxb:class name="SolidSelfIntersectionPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='GE_S_TOO_FEW_POLYGONS']">
<jaxb:factoryMethod name="SolidTooFewPolygons"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_TOO_FEW_POLYGONSType']">
<jaxb:class name="SolidTooFewPolygonsType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='GE_S_TOO_FEW_POLYGONSPropertyType']">
<jaxb:class name="SolidTooFewPolygonsPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='SEM_ATTRIBUTE_MISSING']">
<jaxb:factoryMethod name="SemanticAttributeMissing"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='SEM_ATTRIBUTE_MISSINGType']">
<jaxb:class name="SemanticAttributeMissingType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='SEM_ATTRIBUTE_MISSINGPropertyType']">
<jaxb:class name="SemanticAttributeMissingPropertyType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:element[@name='SEM_ATTRIBUTE_WRONG_VALUE']">
<jaxb:factoryMethod name="SemanticAttributeWrongValue"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='SEM_ATTRIBUTE_WRONG_VALUEType']">
<jaxb:class name="SemanticAttributeWrongValueType"/>
</jaxb:bindings>
<jaxb:bindings node="xs:complexType[@name='SEM_ATTRIBUTE_WRONG_VALUEPropertyType']">
<jaxb:class name="SemanticAttributeWrongValuePropertyType"/>
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:bldg="http://www.opengis.net/citygml/building/2.0" xmlns:core="http://www.opengis.net/citygml/2.0" xmlns:gml="http://www.opengis.net/gml" xmlns:qual="https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4" elementFormDefault="qualified" targetNamespace="https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4" version="0.1.4">
<import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="../schemas/citygml/2.0.0/cityGMLBase.xsd"/>
<import namespace="http://www.opengis.net/citygml/building/2.0" schemaLocation="../schemas/citygml/2.0.0/building.xsd"/>
<import namespace="http://www.opengis.net/gml" schemaLocation="../schemas/gml/3.1.1/base/gml.xsd"/>
<!--XML Schema document created by ShapeChange - http://shapechange.net/-->
<element abstract="true" name="AbstractError" substitutionGroup="gml:_Object" type="qual:AbstractErrorType"/>
<complexType abstract="true" name="AbstractErrorType">
<sequence/>
</complexType>
<complexType name="AbstractErrorPropertyType">
<sequence>
<element ref="qual:AbstractError"/>
</sequence>
</complexType>
<element abstract="true" name="AbstractGeometryError" substitutionGroup="qual:AbstractError" type="qual:AbstractGeometryErrorType"/>
<complexType abstract="true" name="AbstractGeometryErrorType">
<complexContent>
<extension base="qual:AbstractErrorType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractGeometryErrorPropertyType">
<sequence>
<element ref="qual:AbstractGeometryError"/>
</sequence>
</complexType>
<element abstract="true" name="AbstractPolygonError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractPolygonErrorType"/>
<complexType abstract="true" name="AbstractPolygonErrorType">
<complexContent>
<extension base="qual:AbstractGeometryErrorType">
<sequence>
<element name="polygonId" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractPolygonErrorPropertyType">
<sequence>
<element ref="qual:AbstractPolygonError"/>
</sequence>
</complexType>
<element abstract="true" name="AbstractRingError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractRingErrorType"/>
<complexType abstract="true" name="AbstractRingErrorType">
<complexContent>
<extension base="qual:AbstractGeometryErrorType">
<sequence>
<element name="linearRingId" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractRingErrorPropertyType">
<sequence>
<element ref="qual:AbstractRingError"/>
</sequence>
</complexType>
<element abstract="true" name="AbstractSemanticError" substitutionGroup="qual:AbstractError" type="qual:AbstractSemanticErrorType"/>
<complexType abstract="true" name="AbstractSemanticErrorType">
<complexContent>
<extension base="qual:AbstractErrorType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractSemanticErrorPropertyType">
<sequence>
<element ref="qual:AbstractSemanticError"/>
</sequence>
</complexType>
<element abstract="true" name="AbstractSolidError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractSolidErrorType"/>
<complexType abstract="true" name="AbstractSolidErrorType">
<complexContent>
<extension base="qual:AbstractGeometryErrorType">
<sequence>
<element name="geometryId" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractSolidErrorPropertyType">
<sequence>
<element ref="qual:AbstractSolidError"/>
</sequence>
</complexType>
<element name="Checking" substitutionGroup="gml:_Object" type="qual:CheckingType"/>
<complexType name="CheckingType">
<sequence>
<element name="featureType" type="qual:FeatureTypeType"/>
</sequence>
</complexType>
<complexType name="CheckingPropertyType">
<sequence>
<element ref="qual:Checking"/>
</sequence>
</complexType>
<element name="ComponentList" substitutionGroup="gml:_Object" type="qual:ComponentListType"/>
<complexType name="ComponentListType">
<sequence>
<element maxOccurs="unbounded" name="component" type="qual:PolygonIdListPropertyType"/>
</sequence>
</complexType>
<complexType name="ComponentListPropertyType">
<sequence>
<element ref="qual:ComponentList"/>
</sequence>
</complexType>
<element name="Edge" substitutionGroup="gml:_Object" type="qual:EdgeType"/>
<complexType name="EdgeType">
<sequence>
<element name="from" type="gml:DirectPositionType"/>
<element name="to" type="gml:DirectPositionType"/>
</sequence>
</complexType>
<complexType name="EdgePropertyType">
<sequence>
<element ref="qual:Edge"/>
</sequence>
</complexType>
<element name="EdgeList" substitutionGroup="gml:_Object" type="qual:EdgeListType"/>
<complexType name="EdgeListType">
<sequence>
<element maxOccurs="unbounded" name="edge" type="qual:EdgePropertyType"/>
</sequence>
</complexType>
<complexType name="EdgeListPropertyType">
<sequence>
<element ref="qual:EdgeList"/>
</sequence>
</complexType>
<element name="Error" substitutionGroup="gml:_Object" type="qual:ErrorType"/>
<complexType name="ErrorType">
<sequence>
<element name="name" type="qual:ErrorTypeType"/>
</sequence>
</complexType>
<complexType name="ErrorPropertyType">
<sequence>
<element ref="qual:Error"/>
</sequence>
</complexType>
<element name="ErrorStatistics" substitutionGroup="gml:_Object" type="qual:ErrorStatisticsType"/>
<complexType name="ErrorStatisticsType">
<sequence>
<element name="occurrences" type="integer"/>
<element maxOccurs="unbounded" minOccurs="0" name="error" type="qual:ErrorPropertyType"/>
</sequence>
</complexType>
<complexType name="ErrorStatisticsPropertyType">
<sequence>
<element ref="qual:ErrorStatistics"/>
</sequence>
</complexType>
<simpleType name="ErrorTypeType">
<restriction base="string">
<enumeration value="GE_R_TOO_FEW_POINTS"/>
<enumeration value="GE_R_NOT_CLOSED"/>
<enumeration value="GE_R_CONSECUTIVE_POINTS_SAME"/>
<enumeration value="GE_R_SELF_INTERSECTION"/>
<enumeration value="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"/>
<enumeration value="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"/>
<enumeration value="GE_P_INTERIOR_DISCONNECTED"/>
<enumeration value="GE_P_INTERSECTING_RINGS"/>
<enumeration value="GE_P_HOLE_OUTSIDE"/>
<enumeration value="GE_P_ORIENTATION_RINGS_SAME"/>
<enumeration value="GE_P_INNER_RINGS_NESTED"/>
<enumeration value="GE_S_TOO_FEW_POLYGONS"/>
<enumeration value="GE_S_NOT_CLOSED"/>
<enumeration value="GE_S_NON_MANIFOLD_EDGE"/>
<enumeration value="GE_S_POLYGON_WRONG_ORIENTATION"/>
<enumeration value="GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/>
<enumeration value="GE_S_NON_MANIFOLD_VERTEX"/>
<enumeration value="GE_S_SELF_INTERSECTION"/>
<enumeration value="GE_S_MULTIPLE_CONNECTED_COMPONENTS"/>
<enumeration value="SE_ATTRIBUTE_WRONG_VALUE"/>
<enumeration value="SE_ATTRIBUTE_MISSING"/>
</restriction>
</simpleType>
<element name="FeatureStatistics" substitutionGroup="gml:_Object" type="qual:FeatureStatisticsType"/>
<complexType name="FeatureStatisticsType">
<sequence>
<element name="numChecked" type="integer"/>
<element name="numErrors" type="integer"/>
</sequence>
</complexType>
<complexType name="FeatureStatisticsPropertyType">
<sequence>
<element ref="qual:FeatureStatistics"/>
</sequence>
</complexType>
<simpleType name="FeatureTypeType">
<restriction base="string">
<enumeration value="BUILDING"/>
<enumeration value="TRANSPORTATION"/>
<enumeration value="VEGETATION"/>
<enumeration value="BRIDGE"/>
<enumeration value="WATER"/>
<enumeration value="LAND"/>
</restriction>
</simpleType>
<element name="Filter" substitutionGroup="gml:_Object" type="qual:FilterType"/>
<complexType name="FilterType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="checking" type="qual:CheckingPropertyType"/>
</sequence>
</complexType>
<complexType name="FilterPropertyType">
<sequence>
<element ref="qual:Filter"/>
</sequence>
</complexType>
<element name="GE_P_HOLE_OUTSIDE" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_HOLE_OUTSIDEType"/>
<complexType name="GE_P_HOLE_OUTSIDEType">
<complexContent>
<extension base="qual:AbstractPolygonErrorType">
<sequence>
<element name="linearRingId" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_P_HOLE_OUTSIDEPropertyType">
<sequence>
<element ref="qual:GE_P_HOLE_OUTSIDE"/>
</sequence>
</complexType>
<element name="GE_P_INNER_RINGS_NESTED" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INNER_RINGS_NESTEDType"/>
<complexType name="GE_P_INNER_RINGS_NESTEDType">
<complexContent>
<extension base="qual:AbstractPolygonErrorType">
<sequence>
<element name="linearRingId1" type="string"/>
<element name="linearRingId2" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_P_INNER_RINGS_NESTEDPropertyType">
<sequence>
<element ref="qual:GE_P_INNER_RINGS_NESTED"/>
</sequence>
</complexType>
<element name="GE_P_INTERIOR_DISCONNECTED" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INTERIOR_DISCONNECTEDType"/>
<complexType name="GE_P_INTERIOR_DISCONNECTEDType">
<complexContent>
<extension base="qual:AbstractPolygonErrorType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="GE_P_INTERIOR_DISCONNECTEDPropertyType">
<sequence>
<element ref="qual:GE_P_INTERIOR_DISCONNECTED"/>
</sequence>
</complexType>
<element name="GE_P_INTERSECTING_RINGS" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INTERSECTING_RINGSType"/>
<complexType name="GE_P_INTERSECTING_RINGSType">
<complexContent>
<extension base="qual:AbstractPolygonErrorType">
<sequence>
<element name="linearRingId1" type="string"/>
<element name="linearRingId2" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_P_INTERSECTING_RINGSPropertyType">
<sequence>
<element ref="qual:GE_P_INTERSECTING_RINGS"/>
</sequence>
</complexType>
<element name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType"/>
<complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType">
<complexContent>
<extension base="qual:AbstractPolygonErrorType">
<sequence>
<element name="distance" type="gml:LengthType"/>
<element name="vertex" type="gml:DirectPositionType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEPropertyType">
<sequence>
<element ref="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"/>
</sequence>
</complexType>
<element name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType"/>
<complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType">
<complexContent>
<extension base="qual:AbstractPolygonErrorType">
<sequence>
<element name="deviation" type="gml:AngleType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONPropertyType">
<sequence>
<element ref="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"/>
</sequence>
</complexType>
<element name="GE_P_ORIENTATION_RINGS_SAME" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_ORIENTATION_RINGS_SAMEType"/>
<complexType name="GE_P_ORIENTATION_RINGS_SAMEType">
<complexContent>
<extension base="qual:AbstractPolygonErrorType">
<sequence>
<element name="linearRingId" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_P_ORIENTATION_RINGS_SAMEPropertyType">
<sequence>
<element ref="qual:GE_P_ORIENTATION_RINGS_SAME"/>
</sequence>
</complexType>
<element name="GE_R_CONSECUTIVE_POINTS_SAME" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_CONSECUTIVE_POINTS_SAMEType"/>
<complexType name="GE_R_CONSECUTIVE_POINTS_SAMEType">
<complexContent>
<extension base="qual:AbstractRingErrorType">
<sequence>
<element name="vertex1" type="gml:DirectPositionType"/>
<element name="vertex2" type="gml:DirectPositionType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_R_CONSECUTIVE_POINTS_SAMEPropertyType">
<sequence>
<element ref="qual:GE_R_CONSECUTIVE_POINTS_SAME"/>
</sequence>
</complexType>
<element name="GE_R_NOT_CLOSED" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_NOT_CLOSEDType"/>
<complexType name="GE_R_NOT_CLOSEDType">
<complexContent>
<extension base="qual:AbstractRingErrorType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="GE_R_NOT_CLOSEDPropertyType">
<sequence>
<element ref="qual:GE_R_NOT_CLOSED"/>
</sequence>
</complexType>
<element name="GE_R_SELF_INTERSECTION" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_SELF_INTERSECTIONType"/>
<complexType name="GE_R_SELF_INTERSECTIONType">
<complexContent>
<extension base="qual:AbstractRingErrorType">
<sequence>
<element name="type" type="string"/>
<element name="edge1" type="qual:EdgePropertyType"/>
<element name="edge2" type="qual:EdgePropertyType"/>
<element name="vertex" type="gml:DirectPositionType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_R_SELF_INTERSECTIONPropertyType">
<sequence>
<element ref="qual:GE_R_SELF_INTERSECTION"/>
</sequence>
</complexType>
<element name="GE_R_TOO_FEW_POINTS" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_TOO_FEW_POINTSType"/>
<complexType name="GE_R_TOO_FEW_POINTSType">
<complexContent>
<extension base="qual:AbstractRingErrorType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="GE_R_TOO_FEW_POINTSPropertyType">
<sequence>
<element ref="qual:GE_R_TOO_FEW_POINTS"/>
</sequence>
</complexType>
<element name="GE_S_ALL_POLYGONS_WRONG_ORIENTATION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType"/>
<complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType">
<complexContent>
<extension base="qual:AbstractSolidErrorType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATIONPropertyType">
<sequence>
<element ref="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/>
</sequence>
</complexType>
<element name="GE_S_MULTIPLE_CONNECTED_COMPONENTS" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTSType"/>
<complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTSType">
<complexContent>
<extension base="qual:AbstractSolidErrorType">
<sequence>
<element maxOccurs="unbounded" name="components" type="qual:ComponentListPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTSPropertyType">
<sequence>
<element ref="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTS"/>
</sequence>
</complexType>
<element name="GE_S_NON_MANIFOLD_EDGE" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NON_MANIFOLD_EDGEType"/>
<complexType name="GE_S_NON_MANIFOLD_EDGEType">
<complexContent>
<extension base="qual:AbstractSolidErrorType">
<sequence>
<element name="edges" type="qual:EdgeListPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_S_NON_MANIFOLD_EDGEPropertyType">
<sequence>
<element ref="qual:GE_S_NON_MANIFOLD_EDGE"/>
</sequence>
</complexType>
<element name="GE_S_NON_MANIFOLD_VERTEX" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NON_MANIFOLD_VERTEXType"/>
<complexType name="GE_S_NON_MANIFOLD_VERTEXType">
<complexContent>
<extension base="qual:AbstractSolidErrorType">
<sequence>
<element name="vertex" type="gml:DirectPositionType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_S_NON_MANIFOLD_VERTEXPropertyType">
<sequence>
<element ref="qual:GE_S_NON_MANIFOLD_VERTEX"/>
</sequence>
</complexType>
<element name="GE_S_NOT_CLOSED" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NOT_CLOSEDType"/>
<complexType name="GE_S_NOT_CLOSEDType">
<complexContent>
<extension base="qual:AbstractSolidErrorType">
<sequence>
<element name="edges" type="qual:EdgeListPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_S_NOT_CLOSEDPropertyType">
<sequence>
<element ref="qual:GE_S_NOT_CLOSED"/>
</sequence>
</complexType>
<element name="GE_S_POLYGON_WRONG_ORIENTATION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_POLYGON_WRONG_ORIENTATIONType"/>
<complexType name="GE_S_POLYGON_WRONG_ORIENTATIONType">
<complexContent>
<extension base="qual:AbstractSolidErrorType">
<sequence>
<element name="edges" type="qual:EdgeListPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_S_POLYGON_WRONG_ORIENTATIONPropertyType">
<sequence>
<element ref="qual:GE_S_POLYGON_WRONG_ORIENTATION"/>
</sequence>
</complexType>
<element name="GE_S_SELF_INTERSECTION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_SELF_INTERSECTIONType"/>
<complexType name="GE_S_SELF_INTERSECTIONType">
<complexContent>
<extension base="qual:AbstractSolidErrorType">
<sequence>
<element name="polygonId1" type="string"/>
<element name="polygonId2" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GE_S_SELF_INTERSECTIONPropertyType">
<sequence>
<element ref="qual:GE_S_SELF_INTERSECTION"/>
</sequence>
</complexType>
<element name="GE_S_TOO_FEW_POLYGONS" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_TOO_FEW_POLYGONSType"/>
<complexType name="GE_S_TOO_FEW_POLYGONSType">
<complexContent>
<extension base="qual:AbstractSolidErrorType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="GE_S_TOO_FEW_POLYGONSPropertyType">
<sequence>
<element ref="qual:GE_S_TOO_FEW_POLYGONS"/>
</sequence>
</complexType>
<element name="GlobalParameters" substitutionGroup="gml:_Object" type="qual:GlobalParametersType"/>
<complexType name="GlobalParametersType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="parameter" type="qual:ParameterPropertyType"/>
</sequence>
</complexType>
<complexType name="GlobalParametersPropertyType">
<sequence>
<element ref="qual:GlobalParameters"/>
</sequence>
</complexType>
<element name="Parameter" substitutionGroup="gml:_Object" type="qual:ParameterType"/>
<complexType name="ParameterType">
<sequence>
<element name="name" type="string"/>
<element name="uom" type="string"/>
<element name="value" type="string"/>
</sequence>
</complexType>
<complexType name="ParameterPropertyType">
<sequence>
<element ref="qual:Parameter"/>
</sequence>
</complexType>
<element name="PolygonIdList" substitutionGroup="gml:_Object" type="qual:PolygonIdListType"/>
<complexType name="PolygonIdListType">
<sequence>
<element name="polygonId" type="string"/>
</sequence>
</complexType>
<complexType name="PolygonIdListPropertyType">
<sequence>
<element ref="qual:PolygonIdList"/>
</sequence>
</complexType>
<element name="Requirement" substitutionGroup="gml:_Object" type="qual:RequirementType"/>
<complexType name="RequirementType">
<sequence>
<element name="enabled" type="boolean"/>
<element name="requirementType" type="qual:RequirementTypeType"/>
<element maxOccurs="unbounded" minOccurs="0" name="parameter" type="qual:ParameterPropertyType"/>
</sequence>
</complexType>
<complexType name="RequirementPropertyType">
<sequence>
<element ref="qual:Requirement"/>
</sequence>
</complexType>
<simpleType name="RequirementTypeType">
<restriction base="string">
<enumeration value="R_GE_R_TOO_FEW_POINTS"/>
<enumeration value="R_GE_R_NOT_CLOSED"/>
<enumeration value="R_GE_R_CONSECUTIVE_POINTS_SAME"/>
<enumeration value="R_GE_R_SELF_INTERSECTION"/>
<enumeration value="R_GE_P_NON_PLANAR"/>
<enumeration value="R_GE_P_INTERIOR_DISCONNECTED"/>
<enumeration value="R_GE_P_INTERSECTING_RINGS"/>
<enumeration value="R_GE_P_HOLE_OUTSIDE"/>
<enumeration value="R_GE_P_ORIENTATION_RINGS_SAME"/>
<enumeration value="R_GE_P_INNER_RINGS_NESTED"/>
<enumeration value="R_GE_S_TOO_FEW_POLYGONS"/>
<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_NON_MANIFOLD_VERTEX"/>
<enumeration value="R_GE_S_SELF_INTERSECTION"/>
<enumeration value="R_GE_S_MULTIPLE_CONNECTED_COMPONENTS"/>
<enumeration value="R_SE_ATTRIBUTES_EXISTING"/>
<enumeration value="R_SE_ATTRIBUTES_CORRECT"/>
</restriction>
</simpleType>
<simpleType name="ResultTypeType">
<restriction base="string">
<enumeration value="OK"/>
<enumeration value="ERROR"/>
<enumeration value="NOT_CHECKED"/>
</restriction>
</simpleType>
<element name="SEM_ATTRIBUTE_MISSING" substitutionGroup="qual:AbstractSemanticError" type="qual:SEM_ATTRIBUTE_MISSINGType"/>
<complexType name="SEM_ATTRIBUTE_MISSINGType">
<complexContent>
<extension base="qual:AbstractSemanticErrorType">
<sequence>
<element name="childId" type="string"/>
<element name="attributeName" type="string"/>
<element name="generic" type="boolean"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="SEM_ATTRIBUTE_MISSINGPropertyType">
<sequence>
<element ref="qual:SEM_ATTRIBUTE_MISSING"/>
</sequence>
</complexType>
<element name="SEM_ATTRIBUTE_WRONG_VALUE" substitutionGroup="qual:AbstractSemanticError" type="qual:SEM_ATTRIBUTE_WRONG_VALUEType"/>
<complexType name="SEM_ATTRIBUTE_WRONG_VALUEType">
<complexContent>
<extension base="qual:AbstractSemanticErrorType">
<sequence>
<element name="childId" type="string"/>
<element name="attributeName" type="string"/>
<element name="generic" type="boolean"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="SEM_ATTRIBUTE_WRONG_VALUEPropertyType">
<sequence>
<element ref="qual:SEM_ATTRIBUTE_WRONG_VALUE"/>
</sequence>
</complexType>
<element name="Statistics" substitutionGroup="gml:_Object" type="qual:StatisticsType"/>
<complexType name="StatisticsType">
<sequence>
<element name="numErrorBuildings" type="qual:FeatureStatisticsPropertyType"/>
<element name="numErrorVegetation" type="qual:FeatureStatisticsPropertyType"/>
<element name="numErrorLandObjects" type="qual:FeatureStatisticsPropertyType"/>
<element name="numErrorBridgeObjects" type="qual:FeatureStatisticsPropertyType"/>
<element name="numErrorWaterObjects" type="qual:FeatureStatisticsPropertyType"/>
<element name="numErrorTransportation" type="qual:FeatureStatisticsPropertyType"/>
<element name="errorStatistics" type="qual:ErrorStatisticsPropertyType"/>
</sequence>
</complexType>
<complexType name="StatisticsPropertyType">
<sequence>
<element ref="qual:Statistics"/>
</sequence>
</complexType>
<element name="Validation" substitutionGroup="gml:_Feature" type="qual:ValidationType"/>
<complexType name="ValidationType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element name="validationDate" type="dateTime"/>
<element name="validationSoftware" type="string"/>
<element minOccurs="0" name="statistics" type="qual:StatisticsPropertyType"/>
<element name="validationPlan" type="qual:ValidationPlanPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ValidationPropertyType">
<sequence minOccurs="0">
<element ref="qual:Validation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="ValidationPlan" substitutionGroup="gml:_Object" type="qual:ValidationPlanType"/>
<complexType name="ValidationPlanType">
<sequence>
<element name="globalParameters" type="qual:GlobalParametersPropertyType"/>
<element name="filter" type="qual:FilterPropertyType"/>
<element name="requirement" type="qual:RequirementPropertyType"/>
</sequence>
</complexType>
<complexType name="ValidationPlanPropertyType">
<sequence>
<element ref="qual:ValidationPlan"/>
</sequence>
</complexType>
<element name="ValidationResult" substitutionGroup="gml:_Object" type="qual:ValidationResultType"/>
<complexType name="ValidationResultType">
<sequence>
<element name="validationPlanID" type="qual:ValidationPropertyType"/>
<element maxOccurs="unbounded" minOccurs="0" name="error" type="qual:AbstractErrorPropertyType"/>
<element name="resultType" type="qual:ResultTypeType"/>
</sequence>
</complexType>
<complexType name="ValidationResultPropertyType">
<sequence>
<element ref="qual:ValidationResult"/>
</sequence>
</complexType>
<element name="validationResult" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="qual:ValidationResultPropertyType"/>
</schema>
#!/usr/bin/env sh
#######################################################
##
## UN*X start script for converting the Quality ADE
##
#######################################################
OUTPUT="src-gen"
BINDING="binding.xjb"
SCHEMA="qualityAde.xsd"
PLUGINS="-Xnamespace-prefix"
exec ../ade-xjc $PLUGINS -clean -output $OUTPUT -binding $BINDING $SCHEMA
\ No newline at end of file
@if "%DEBUG%" == "" @echo off
@rem #######################################################
@rem
@rem Windows start script for converting the Quality ADE
@rem
@rem #######################################################
set OUTPUT="src-gen"
set BINDING="binding.xjb"
set SCHEMA="qualityADE.xsd"
set PLUGINS="-Xnamespace-prefix"
call ..\ade-xjc.bat %PLUGINS% -clean -output %OUTPUT% -binding %BINDING% %SCHEMA%
\ No newline at end of file
rootProject.name = 'citygml4j-quality-ade'
\ No newline at end of file
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractErrorPropertyType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractErrorPropertyType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractError"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractErrorPropertyType", propOrder = {
"abstractError"
})
public class AbstractErrorPropertyType {
@XmlElementRef(name = "AbstractError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class)
protected JAXBElement<? extends AbstractErrorType> abstractError;
/**
* Ruft den Wert der abstractError-Eigenschaft ab.
*
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >}
* {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >}
* {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractErrorType }{@code >}
*
*/
public JAXBElement<? extends AbstractErrorType> getAbstractError() {
return abstractError;
}
/**
* Legt den Wert der abstractError-Eigenschaft fest.
*
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >}
* {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >}
* {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractErrorType }{@code >}
*
*/
public void setAbstractError(JAXBElement<? extends AbstractErrorType> value) {
this.abstractError = value;
}
public boolean isSetAbstractError() {
return (this.abstractError!= null);
}
}
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractErrorType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractErrorType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractErrorType")
@XmlSeeAlso({
AbstractGeometryErrorType.class,
AbstractSemanticErrorType.class
})
public abstract class AbstractErrorType {
}
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractGeometryErrorPropertyType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractGeometryErrorPropertyType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractGeometryError"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractGeometryErrorPropertyType", propOrder = {
"abstractGeometryError"
})
public class AbstractGeometryErrorPropertyType {
@XmlElementRef(name = "AbstractGeometryError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class)
protected JAXBElement<? extends AbstractGeometryErrorType> abstractGeometryError;
/**
* Ruft den Wert der abstractGeometryError-Eigenschaft ab.
*
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >}
* {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >}
*
*/
public JAXBElement<? extends AbstractGeometryErrorType> getAbstractGeometryError() {
return abstractGeometryError;
}
/**
* Legt den Wert der abstractGeometryError-Eigenschaft fest.
*
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >}
* {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >}
*
*/
public void setAbstractGeometryError(JAXBElement<? extends AbstractGeometryErrorType> value) {
this.abstractGeometryError = value;
}
public boolean isSetAbstractGeometryError() {
return (this.abstractGeometryError!= null);
}
}
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractGeometryErrorType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractGeometryErrorType"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractErrorType"&gt;
* &lt;sequence&gt;
* &lt;/sequence&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractGeometryErrorType")
@XmlSeeAlso({
AbstractPolygonErrorType.class,
AbstractRingErrorType.class,
AbstractSolidErrorType.class
})
public abstract class AbstractGeometryErrorType
extends AbstractErrorType
{
}
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractPolygonErrorPropertyType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractPolygonErrorPropertyType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonError"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractPolygonErrorPropertyType", propOrder = {
"abstractPolygonError"
})
public class AbstractPolygonErrorPropertyType {
@XmlElementRef(name = "AbstractPolygonError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class)
protected JAXBElement<? extends AbstractPolygonErrorType> abstractPolygonError;
/**
* Ruft den Wert der abstractPolygonError-Eigenschaft ab.
*
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >}
*
*/
public JAXBElement<? extends AbstractPolygonErrorType> getAbstractPolygonError() {
return abstractPolygonError;
}
/**
* Legt den Wert der abstractPolygonError-Eigenschaft fest.
*
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >}
*
*/
public void setAbstractPolygonError(JAXBElement<? extends AbstractPolygonErrorType> value) {
this.abstractPolygonError = value;
}
public boolean isSetAbstractPolygonError() {
return (this.abstractPolygonError!= null);
}
}
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractPolygonErrorType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractPolygonErrorType"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractGeometryErrorType"&gt;
* &lt;sequence&gt;
* &lt;element name="polygonId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
* &lt;/sequence&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractPolygonErrorType", propOrder = {
"polygonId"
})
@XmlSeeAlso({
PolygonHoleOutsideType.class,
PolygonInnerRingsNestedType.class,
PolygonInteriorDisconnectedType.class,
PolygonIntersectingRingsType.class,
PolygonNonPlanarDistancePlaneType.class,
PolygonNonPlanarNormalsDeviationType.class,
PolygonOrientationRingsSameType.class
})
public abstract class AbstractPolygonErrorType
extends AbstractGeometryErrorType
{
@XmlElement(required = true)
protected String polygonId;
/**
* Ruft den Wert der polygonId-Eigenschaft ab.
*
* @return
* possible object is
* {@link String }
*
*/
public String getPolygonId() {
return polygonId;
}
/**
* Legt den Wert der polygonId-Eigenschaft fest.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setPolygonId(String value) {
this.polygonId = value;
}
public boolean isSetPolygonId() {
return (this.polygonId!= null);
}
}
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractRingErrorPropertyType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractRingErrorPropertyType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractRingError"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractRingErrorPropertyType", propOrder = {
"abstractRingError"
})
public class AbstractRingErrorPropertyType {
@XmlElementRef(name = "AbstractRingError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class)
protected JAXBElement<? extends AbstractRingErrorType> abstractRingError;
/**
* Ruft den Wert der abstractRingError-Eigenschaft ab.
*
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >}
* {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >}
*
*/
public JAXBElement<? extends AbstractRingErrorType> getAbstractRingError() {
return abstractRingError;
}
/**
* Legt den Wert der abstractRingError-Eigenschaft fest.
*
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >}
* {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >}
* {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >}
* {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >}
*
*/
public void setAbstractRingError(JAXBElement<? extends AbstractRingErrorType> value) {
this.abstractRingError = value;
}
public boolean isSetAbstractRingError() {
return (this.abstractRingError!= null);
}
}
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractRingErrorType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractRingErrorType"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractGeometryErrorType"&gt;
* &lt;sequence&gt;
* &lt;element name="linearRingId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
* &lt;/sequence&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractRingErrorType", propOrder = {
"linearRingId"
})
@XmlSeeAlso({
RingConsecutivePointsSameType.class,
RingNotClosedType.class,
RingSelfIntersectionType.class,
RingTooFewPointsType.class
})
public abstract class AbstractRingErrorType
extends AbstractGeometryErrorType
{
@XmlElement(required = true)
protected String linearRingId;
/**
* Ruft den Wert der linearRingId-Eigenschaft ab.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLinearRingId() {
return linearRingId;
}
/**
* Legt den Wert der linearRingId-Eigenschaft fest.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLinearRingId(String value) {
this.linearRingId = value;
}
public boolean isSetLinearRingId() {
return (this.linearRingId!= null);
}
}
//
// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0
// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j
// Any modifications to this file will be lost upon recompilation of the source
// Generated: Fri Nov 19 14:36:13 CET 2021
//
package de.hft.stuttgart.quality.model.jaxb;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
/**
* <p>Java-Klasse für AbstractSemanticErrorPropertyType complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
*
* <pre>
* &lt;complexType name="AbstractSemanticErrorPropertyType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSemanticError"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractSemanticErrorPropertyType", propOrder = {
"abstractSemanticError"
})
public class AbstractSemanticErrorPropertyType {
@XmlElementRef(name = "AbstractSemanticError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class)
protected JAXBElement<? extends AbstractSemanticErrorType> abstractSemanticError;
/**
* Ruft den Wert der abstractSemanticError-Eigenschaft ab.
*
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >}
* {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >}
*
*/
public JAXBElement<? extends AbstractSemanticErrorType> getAbstractSemanticError() {
return abstractSemanticError;
}
/**
* Legt den Wert der abstractSemanticError-Eigenschaft fest.
*
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >}
* {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >}
*
*/
public void setAbstractSemanticError(JAXBElement<? extends AbstractSemanticErrorType> value) {
this.abstractSemanticError = value;
}
public boolean isSetAbstractSemanticError() {
return (this.abstractSemanticError!= null);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment