-
Notifications
You must be signed in to change notification settings - Fork 2
N_CAEX_ClassModel_Validation
The CAEX_ClassModel.Validation Namespace provides Methods to organize the most CAEX-Elements of a CAEX-Document in Dictionaries. These Dictionaries are useful for a fast key-based Access to a CAEX-Element if the Element-Key is known, which could be the CAEX-ID of an InternalElement or the CAEXPath of any Class (SystemUnitClass, RoleClass, InterfaceClass). Another Use Case is the Validation of CAEX - and AutomationML Model Requirements and the repair of discovered Consistency Violations. The Element-Dictionaries in this Namespace are based on the former HashTables, provided in the CAEXFileType Class but now include additional Tables for the Detection of Cross References between CAEX-Elements using ID- and Path-Attributes. The old Methods, defined on the Hash-Tables are still provided for downward compatibility, but should be considered as obsolete.
Class | Description | |
---|---|---|
CAEXPathReferenceTable | Class CAEXPathReferenceTable is used for a CAEXTable containing Elements with Path-References to other Elements | |
CAEXTable(T) | Class CAEXTable is a Dictionary of CAEX-Elements. The Type of the Element is either a plane XmlElement or a ReferenceElement. The ReferenceElement is used, if the Dictionary manages Cross-References between CAEX-Elements. The Xml-Element is used to register the XmlNode Information of a CAEX-Element. The CAEXTable Class doesn't store the CAEXWrapper Classes for a CAEX-Element, as the old HashTables in the CAEXFileType did, but only the plane XmlNodes. A CAEXWrapper will only be created, if a Node is accessed to return such a CAEXWrapper. Any Dictionary, Element-Tables and Cross-Reference-Tables may have multiple associated Elements to the same Key. This is due to the fact, that CAEX-Documents may contain errors (multiple InternalElements using the same ID) . The ambiguities are hold in the Table until a Repair Method is called. To add or remove Elements the Update Methods in the CAEXTables Class should be used. If you directly manipulate the Entries in the Tables, the Validation Methods may create unwanted Side Effects. | |
CAEXTables |
The Class CAEXTables provides several Tables for the Management of CAEX-Elements and their Cross References. The provided Tables are
|
|
ElementCollection(T) | Class ElementCollection is a List of XmlElements or ReferenceElement. This class overrides the Contains-Method. | |
PathReferenceElement | Class PathReferenceElement is a Tuple of an XmlElement and the Name of an Attributes, which is a CAEXPath. The CAEXPath may be used as a key to the PathTable to find the referenced Element. | |
ReferenceElement | ReferenceElement is a Tuple of an XmlElement and the Name of an Attributes, which is used to reference another Element. The reference may be used as a key to find the referenced Element. | |
UpdateEventArgs | Class UpdateEvent Arguments | |
ValidationElement | Class ValidationElement is a Tuple of an XmlElement and associated detailed Information about any inconsistencies, assigned with that Element. | |
ValidationKey | Class ValidationKey. |
Enumeration | Description | |
---|---|---|
RepairTypeEnum | Enum RepairTypeEnum | |
UpdateActionEnum | Enum UpdateActionEnum | |
ValidationTypeEnum | Enum ValidationTypeEnum |
AMLEngine Documentation
Send comments on this topic to [AutomationML office](mailto:office%40automationml.org?Subject=AMLEngine Documentation)- Introduction
- [Version History](Version history)
- [Version 3.5](Version 3.4)
- [Version 3.1](Version 3.0)
- [Version 2.1](Version 2.1)
- [Version 2.0](Version 2.0)
- [Getting Started](Getting started)
- Examples
- AMLEngine API
- AttributeType
- AttributeValueRequirementType
- CAEXBasicObject
- CAEXDocument
- CAEXFileType
- CAEXObject
- ChangeModeStates
- CopyrightType
- DescriptionType
- ExternalInterfaceType
- ExternalReferenceType
- InstanceHierarchyType
- InterfaceClassLibType
- InterfaceClassType
- InterfaceFamilyType
- InterfaceNameMappingType
- InternalElementType
- InternalLinkType
- MappingType
- NominalScaledTypeType
- ObjectWithAttributes
- OrdinalScaledTypeType
- RefSemanticType
- RevisionType
- RoleClassLibType
- RoleClassType
- RoleFamilyType
- RoleRequirementsType
- SupportedRoleClassType
- SystemUnitClassLibType
- SystemUnitClassType
- SystemUnitFamilyType
- UnknownTypeType
- VersionType
- IClassWithBaseClassReference
- IInstantiable
- IObjectWithAttributes
- IObjectWithExternalInterface
- IObjectWithRoleReference
- CAEXPathReferenceTable Class
- CAEXTable(T) Class
- CAEXTables Class
- ElementCollection(T) Class
- PathReferenceElement Class
- ReferenceElement Class
- RepairTypeEnum Enumeration
- UpdateActionEnum Enumeration
- UpdateEventArgs Class
- ValidationElement Class
- ValidationKey Class
- ValidationTypeEnum Enumeration
- CAEX_ClassModel.XmlExtension Namespace