Skip to content
This repository has been archived by the owner on Jun 22, 2019. It is now read-only.

N_CAEX_ClassModel_Validation

AutomationML edited this page Feb 22, 2017 · 1 revision

CAEX_ClassModel.Validation Namespace

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.

Classes

 

Class Description
Public class CAEXPathReferenceTable Class CAEXPathReferenceTable is used for a CAEXTable containing Elements with Path-References to other Elements
Public class 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.
Public class CAEXTables The Class CAEXTables provides several Tables for the Management of CAEX-Elements and their Cross References. The provided Tables are  
  • IDTable contains InternalElements and ExternalInterface Elements and provides Access using the ID-Attribute.
  • PathTable contains RoleClasses, InterfaceClasses and SystemUnitClasses and provides Access using the CAEXPath of those Elements.
  • IDRefTable contains InternalElements (Mirrors) which reference other InternalElements (Masters) via the Masters ID-Attribute.
  • PathRefTable contains Elements with References to RoleClasses, InterfaceClasses and SystemUnitClasses via a certain Path-Attribute.
  The Tables are not automatically updated. There are these Update methods to Update the Tables:  
Public class ElementCollection(T) Class ElementCollection is a List of XmlElements or ReferenceElement. This class overrides the Contains-Method.
Public class 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.
Public class 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.
Public class UpdateEventArgs Class UpdateEvent Arguments
Public class ValidationElement Class ValidationElement is a Tuple of an XmlElement and associated detailed Information about any inconsistencies, assigned with that Element.
Public class ValidationKey Class ValidationKey.

Enumerations

 

Enumeration Description
Public enumeration RepairTypeEnum Enum RepairTypeEnum
Public enumeration UpdateActionEnum Enum UpdateActionEnum
Public enumeration ValidationTypeEnum Enum ValidationTypeEnum
 
  • 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
BEST Practice Content

Extensions

CAEX Elements

AutomationML

Utilities

Interfaceclasses

Exceptions

Objecttables and Document validation

Clone this wiki locally