aas-core3 1.0.0
Manipulate, verify and de/serialize asset administration shells in C++.
Loading...
Searching...
No Matches
aas_core::aas_3_0::verification Namespace Reference

Namespaces

namespace  impl
 

Classes

struct  Error
 
class  Iterator
 Iterate over the verification errors. More...
 
class  IVerification
 
class  NonRecursiveVerification
 Verify that the instance conforms to the meta-model constraints. More...
 
class  RecursiveVerification
 Verify that the instance conforms to the meta-model constraints. More...
 

Functions

bool operator== (const Iterator &a, const Iterator &b)
 
bool operator!= (const Iterator &a, const Iterator &b)
 
bool MatchesIdShort (const std::wstring &text)
 Check that text is a valid short ID.
 
bool MatchesVersionType (const std::wstring &text)
 Check that text is a valid version string.
 
bool MatchesRevisionType (const std::wstring &text)
 Check that text is a valid revision string.
 
bool MatchesXsDateTimeUtc (const std::wstring &text)
 Check that text conforms to the pattern of an xs:dateTime.
 
bool IsXsDateTimeUtc (const std::wstring &text)
 Check that text is a xs:dateTime with time zone set to UTC.
 
bool MatchesMimeType (const std::wstring &text)
 Check that text conforms to the pattern of MIME type.
 
bool MatchesRfc8089Path (const std::wstring &text)
 Check that text is a path conforming to the pattern of RFC 8089.
 
bool MatchesBcp47 (const std::wstring &text)
 Check that text is a valid BCP 47 language tag.
 
template<typename LangStringT, typename std::enable_if< std::is_base_of< types::IAbstractLangString, LangStringT >::value >::type * = nullptr>
bool LangStringsHaveUniqueLanguages (const std::vector< std::shared_ptr< LangStringT > > &lang_strings)
 Check that the lang_strings do not have overlapping types::IAbstractLangString::language's.
 
bool QualifierTypesAreUnique (const std::vector< std::shared_ptr< types::IQualifier > > &qualifiers)
 Check that types::IQualifier::type's of qualifiers are unique.
 
bool MatchesXmlSerializableString (const std::wstring &text)
 Check that text conforms to the pattern of the Constraint AASd-130.
 
bool MatchesXsAnyUri (const std::wstring &text)
 Check that text conforms to the pattern of an xs:anyURI.
 
bool MatchesXsBase64Binary (const std::wstring &text)
 Check that text conforms to the pattern of an xs:base64Binary.
 
bool MatchesXsBoolean (const std::wstring &text)
 Check that text conforms to the pattern of an xs:boolean.
 
bool MatchesXsDate (const std::wstring &text)
 Check that text conforms to the pattern of an xs:date.
 
bool MatchesXsDateTime (const std::wstring &text)
 Check that text conforms to the pattern of an xs:dateTime.
 
bool IsXsDateTime (const std::wstring &text)
 Check that text is a xs:dateTime with time zone set to UTC.
 
bool MatchesXsDecimal (const std::wstring &text)
 Check that text conforms to the pattern of an xs:decimal.
 
bool MatchesXsDouble (const std::wstring &text)
 Check that text conforms to the pattern of an xs:double.
 
bool MatchesXsDuration (const std::wstring &text)
 Check that text conforms to the pattern of an xs:duration.
 
bool MatchesXsFloat (const std::wstring &text)
 Check that text conforms to the pattern of an xs:float.
 
