forked from OpenModelica/OMSimulator
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add XercesValidator (OpenModelica#1257)
* add XercesValidator * add validation tests * add ssp schema * use absolute path to schema location * print full file path for error reporting * add_compile_definitions "SCHEMA_ROOT" * add schema/CMakeLists.txt * add module whereami.c to get the executable path * Trigger build * fix docker image for alpine * add linux-headers for alpine/Dockerfile * use wai_getModulePath to locate the schema * do not free the path * add getExecutablePath() * report as logWarning * expected output * update tests * expected output * fix typos * set separate working directory for random failing tests
- Loading branch information
Showing
29 changed files
with
4,127 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# We need gcc 8 for filesystem support | ||
FROM alpine:3.12 | ||
|
||
RUN apk add -U libtool automake g++ git cmake make readline-dev musl-dev | ||
RUN apk add -U libtool automake g++ git cmake make readline-dev musl-dev util-linux linux-headers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
install(DIRECTORY fmi2 fmi3 ssp | ||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/OMSimulator/schema) |
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" | ||
xmlns:ssm="http://ssp-standard.org/SSP1/SystemStructureParameterMapping" | ||
xmlns:ssc="http://ssp-standard.org/SSP1/SystemStructureCommon" | ||
targetNamespace="http://ssp-standard.org/SSP1/SystemStructureParameterMapping"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This is the normative XML Schema 1.0 schema for the MAP SSP | ||
SystemStructureParameterMapping 1.0 format. | ||
|
||
Version: 1.0 | ||
|
||
Copyright 2016 -- 2019 Modelica Association Project "SSP" | ||
|
||
Redistribution and use in source and binary forms, with or | ||
without modification, are permitted provided that the | ||
following conditions are met: | ||
|
||
1. Redistributions of source code must retain the above | ||
copyright notice, this list of conditions and the | ||
following disclaimer. | ||
|
||
2. Redistributions in binary form must reproduce the above | ||
copyright notice, this list of conditions and the | ||
following disclaimer in the documentation and/or other | ||
materials provided with the distribution. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND | ||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, | ||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR | ||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | ||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | ||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | ||
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
POSSIBILITY OF SUCH DAMAGE. | ||
</xs:documentation> | ||
</xs:annotation> | ||
|
||
<xs:import namespace="http://ssp-standard.org/SSP1/SystemStructureCommon" schemaLocation="SystemStructureCommon.xsd"/> | ||
|
||
<xs:element name="ParameterMapping"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="MappingEntry" minOccurs="0" maxOccurs="unbounded" type="ssm:TMappingEntry"/> | ||
<xs:element name="Annotations" minOccurs="0" type="ssc:TAnnotations"/> | ||
</xs:sequence> | ||
<xs:attribute name="version" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
Version of SSM format, 1.0 for this release. | ||
</xs:documentation> | ||
</xs:annotation> | ||
<xs:simpleType> | ||
<xs:restriction base="xs:normalizedString"> | ||
<xs:pattern value="1[.][0-9]+(-.*)?"/> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:attribute> | ||
<xs:attributeGroup ref="ssc:ABaseElement"/> | ||
<xs:attributeGroup ref="ssc:ATopLevelMetaData"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:complexType name="TMappingEntry"> | ||
<xs:sequence> | ||
<xs:group ref="ssc:GTransformationChoice" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This optional element specifies a transformation that is to be applied to | ||
the parameter value prior to its application to its target parameter. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:group> | ||
<xs:element name="Annotations" minOccurs="0" type="ssc:TAnnotations"/> | ||
</xs:sequence> | ||
<xs:attributeGroup ref="ssc:ABaseElement"/> | ||
<xs:attribute name="source" type="xs:string" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute specifies the name of the parameter in the parameter source | ||
that is to be mapped to a new name and/or provided with a transformation | ||
in this mapping entry. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attribute name="target" type="xs:string" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute specifies the name of the parameter in the system or | ||
component that is to be parametrized, i.e. that is the target of this | ||
mapping entry. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attribute name="suppressUnitConversion" type="xs:boolean" use="optional" default="false"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute specifies whether automatic conversions between start | ||
and end connector are performed using unit information potentially | ||
available for both start and end definitions. If this attribute is | ||
supplied and its value is true, then the environment will not perform | ||
any automatic unit conversions, otherwise automatic unit | ||
conversions can be performed. This is also useful in conjunction with | ||
the optional linear transformation supplied via the LinearTransformation | ||
element: With suppressUnitConversion = true, the linear transformation | ||
is performed instead of any unit conversions, whereas otherwise the | ||
linear transformation is performed in addition to any unit conversions. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
|
||
</xs:schema> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,218 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" | ||
xmlns:ssv="http://ssp-standard.org/SSP1/SystemStructureParameterValues" | ||
xmlns:ssc="http://ssp-standard.org/SSP1/SystemStructureCommon" | ||
targetNamespace="http://ssp-standard.org/SSP1/SystemStructureParameterValues"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This is the normative XML Schema 1.0 schema for the MAP SSP | ||
SystemStructureParameterValues 1.0 format. | ||
|
||
Version: 1.0 | ||
|
||
Copyright 2016 -- 2019 Modelica Association Project "SSP" | ||
|
||
Redistribution and use in source and binary forms, with or | ||
without modification, are permitted provided that the | ||
following conditions are met: | ||
|
||
1. Redistributions of source code must retain the above | ||
copyright notice, this list of conditions and the | ||
following disclaimer. | ||
|
||
2. Redistributions in binary form must reproduce the above | ||
copyright notice, this list of conditions and the | ||
following disclaimer in the documentation and/or other | ||
materials provided with the distribution. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND | ||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, | ||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR | ||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | ||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | ||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | ||
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
POSSIBILITY OF SUCH DAMAGE. | ||
</xs:documentation> | ||
</xs:annotation> | ||
|
||
<xs:import namespace="http://ssp-standard.org/SSP1/SystemStructureCommon" schemaLocation="SystemStructureCommon.xsd"/> | ||
|
||
<xs:element name="ParameterSet"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="Parameters" type="ssv:TParameters"/> | ||
<xs:element name="Enumerations" minOccurs="0" type="ssc:TEnumerations"/> | ||
<xs:element name="Units" minOccurs="0" type="ssc:TUnits"/> | ||
<xs:element name="Annotations" minOccurs="0" type="ssc:TAnnotations"/> | ||
</xs:sequence> | ||
<xs:attribute name="version" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
Version of SSV format, 1.0 for this release. | ||
</xs:documentation> | ||
</xs:annotation> | ||
<xs:simpleType> | ||
<xs:restriction base="xs:normalizedString"> | ||
<xs:pattern value="1[.][0-9]+(-.*)?"/> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:attribute> | ||
<xs:attributeGroup ref="ssc:ABaseElement"/> | ||
<xs:attribute name="name" type="xs:string" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
Name of the Parameter Set. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attributeGroup ref="ssc:ATopLevelMetaData"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:complexType name="TParameters"> | ||
<xs:sequence> | ||
<xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded" type="ssv:TParameter"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
|
||
<xs:complexType name="TParameter"> | ||
<xs:sequence> | ||
<xs:choice> | ||
<xs:element name="Real"> | ||
<xs:complexType> | ||
<xs:attribute name="value" type="xs:double" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute gives the value of the parameter. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attribute name="unit" type="xs:string" use="optional"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute gives the unit of the parameter value and must | ||
reference one of the unit definitions provided in the Units | ||
element of the enclosing file. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="Integer"> | ||
<xs:complexType> | ||
<xs:attribute name="value" type="xs:int" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute gives the value of the parameter. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="Boolean"> | ||
<xs:complexType> | ||
<xs:attribute name="value" type="xs:boolean" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute gives the value of the parameter. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="String"> | ||
<xs:complexType> | ||
<xs:attribute name="value" type="xs:string" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute gives the value of the parameter. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="Enumeration"> | ||
<xs:complexType> | ||
<xs:attribute name="value" type="xs:string" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute gives the value of the parameter as | ||
the enumeration item name. Note that the actual | ||
numeric value this value is mapped to at run time | ||
will depend on the item mapping of the enumeration | ||
type of the variables being parameterized. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attribute name="name" type="xs:string" use="optional"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute specifies the name of the enumeration | ||
which references into the set of defined enumerations | ||
of the system structure description, as contained in | ||
the Enumerations element of the root element. | ||
|
||
This attribute is optional; if it is not specified, then | ||
the list of valid enumeration items with their names and | ||
values is not specified, and the interpretation of the | ||
enumeration value is left solely to the variables that | ||
are being parameterized. | ||
|
||
If the attribute is specified, implementations MAY use | ||
that information for user interface purposes, and/or | ||
for additional consistency checking. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="Binary"> | ||
<xs:complexType> | ||
<xs:attribute name="mime-type" type="xs:string" default="application/octet-stream"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This optional attribute specifies the MIME type of the | ||
underlying binary data, which defaults to the non-specific | ||
application/octet-stream type. This information can be | ||
used by the implementation to detect mismatches between | ||
binary parameters, or provide automatic conversions | ||
between different formats. It should be noted that the | ||
implementation is not required to provide this service, | ||
i.e. it remains the responsibility of the operator to | ||
ensure only compatible binary connectors/parameters are | ||
connected. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attribute name="value" type="xs:hexBinary" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute gives the value of the parameter as a | ||
hex encoded binary value. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
</xs:element> | ||
</xs:choice> | ||
<xs:element name="Annotations" minOccurs="0" type="ssc:TAnnotations"/> | ||
</xs:sequence> | ||
<xs:attributeGroup ref="ssc:ABaseElement"/> | ||
<xs:attribute name="name" type="xs:string" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
This attribute specifies the name of the parameter in the parameter set, | ||
which must be unique within in the parameter set. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
|
||
</xs:schema> |
Oops, something went wrong.