Constraints: Global Invariants Introduction This clause documents constraints that represent global invariants, i.e. constraints that cannot be assigned to a single class. In contrast, a class invariant is a constraint that must be true for all instances of a class at any time. They are documented as part of the class specification. Constraints for Referables and Identifiables Constraint AASd-117: idShort of non-identifiable Referables not being a direct child of a SubmodelElementList shall be specified. Note: in other words (AASd-117), idShort is mandatory for all Referables except for referables being direct childs of SubmodelElementLists and for all Identifiables. Constraint AASd-120: idShort of submodel elements being a direct child of a SubmodelElementList shall not be specified. Constraint AASd-022: idShort of non-identifiable referables within the same name space shall be unique (case-sensitive). Note: AASd-022 also means that idShorts of referables shall be matched sensitive to the case. Constraints for Qualifiers Constraint AASd-021: Every qualifiable can only have one qualifier with the same Qualifier/valueType. Constraint AASd-119: If any Qualifier/kind value of a Qualifiable/qualifier is equal to TemplateQualifier and the qualified element inherits from "hasKind", the qualified element shall be of kind Template (HasKind/kind = "Template"). Constraint AASd-129: If any Qualifier/kind value of a SubmodelElement/qualifier (attribute qualifier inherited via Qualifiable) is equal to TemplateQualifier, the submodel element shall be part of a submodel template, i.e. a Submodel with Submodel/kind (attribute kind inherited via HasKind) value equal to Template. Constraints for Extensions Constraint AASd-077: The name of an extension (Extension/name) within HasExtensions needs to be unique. Constraints for Asset-Related Information Constraint AASd-116: "globalAssetId" (case-insensitive) is a reserved key for SpecificAssetId/name with the semantics as defined in https://admin-shell.io/aas/3/1/AssetInformation/globalAssetId. Note: AASd-116 is important to enable a generic search across global and specific asset IDs (e.g. in IDTA-01002-3-0 discovery operations like GetAllAssetLinksById). In the future the constraint might become more strict in stating that the name "globalAssetId" shall not be used as SpecificAssetId/name. Constraints for Types Constraint AASd-130: An attribute with data type "string" shall be restricted to the characters as defined in XML Schema 1.0, i.e. the string shall consist of these characters only: ^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u00010000-\u0010FFFF]*$. Constraint AASd-130 ensures that encoding and interoperability between different serializations is possible. See https://www.w3.org/TR/xml/#charsets for more information on XML Schema 1.0 string handling.