bool MatchesXsGDay (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gDay.
 
bool MatchesXsGMonth (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gMonth.
 
bool MatchesXsGMonthDay (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gMonthDay.
 
bool MatchesXsGYear (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gYear.
 
bool MatchesXsGYearMonth (const std::wstring &text)
 Check that text conforms to the pattern of an xs:gYearMonth.
 
bool MatchesXsHexBinary (const std::wstring &text)
 Check that text conforms to the pattern of an xs:hexBinary.
 
bool MatchesXsTime (const std::wstring &text)
 Check that text conforms to the pattern of an xs:time.
 
bool MatchesXsInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:integer.
 
bool MatchesXsLong (const std::wstring &text)
 Check that text conforms to the pattern of an xs:long.
 
bool MatchesXsInt (const std::wstring &text)
 Check that text conforms to the pattern of an xs:int.
 
bool MatchesXsShort (const std::wstring &text)
 Check that text conforms to the pattern of an xs:short.
 
bool MatchesXsByte (const std::wstring &text)
 Check that text conforms to the pattern of an xs:byte.
 
bool MatchesXsNonNegativeInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:nonNegativeInteger.
 
bool MatchesXsPositiveInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:positiveInteger.
 
bool MatchesXsUnsignedLong (const std::wstring &text)
 Check that text conforms to the pattern of an xs:unsignedLong.
 
bool MatchesXsUnsignedInt (const std::wstring &text)
 Check that text conforms to the pattern of an xs:unsignedInt.
 
bool MatchesXsUnsignedShort (const std::wstring &text)
 Check that text conforms to the pattern of an xs:unsignedShort.
 
bool MatchesXsUnsignedByte (const std::wstring &text)
 Check that text conforms to the pattern of an xs:unsignedByte.
 
bool MatchesXsNonPositiveInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:nonPositiveInteger.
 
bool MatchesXsNegativeInteger (const std::wstring &text)
 Check that text conforms to the pattern of an xs:negativeInteger.
 
bool MatchesXsString (const std::wstring &text)
 Check that text conforms to the pattern of an xs:string.
 
bool ValueConsistentWithXsdType (const std::wstring &value, types::DataTypeDefXsd value_type)
 Check that the value conforms to its value_type.
 
bool IsXsDate (const std::wstring &text)
 Check that value is a valid xs:date.
 
bool IsXsDouble (const std::wstring &value)
 Check that value is a valid xs:double.
 
bool IsXsFloat (const std::wstring &value)
 Check that value is a valid xs:float.
 
bool IsXsGMonthDay (const std::wstring &value)
 Check that value is a valid xs:gMonthDay.
 
bool IsXsLong (const std::wstring &value)
 Check that value is a valid xs:long.
 
bool IsXsInt (const std::wstring &value)
 Check that value is a valid xs:int.
 
bool IsXsShort (const std::wstring &value)
 Check that value is a valid xs:short.
 
bool IsXsByte (const std::wstring &value)
 Check that value is a valid xs:byte.
 
bool IsXsUnsignedLong (const std::wstring &value)
 Check that value is a valid xs:unsignedLong.
 
bool IsXsUnsignedInt (const std::wstring &value)
 Check that value is a valid xs:unsignedInt.
 
bool IsXsUnsignedShort (const std::wstring &value)
 Check that value is a valid xs:unsignedShort.
 
bool IsXsUnsignedByte (const std::wstring &value)
 Check that value is a valid xs:unsignedByte.
 
bool IsModelReferenceTo (const std::shared_ptr< types::IReference > &reference, types::KeyTypes expected_type)
 Check that the target of the model reference matches the expected_type.
 
bool IsModelReferenceToReferable (const std::shared_ptr< types::IReference > &reference)
 Check that the target of the reference matches a constants::kAasReferables.
 
template<typename ReferableT, typename std::enable_if< std::is_base_of< types::IReferable, ReferableT >::value >::type * = nullptr>
bool IdShortsAreUnique (const std::vector< std::shared_ptr< ReferableT > > &referables)
 Check that the types::IReferable::id_short's among the referables are unique.
 
bool IdShortsOfVariablesAreUnique (const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > &input_variables, const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > &output_variables, const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > &inoutput_variables)
 Check that the types::IReferable::id_short's among all the input_variables, output_variables and inoutput_variables are unique.
 
bool ExtensionNamesAreUnique (const std::vector< std::shared_ptr< types::IExtension > > &extensions)
 Check that the extension names are unique.
 
bool SubmodelElementsHaveIdenticalSemanticIds (const std::vector< std::shared_ptr< types::ISubmodelElement > > &elements)
 Check that all semantic IDs are identical, if specified.
 
bool SubmodelElementIsOfType (const std::shared_ptr< types::ISubmodelElement > &element, types::AasSubmodelElements element_type)
 Check that the run-time type of the element coincides with element_type.
 
bool PropertiesOrRangesHaveValueType (const std::vector< std::shared_ptr< types::ISubmodelElement > > &elements, types::DataTypeDefXsd value_type)
 Check that all the elements have the value_type.
 
bool ReferenceKeyValuesEqual (const std::shared_ptr< types::IReference > &that, const std::shared_ptr< types::IReference > &other)
 Check that the two references are equal by comparing their key values.
 
bool DataSpecificationIec61360sForPropertyOrValueHaveAppropriateDataType (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.
 
bool DataSpecificationIec61360sForReferenceHaveAppropriateDataType (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.
 
bool DataSpecificationIec61360sForDocumentHaveAppropriateDataType (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.
 
bool DataSpecificationIec61360sHaveDataType (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::data_type is defined for all data specifications whose content is given as IEC 61360.
 
bool DataSpecificationIec61360sHaveValue (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::value is defined for all data specifications whose content is given as IEC 61360.
 
bool DataSpecificationIec61360sHaveDefinitionAtLeastInEnglish (const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > &embedded_data_specifications)
 Check that the types::IDataSpecificationIec61360::definition is defined for all data specifications whose content is given as IEC 61360 at least in English.
 
bool IsBcp47ForEnglish (const std::wstring &text)
 Check that the text corresponds to a BCP47 code for english.
 
std::unique_ptr< IVerificationVerifyXmlSerializableString (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyNonEmptyXmlSerializableString (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyDateTimeUtc (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyDuration (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyBlobType (const std::vector< std::uint8_t > &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyIdentifier (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyValueTypeIec61360 (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyNameType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyVersionType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyRevisionType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyLabelType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyMessageTopicType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyBcp47LanguageTag (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyContentType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyPathType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyQualifierType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyValueDataType (const std::wstring &that)
 Verify that the invariants hold for that value.
 
std::unique_ptr< IVerificationVerifyIdShortType (const std::wstring &that)
 Verify that the invariants hold for that value.
 

Function Documentation

◆ DataSpecificationIec61360sForDocumentHaveAppropriateDataType()

bool aas_core::aas_3_0::verification::DataSpecificationIec61360sForDocumentHaveAppropriateDataType ( const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > & embedded_data_specifications)

Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.

◆ DataSpecificationIec61360sForPropertyOrValueHaveAppropriateDataType()

bool aas_core::aas_3_0::verification::DataSpecificationIec61360sForPropertyOrValueHaveAppropriateDataType ( const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > & embedded_data_specifications)

Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.

◆ DataSpecificationIec61360sForReferenceHaveAppropriateDataType()

bool aas_core::aas_3_0::verification::DataSpecificationIec61360sForReferenceHaveAppropriateDataType ( const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > & embedded_data_specifications)

Check that the types::IDataSpecificationIec61360::data_type is defined appropriately for all data specifications whose content is given as IEC 61360.

◆ DataSpecificationIec61360sHaveDataType()

bool aas_core::aas_3_0::verification::DataSpecificationIec61360sHaveDataType ( const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > & embedded_data_specifications)

Check that the types::IDataSpecificationIec61360::data_type is defined for all data specifications whose content is given as IEC 61360.

◆ DataSpecificationIec61360sHaveDefinitionAtLeastInEnglish()

bool aas_core::aas_3_0::verification::DataSpecificationIec61360sHaveDefinitionAtLeastInEnglish ( const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > & embedded_data_specifications)

Check that the types::IDataSpecificationIec61360::definition is defined for all data specifications whose content is given as IEC 61360 at least in English.

◆ DataSpecificationIec61360sHaveValue()

bool aas_core::aas_3_0::verification::DataSpecificationIec61360sHaveValue ( const std::vector< std::shared_ptr< types::IEmbeddedDataSpecification > > & embedded_data_specifications)

Check that the types::IDataSpecificationIec61360::value is defined for all data specifications whose content is given as IEC 61360.

◆ ExtensionNamesAreUnique()

bool aas_core::aas_3_0::verification::ExtensionNamesAreUnique ( const std::vector< std::shared_ptr< types::IExtension > > & extensions)

Check that the extension names are unique.

◆ IdShortsAreUnique()

template<typename ReferableT, typename std::enable_if< std::is_base_of< types::IReferable, ReferableT >::value >::type * = nullptr>
bool aas_core::aas_3_0::verification::IdShortsAreUnique ( const std::vector< std::shared_ptr< ReferableT > > & referables)

Check that the types::IReferable::id_short's among the referables are unique.

◆ IdShortsOfVariablesAreUnique()

bool aas_core::aas_3_0::verification::IdShortsOfVariablesAreUnique ( const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > & input_variables,
const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > & output_variables,
const common::optional< std::vector< std::shared_ptr< types::IOperationVariable > > > & inoutput_variables )

Check that the types::IReferable::id_short's among all the input_variables, output_variables and inoutput_variables are unique.

◆ IsBcp47ForEnglish()

bool aas_core::aas_3_0::verification::IsBcp47ForEnglish ( const std::wstring & text)

Check that the text corresponds to a BCP47 code for english.

◆ IsModelReferenceTo()

bool aas_core::aas_3_0::verification::IsModelReferenceTo ( const std::shared_ptr< types::IReference > & reference,
types::KeyTypes expected_type )

Check that the target of the model reference matches the expected_type.

◆ IsModelReferenceToReferable()

bool aas_core::aas_3_0::verification::IsModelReferenceToReferable ( const std::shared_ptr< types::IReference > & reference)

Check that the target of the reference matches a constants::kAasReferables.

◆ IsXsByte()

bool aas_core::aas_3_0::verification::IsXsByte ( const std::wstring & value)

Check that value is a valid xs:byte.

Parameters
valueto be checked
Returns
true if value is a valid xs:byte

◆ IsXsDate()

bool aas_core::aas_3_0::verification::IsXsDate ( const std::wstring & text)

Check that value is a valid xs:date.

Year 1 BCE is the last leap BCE year. See: https://www.w3.org/TR/xmlschema-2/#dateTime.

Parameters
valueto be checked
Returns
true if value is a valid xs:date

◆ IsXsDateTime()

bool aas_core::aas_3_0::verification::IsXsDateTime ( const std::wstring & text)

Check that text is a xs:dateTime with time zone set to UTC.

The text is assumed to match a pre-defined pattern for xs:dateTime with the time zone set to UTC. In this function, we check for days of month (e.g., February 29th).

See: https://www.w3.org/TR/xmlschema-2/#dateTime

◆ IsXsDateTimeUtc()

bool aas_core::aas_3_0::verification::IsXsDateTimeUtc ( const std::wstring & text)

Check that text is a xs:dateTime with time zone set to UTC.

The text is assumed to match a pre-defined pattern for xs:dateTime with the time zone set to UTC. In this function, we check for days of month (e.g., February 29th).

See: https://www.w3.org/TR/xmlschema-2/#dateTime

◆ IsXsDouble()

bool aas_core::aas_3_0::verification::IsXsDouble ( const std::wstring & value)

Check that value is a valid xs:double.

Parameters
valueto be checked
Returns
true if value is a valid xs:double

◆ IsXsFloat()

bool aas_core::aas_3_0::verification::IsXsFloat ( const std::wstring & value)

Check that value is a valid xs:float.

Parameters
valueto be checked
Returns
true if value is a valid xs:float

◆ IsXsGMonthDay()

bool aas_core::aas_3_0::verification::IsXsGMonthDay ( const std::wstring & value)

Check that value is a valid xs:gMonthDay.

Parameters
valueto be checked
Returns
true if value is a valid xs:gMonthDay

◆ IsXsInt()

bool aas_core::aas_3_0::verification::IsXsInt ( const std::wstring & value)

Check that value is a valid xs:int.

Parameters
valueto be checked
Returns
true if value is a valid xs:int

◆ IsXsLong()

bool aas_core::aas_3_0::verification::IsXsLong ( const std::wstring & value)

Check that value is a valid xs:long.

Parameters
valueto be checked
Returns
true if value is a valid xs:long

◆ IsXsShort()

bool aas_core::aas_3_0::verification::IsXsShort ( const std::wstring & value)

Check that value is a valid xs:short.

Parameters
valueto be checked
Returns
true if value is a valid xs:short

◆ IsXsUnsignedByte()

bool aas_core::aas_3_0::verification::IsXsUnsignedByte ( const std::wstring & value)

Check that value is a valid xs:unsignedByte.

Parameters
valueto be checked
Returns
true if value is a valid xs:unsignedByte

◆ IsXsUnsignedInt()

bool aas_core::aas_3_0::verification::IsXsUnsignedInt ( const std::wstring & value)

Check that value is a valid xs:unsignedInt.

Parameters
valueto be checked
Returns
true if value is a valid xs:unsignedInt

◆ IsXsUnsignedLong()

bool aas_core::aas_3_0::verification::IsXsUnsignedLong ( const std::wstring & value)

Check that value is a valid xs:unsignedLong.

Parameters
valueto be checked
Returns
true if value is a valid xs:unsignedLong

◆ IsXsUnsignedShort()

bool aas_core::aas_3_0::verification::IsXsUnsignedShort ( const std::wstring & value)

Check that value is a valid xs:unsignedShort.

Parameters
valueto be checked
Returns
true if value is a valid xs:unsignedShort

◆ LangStringsHaveUniqueLanguages()

template<typename LangStringT, typename std::enable_if< std::is_base_of< types::IAbstractLangString, LangStringT >::value >::type * = nullptr>
bool aas_core::aas_3_0::verification::LangStringsHaveUniqueLanguages ( const std::vector< std::shared_ptr< LangStringT > > & lang_strings)

Check that the lang_strings do not have overlapping types::IAbstractLangString::language's.

◆ MatchesBcp47()

bool aas_core::aas_3_0::verification::MatchesBcp47 ( const std::wstring & text)

Check that text is a valid BCP 47 language tag.

See: https://en.wikipedia.org/wiki/IETF_language_tag

◆ MatchesIdShort()

bool aas_core::aas_3_0::verification::MatchesIdShort ( const std::wstring & text)

Check that text is a valid short ID.

◆ MatchesMimeType()

bool aas_core::aas_3_0::verification::MatchesMimeType ( const std::wstring & text)

◆ MatchesRevisionType()

bool aas_core::aas_3_0::verification::MatchesRevisionType ( const std::wstring & text)

Check that text is a valid revision string.

◆ MatchesRfc8089Path()

bool aas_core::aas_3_0::verification::MatchesRfc8089Path ( const std::wstring & text)

Check that text is a path conforming to the pattern of RFC 8089.

The definition has been taken from: https://datatracker.ietf.org/doc/html/rfc8089

◆ MatchesVersionType()

bool aas_core::aas_3_0::verification::MatchesVersionType ( const std::wstring & text)

Check that text is a valid version string.

◆ MatchesXmlSerializableString()

bool aas_core::aas_3_0::verification::MatchesXmlSerializableString ( const std::wstring & text)

Check that text conforms to the pattern of the Constraint AASd-130.

Ensures that encoding is possible and interoperability between different serializations is possible.

◆ MatchesXsAnyUri()

bool aas_core::aas_3_0::verification::MatchesXsAnyUri ( const std::wstring & text)

Check that text conforms to the pattern of an xs:anyURI.

See: https://www.w3.org/TR/xmlschema-2/#anyURI and https://datatracker.ietf.org/doc/html/rfc3987

◆ MatchesXsBase64Binary()

bool aas_core::aas_3_0::verification::MatchesXsBase64Binary ( const std::wstring & text)

Check that text conforms to the pattern of an xs:base64Binary.

See: https://www.w3.org/TR/xmlschema-2/#base64Binary

◆ MatchesXsBoolean()

bool aas_core::aas_3_0::verification::MatchesXsBoolean ( const std::wstring & text)

Check that text conforms to the pattern of an xs:boolean.

See: https://www.w3.org/TR/xmlschema-2/#boolean

◆ MatchesXsByte()

bool aas_core::aas_3_0::verification::MatchesXsByte ( const std::wstring & text)

Check that text conforms to the pattern of an xs:byte.

See: https://www.w3.org/TR/xmlschema-2/#byte

◆ MatchesXsDate()

bool aas_core::aas_3_0::verification::MatchesXsDate ( const std::wstring & text)

Check that text conforms to the pattern of an xs:date.

See: https://www.w3.org/TR/xmlschema-2/#date

◆ MatchesXsDateTime()

bool aas_core::aas_3_0::verification::MatchesXsDateTime ( const std::wstring & text)

Check that text conforms to the pattern of an xs:dateTime.

See: https://www.w3.org/TR/xmlschema-2/#dateTime

◆ MatchesXsDateTimeUtc()

bool aas_core::aas_3_0::verification::MatchesXsDateTimeUtc ( const std::wstring & text)

Check that text conforms to the pattern of an xs:dateTime.

The time zone must be fixed to UTC. We verify only that the text matches a pre-defined pattern. We do not verify that the day of month is correct nor do we check for leap seconds.

See: https://www.w3.org/TR/xmlschema-2/#dateTime

◆ MatchesXsDecimal()

bool aas_core::aas_3_0::verification::MatchesXsDecimal ( const std::wstring & text)

Check that text conforms to the pattern of an xs:decimal.

See: https://www.w3.org/TR/xmlschema-2/#decimal

◆ MatchesXsDouble()

bool aas_core::aas_3_0::verification::MatchesXsDouble ( const std::wstring & text)

Check that text conforms to the pattern of an xs:double.

See: https://www.w3.org/TR/xmlschema-2/#double

◆ MatchesXsDuration()

bool aas_core::aas_3_0::verification::MatchesXsDuration ( const std::wstring & text)

Check that text conforms to the pattern of an xs:duration.

See: https://www.w3.org/TR/xmlschema-2/#duration

◆ MatchesXsFloat()

bool aas_core::aas_3_0::verification::MatchesXsFloat ( const std::wstring & text)

Check that text conforms to the pattern of an xs:float.

See: https://www.w3.org/TR/xmlschema-2/#float

◆ MatchesXsGDay()

bool aas_core::aas_3_0::verification::MatchesXsGDay ( const std::wstring & text)

Check that text conforms to the pattern of an xs:gDay.

See: https://www.w3.org/TR/xmlschema-2/#gDay

◆ MatchesXsGMonth()

bool aas_core::aas_3_0::verification::MatchesXsGMonth ( const std::wstring & text)

Check that text conforms to the pattern of an xs:gMonth.

See: https://www.w3.org/TR/xmlschema-2/#gMonth

◆ MatchesXsGMonthDay()

bool aas_core::aas_3_0::verification::MatchesXsGMonthDay ( const std::wstring & text)

Check that text conforms to the pattern of an xs:gMonthDay.

See: https://www.w3.org/TR/xmlschema-2/#gMonthDay

◆ MatchesXsGYear()

bool aas_core::aas_3_0::verification::MatchesXsGYear ( const std::wstring & text)

Check that text conforms to the pattern of an xs:gYear.

See: https://www.w3.org/TR/xmlschema-2/#gYear

◆ MatchesXsGYearMonth()

bool aas_core::aas_3_0::verification::MatchesXsGYearMonth ( const std::wstring & text)

Check that text conforms to the pattern of an xs:gYearMonth.

See: https://www.w3.org/TR/xmlschema-2/#gYearMonth

◆ MatchesXsHexBinary()

bool aas_core::aas_3_0::verification::MatchesXsHexBinary ( const std::wstring & text)

Check that text conforms to the pattern of an xs:hexBinary.

See: https://www.w3.org/TR/xmlschema-2/#hexBinary

◆ MatchesXsInt()

bool aas_core::aas_3_0::verification::MatchesXsInt ( const std::wstring & text)

Check that text conforms to the pattern of an xs:int.

See: https://www.w3.org/TR/xmlschema-2/#int

◆ MatchesXsInteger()

bool aas_core::aas_3_0::verification::MatchesXsInteger ( const std::wstring & text)

Check that text conforms to the pattern of an xs:integer.

See: https://www.w3.org/TR/xmlschema-2/#integer

◆ MatchesXsLong()

bool aas_core::aas_3_0::verification::MatchesXsLong ( const std::wstring & text)

Check that text conforms to the pattern of an xs:long.

See: https://www.w3.org/TR/xmlschema-2/#long

◆ MatchesXsNegativeInteger()

bool aas_core::aas_3_0::verification::MatchesXsNegativeInteger ( const std::wstring & text)

Check that text conforms to the pattern of an xs:negativeInteger.

See: https://www.w3.org/TR/xmlschema-2/#negativeInteger

◆ MatchesXsNonNegativeInteger()

bool aas_core::aas_3_0::verification::MatchesXsNonNegativeInteger ( const std::wstring & text)

Check that text conforms to the pattern of an xs:nonNegativeInteger.

See: https://www.w3.org/TR/xmlschema-2/#nonNegativeInteger

◆ MatchesXsNonPositiveInteger()

bool aas_core::aas_3_0::verification::MatchesXsNonPositiveInteger ( const std::wstring & text)

Check that text conforms to the pattern of an xs:nonPositiveInteger.

See: https://www.w3.org/TR/xmlschema-2/#nonPositiveInteger

◆ MatchesXsPositiveInteger()

bool aas_core::aas_3_0::verification::MatchesXsPositiveInteger ( const std::wstring & text)

Check that text conforms to the pattern of an xs:positiveInteger.

See: https://www.w3.org/TR/xmlschema-2/#positiveInteger

◆ MatchesXsShort()

bool aas_core::aas_3_0::verification::MatchesXsShort ( const std::wstring & text)

Check that text conforms to the pattern of an xs:short.

See: https://www.w3.org/TR/xmlschema-2/#short

◆ MatchesXsString()

bool aas_core::aas_3_0::verification::MatchesXsString ( const std::wstring & text)

Check that text conforms to the pattern of an xs:string.

See: https://www.w3.org/TR/xmlschema-2/#string

◆ MatchesXsTime()

bool aas_core::aas_3_0::verification::MatchesXsTime ( const std::wstring & text)

Check that text conforms to the pattern of an xs:time.

See: https://www.w3.org/TR/xmlschema-2/#time

◆ MatchesXsUnsignedByte()

bool aas_core::aas_3_0::verification::MatchesXsUnsignedByte ( const std::wstring & text)

Check that text conforms to the pattern of an xs:unsignedByte.

See: https://www.w3.org/TR/xmlschema-2/#unsignedByte

◆ MatchesXsUnsignedInt()

bool aas_core::aas_3_0::verification::MatchesXsUnsignedInt ( const std::wstring & text)

Check that text conforms to the pattern of an xs:unsignedInt.

See: https://www.w3.org/TR/xmlschema-2/#unsignedInt

◆ MatchesXsUnsignedLong()

bool aas_core::aas_3_0::verification::MatchesXsUnsignedLong ( const std::wstring & text)

Check that text conforms to the pattern of an xs:unsignedLong.

See: https://www.w3.org/TR/xmlschema-2/#unsignedLong

◆ MatchesXsUnsignedShort()

bool aas_core::aas_3_0::verification::MatchesXsUnsignedShort ( const std::wstring & text)

Check that text conforms to the pattern of an xs:unsignedShort.

See: https://www.w3.org/TR/xmlschema-2/#unsignedShort

◆ operator!=()

bool aas_core::aas_3_0::verification::operator!= ( const Iterator & a,
const Iterator & b )

◆ operator==()

bool aas_core::aas_3_0::verification::operator== ( const Iterator & a,
const Iterator & b )

◆ PropertiesOrRangesHaveValueType()

bool aas_core::aas_3_0::verification::PropertiesOrRangesHaveValueType ( const std::vector< std::shared_ptr< types::ISubmodelElement > > & elements,
types::DataTypeDefXsd value_type )

Check that all the elements have the value_type.

◆ QualifierTypesAreUnique()

bool aas_core::aas_3_0::verification::QualifierTypesAreUnique ( const std::vector< std::shared_ptr< types::IQualifier > > & qualifiers)

Check that types::IQualifier::type's of qualifiers are unique.

◆ ReferenceKeyValuesEqual()

bool aas_core::aas_3_0::verification::ReferenceKeyValuesEqual ( const std::shared_ptr< types::IReference > & that,
const std::shared_ptr< types::IReference > & other )

Check that the two references are equal by comparing their key values.

◆ SubmodelElementIsOfType()

bool aas_core::aas_3_0::verification::SubmodelElementIsOfType ( const std::shared_ptr< types::ISubmodelElement > & element,
types::AasSubmodelElements element_type )

Check that the run-time type of the element coincides with element_type.

◆ SubmodelElementsHaveIdenticalSemanticIds()

bool aas_core::aas_3_0::verification::SubmodelElementsHaveIdenticalSemanticIds ( const std::vector< std::shared_ptr< types::ISubmodelElement > > & elements)

Check that all semantic IDs are identical, if specified.

◆ ValueConsistentWithXsdType()

bool aas_core::aas_3_0::verification::ValueConsistentWithXsdType ( const std::wstring & value,
types::DataTypeDefXsd value_type )

Check that the value conforms to its value_type.

◆ VerifyBcp47LanguageTag()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyBcp47LanguageTag ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyBlobType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyBlobType ( const std::vector< std::uint8_t > & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyContentType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyContentType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyDateTimeUtc()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyDateTimeUtc ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyDuration()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyDuration ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyIdentifier()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyIdentifier ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyIdShortType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyIdShortType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyLabelType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyLabelType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyMessageTopicType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyMessageTopicType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyNameType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyNameType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyNonEmptyXmlSerializableString()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyNonEmptyXmlSerializableString ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyPathType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyPathType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyQualifierType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyQualifierType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyRevisionType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyRevisionType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyValueDataType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyValueDataType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyValueTypeIec61360()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyValueTypeIec61360 ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyVersionType()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyVersionType ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations

◆ VerifyXmlSerializableString()

std::unique_ptr< IVerification > aas_core::aas_3_0::verification::VerifyXmlSerializableString ( const std::wstring & that)

Verify that the invariants hold for that value.

The that value should outlive the verification.

Parameters
thatvalue to be verified
Returns
Iterable over constraint violations