AML.Engine.Services
This service calculates statistics for a CAEX document.
Registers a new instance of a CAEXFileStatisticService with the of the AMLEngine.
The service instance
Unregisters this service
Counts all objects (sum of all others with specific counts) and returns the result.
The CAEX file.
Total number of all countable objects.
Counts all Attribute objects and returns the result.
The CAEX file.
Total number of all attributes.
Counts all Attribute type reference objects and returns the result.
The CAEX file.
Total number of all attribute type references.
Counts all AttributeType objects and returns the result.
The CAEX file.
Total number of all AttributeTypes
Counts all InterfaceClass objects and returns the result.
The CAEX file.
Total number of all InterfaceClasses
Counts all ExternalInterface objects and returns the result.
The CAEX file.
Total number of all ExternalInterfaces
Counts all InternalElement objects and returns the result.
The CAEX file.
Total number of all InternalElements
Counts all InternalLink objects and returns the result.
The CAEX file.
Total number of all InternalLinks
Counts all RoleClass objects and returns the result.
The CAEX file.
Total number of all RoleClasses
Counts all RoleClass reference (RoleRequirements and SupportedRoleClass) objects and returns the result.
The CAEX file.
Total number of all RoleClasses references
Counts all SystemUnitClass objects and returns the result.
The CAEX file.
Total number of all SystemUnitClasses
Counts all SystemUnitClass reference objects and returns the result.
The CAEX file.
Total number of all SystemUnitClasses
Clears the disposed documents from the dictionary.
This class implements the service interface. With this service it is
possible to access CAEX objects which are outsourced into external documents and referenced using alias names.
Normally the service is located by other services like query services. They can call this service to resolve an
external reference if an alias is part of a CAEX path in any query.
Registers a service to resolve external references.
The registered service.
Unregister this service
This method is used to load an outsourced CAEX document. The external representation for that document is defined
in the provided
ExternalReference object. The CAEXDocument is loaded as a new 'stand alone' document, which means that no libraries
of the
loaded document are merged to the original referencing document. The ExternalReference is not changed and all
external references
in the original document which use the alias name in a path- or id-reference will not change too. A merge of
documents can only
be requested by a service.
the ExternalReference object
If the ExternalReference doesn't have an alias, the document is not loaded. If a referenced document for the alias
already exists,
the existing document is returned.
Determines, if the provided path contains an alias and gets the resolved document
for that alias.
The CAEX document, which provides the ExternalReference to resolve the 'Alias'.
The CAEX path which contains an 'Alias'.
The resolved document for the alias, extracted from the path.
Gets all already resolved externals for the provided CAEXDocument containing ExternalReference objects
The CAEX document, containing ExternalReference objects.
An enumeration of all CAEX documents, which have been loaded from the ExternalReferences.
Clears the disposed documents from the dictionary
Adds the specified reference to the node collection assigned to the provided key.
If no node collection exists, a new collection is added for the given key.
Before the reference is added, it is checked, if referenced elements exist. If no element exists,
the reference is not added. If elements exists, these elements are added too.
The key.
The attribute used to reference an element.
The referenced Element if not null
The node collection, if the reference was added; otherwise false.
Updates all name references, which use the provided "oldName" to reference an element.
The old name.
The new name.
The referenced element, which will change its name from oldName to newName.
Gets all attributes from the reference collection, which define references to the provided element.
The reference collection.
The referenced element.
All attributes from the reference collection, which define references to the provided element
This class implements a merge service which is able to merge CAEX documents from different sources into one
common document. The merge service adds the libraries from the external referenced file into the target document
and updates all references, which use an alias and can be resolved after the merge. If a library, which is used
in the external source, also exists in the target document, this library is replaced, if the library version in the
external source is newer. If not the existing library is kept. If an InstanceHierarchy in the external source can
be identified as an outsourced Master InternalElement, it is tried to add the Master InternalElement back to its
original position.
Registers a new instance of a MergeService with the of the AMLEngine.
The service instance
Unregisters this service
Merges the defined ExternalReference into the provided CAEXDocument. The source is loaded from the provided
external source stream.
The document.
The external reference.
The external source stream.
The merge protocol.
if set to true the service performs a schema transformation if necessary.
true, if merge was successful
Merges the defined ExternalReference into the provided CAEXDocument.
The document.
The external reference.
The merge protocol.
if set to true the service performs a schema transformation if necessary.
true, if merge was successful
Gets the external libraries from the source which should be imported into the target.
The target.
The source.
The protocol.
Tries to load the external source which is defined in the external reference.
The document.
The external reference.
The source.
The merge protocol.
if set to true [automatic transform].
true, if loaded; otherwise false.
The Aml.Engine.Services namespace contains classes that define and implement specific Services
that provide additional features for the processing of AMLDocuments. Registered services
are located by the AMLEngine and can enhance API methods to provide faster queries or automated
name assignment to added elements.
This interface defines methods, each NodeDictionary should provide.
Adds the specified element to the node collection identified with the provided key.
If no node collection exists, a new collection is added for the given key.
The key.
The element.
The node collection
Adds the specified reference to the node collection assigned to the provided key.
If no node collection exists, a new collection is added for the given key.
The key.
The attribute used to reference an element.
The referenced element, if already known.
The node collection
Removes the element. If this is the last element in the
collection, remaining references will be deleted and the key is deleted from the dictionary.
The key.
The node.
if set to true reference attribute values will be set to null.
Removes the reference from the collection. If this is the last item in the
collection, the key is deleted from the dictionary.
The key.
The node.
This class implements a dictionary which allows the association of multiple nodes to the same key. The source of
the key is an attribute value of a CAEX object. The nodes are assembled into a .
Generic class for all node dictionaries
Gets and sets the with the specified key. If no entry exists, the value is
null.
The key.
a node collection
Adds the specified element to the node collection identified with the provided key.
If no node collection exists, a new collection is added for the given key.
The key.
The element.
The node collection
Adds the specified reference to the node collection assigned to the provided key.
If no node collection exists, a new collection is added for the given key.
The key.
The attribute used to reference an element.
The referenced element, if already known.
The node collection
Removes the reference from the collection. If this is the last item in the
collection, the key is deleted from the dictionary.
The key.
The node.
Removes the element. If this is the last element in the
collection, remaining references will be deleted and the key is deleted from the dictionary.
If updating is enabled, the registered references will all get a value of null.
The key.
The node.
if set to true [update references].
Removes the unused references in a collection. Unused references may exist, after an element
is deleted.
The collection.
The element.
Updates the references in a collection. Updates are applied, if the updating mode is
on and a referenced element is removed or changed.
The collection.
The element.
The value.
if set to true the referenced element has been deleted.
The actual registry key.
This class is used to get key-based access to XML nodes of an CAEX document using an identifying string.
Currently the CAEX ID and the CAEX Name of an XML node are valid keys. The class currently
uses three different tables to store nodes. The IDTable is used to identify nodes with the CAEX ID. The
PathTable is used to identify nodes with the CAEXPath and the Alias of an ExternalReference object is
used to identify nodes which contain references to nodes which are not contained in the current document
but stored in an externally referenced document.
The Key used to identify elements which define a reference attribute but with an invalid value
The Key used to identify elements which don't define an ID but should have one.
The Key used to identify elements which don't define a reference attribute but should have one.
Initializes a new instance of the class.
The root.
Gets the alias table. This Table contains the ExternalReference objects as well as the references using
the alias of the ExternalReference.
Gets the identifier table. This Table contains the Elements identifiable by an ID as well as the references
to the element using the ID.
Gets the name table. This Table contains the Elements which reference another element using the name of that
element.
Gets the path table. This Table contains the Elements identifiable by a CAEXPath as well as the references
to the element using the Path.
Gets the root which creates the dictionary.
Adds the specified XML element and all its descendants to the table. An element is added
if it is a CAEXClass ,
an element with an identifier ,
an element with an ID reference or
an element with a Path reference .
The service.
The element.
Adds the provided node if not already added using its CAEX ID as the key. If the ID is missing, the node
is added with the "NOKEY" identifier.
The node.
Adds the provided node if not already added using its ID reference attribute as the key.
The service.
The node.
Adds an lookup table entry with name reference.
The service.
The node.
Adds the node using its path reference attribute as the key.
The service.
The node.
Finds all the elements, which are identifiable by a CAEX path and are descendants of the
specified CAEX object. Only elements are included, which can be referenced by their path
from other CAEX objects. These includes also the elements, which
represent an element on the path (like class libraries). The elements are put into a lookup table,
using the path as a key.
Elements, having the same CAEX path are grouped together.The Elements are represented as
.
The CAEX object.
Elements, which are identifiable by a CAEX path.
Finds all elements with IDs, which are descendants of the provided CAEX object.
Elements, using the same ID are grouped together.
The CAEX object.
Elements with an ID
Finds all the elements, which are have a reference to a class using a CAEX path. The elements are put into a
dictionary,
using the path as a key. The Elements are represented as .
Finds all elements which have references to other elements using the ID of the referenced element
Finds all elements with IDs.
Finds all elements with a name reference, which are descendants of the provided CAEX objects. Elements
using the same name in their reference are grouped together. A name reference uses the CAEX attribute Name
of another CAEX object to reference that CAEX object.
The CAEX object.
Elements with name references.
Finds the table value using the Alias as a key
The alias.
the identified table value
Finds the table value using the ID as a key
The ID.
if set to true [is alias].
the identified table value
Finds the table value using the path as a key
The path.
if set to true [is alias].
the identified table value
Gets all ExternalInterface objects which are used in InternalLinks.
A collection of all ExternalInterface objects, having an associated InternalLink.
Called when [changed reference].
The service.
The instance containing the event data.
The change mode.
Handles the event.
The service.
The instance containing the event data.
The change mode.
Updates the complete table for all descendants of the associated root node.
The service.
The element.
if set to true [automatic update].
This method is used to handle a name change for any CAEX element, which is a CAEXClass. It will updated the
elements registration
and also - if the auto update is enabled - the updates for all references to this element and nested CAEXClass
elements.
The instance containing the change information.
The change mode.
if set to true [is automatic update enabled].
Determines whether the specified key is a special reference key used to identify
invalid and missing references.
The key.
true if the specified key is a special reference key; otherwise, false.
this methods applies the specified action on all IDReference attributes of the provided node.
The node.
The action.
this methods applies the specified action on all Name Reference attributes of the provided node.
The node.
The action.
this methods applies the specified action on all path reference attributes of the provided node.
The node.
The action.
Get the key to identify items which use an alias in their reference. If the reference doesn't contain
an alias, the result is null.
The reference.
The path parts array, which is created to identify an alias in the reference.
If an alias is identified, this is the alias table.
Builds an ID-Key from the provided reference.
The reference.
The attribute.
Name of the attribute.
The owner.
The table which has to be used with the identified key.
Get the key to identify items which use an ID in their reference. If the reference is not a valid
GUID, the key is set to INVALIDREF.
The key.
Builds a Name-Key from the provided reference.
The reference.
The attribute.
Name of the attribute.
The owner.
The path parts.
The table, which has to be used with the identified key.
Get a key to identify items, which don't define a reference but need to do so.
The attribute.
Name of the attribute.
The owner.
Builds a Path-Key from the provided reference.
The reference.
The attribute.
Name of the attribute.
The owner.
if set to true [is alias].
The path parts.
Removes the node, registered with its ID from the table. All references to the ID are moved
to the 'invalid' entry.
The node.
if set to true [update references].
Removes the ID-references registered with this node from the table.
The service.
The node.
Removes the Name-references registered with this node from the table.
The service.
The node.
Removes the node, registered with its CAEXPath from the .
The node.
if set to true [update references].
Removes all path references which have been registered with this node.
The service.
The node.
This class implements a list of s. The list may contain different
types of objects, s and s.
Gets all XAttributes from the Node list.
Gets all XElements from the Node list.
Gets a value indicating whether this instance contains a. An XAttribute represents
a reference to another node. The reference element is the parent of the attribute.
true if this instance has references; otherwise, false.
Gets all XElements from the Node list which are references. These are all parent nodes of the
attribute elements in the list.
Adds the specified node to the list, if it is not already contained.
The node.
This class is a query service based on dictionaries.
Initializes a new instance of the class.
Occurs when any reference has been updated.
Gets or sets a value indicating whether this instance will automatically update
cross references between AutomationML objects.
true if the automatic update is enabled; otherwise, false.
Registers a new instance of a LookupService with the of the AMLEngine.
The service instance
Unregisters this service
Adds the document to the query service. All tables for the document will be created.
The document.
doc
Removes the document from the query service. All tables for the document will be unloaded.
The document.
doc
Gets all classes which have references to the provided class path. Use this method to get all classes which have
a class to class relation to the class, identified by the provided classPath. If the
is
set, only classes with the defined element name are considered.
The CAEX document which is searched through.
The class path.
Name of the element. Valid values are 'RoleClass', 'SystemUnitClass', 'InterfaceClass' and
'AttributeType'.
An enumeration of all classes which use the identified class as a base class.
Gets all classes which have references to the provided CAEX object. Use this method to get all classes which have
a class to class relation to the provided CAEX object.
The CAEX object.
An enumeration of all classes which use the provided CAEX object as a base class.
Gets all classes which have references to the provided CAEX object and their referencing classes (recursive).
This method extends the
and gets not
only the directly
derived classes of a base class but also the derived classes of these classes and further on.
The CAEX object.
The derived classes tree for the specified base class.
Gets all classes which have references to the provided CAEX object and their referencing classes (recursive).
This method extends the
and gets not only the directly
derived classes of a base class but also the derived classes of these classes and further on. If the
is
set, only classes with the defined element name are considered.
The CAEX document which is searched through.
The class path.
Name of the element. Valid values are 'RoleClass', 'SystemUnitClass', 'InterfaceClass' and
'AttributeType'.
Gets all the elements which are descendants of the provided CAEX object and are identifiable by a CAEX path.
Elements having the same path are grouped together.
Use this method to validate the existence of ambiguous CAEXPaths.
The CAEX object.
Lookup table of elements which are identifiable by a CAEX path.
caexObject
Gets all the elements which are descendants of the provided CAEX object and use an alias reference.
Elements referencing the same Alias are grouped together.
Use this method to validate the existence of referenced externals. If the is
set, only elements with the defined element name are considered.
The CAEX object.
If parameter is set, only elements with the given element Name are considered.
Lookup table of elements with Alias references. The Alias part of the CAEXPath is used as a dictionary key.
Gets all the elements which are descendants of the provided CAEX object and use a path reference.
Elements referencing the same path are grouped together.
Use this method to validate the existence of referenced classes. If the is
set, only elements with the defined element name are considered.
The CAEX object.
If parameter is set, only elements with the given element Name are considered.
Lookup table of elements with path references. The CAEXPath is used as a grouping key.
caexObject
Gets all the elements which are descendants of the provided CAEX object and which use identifier references.
Elements referencing the same ID are grouped together.
Use this method to validate the existence of referenced IDs. If the is
set, only elements with the defined element name are considered.
The CAEX object.
If parameter is set, only elements with the given element Name are considered.
Lookup table of elements with ID references. The ID is used as a dictionary key.
caexObject
Gets all the elements which are descendants of the provided CAEX object with IDs.
Elements using the same ID are grouped together.
Use this method to validate the uniqueness of IDs.
The CAEX object.
If an ID is specified, only elements with the defined ID are searched.
Lookup table of elements with IDs. The ID is used as a dictionary key.
caexObject
Returns all Elements which are descendants of the provided CAEX object with InternalLinks.
These elements are the owners of the InternalLink objects.
The returned collection may contain InternalElements and SystemUnitClasses as well.
The CAEX object
A collection of all objects with associated InternalLinks.
caexObject
Note the difference to the method
which doesn't return the
owners of an InternalLink but the related elements.
Gets all the elements which are descendants of the provided CAEX object and use a name reference.
Elements referencing the same name are grouped together.
Use this method to validate the existence of referenced elements.
The CAEX object.
Lookup table of elements with name references. The name is used as a grouping key.
caexObject
Returns all ExternalInterfaces in the provided document or optionally
in the caexObject and descendants, which are
instances of the standard Interface class
.
The document.
Optional parameter, defining a possible start object for the query.
A collection of all ExternalInterface which are instances of the
standard Interface class .
Returns all ExternalInterfaces in the provided document or optionally
in the caexObject and descendants, which are
instances of the Interface class defined by the provided .
The document.
The CAEX ClassPath of the InterfaceClassType
Optional parameter, defining a possible start object for the query.
A collection of all ExternalInterface which are
instances of the Interface class defined by the provided .
Returns all InternalElements which are descendants of the provided CAEX object with InternalLinks.
These elements are the owners of the InternalLink objects.
The CAEX object
A collection of all objects with associated InternalLinks.
caexObject
Note the difference to the method
which doesn't return the
owners of an InternalLink but the related elements.
Returns all Mirrors of the specified Attribute
The master.
An enumeration of mirror Attribute objects
Gets alls the elements which are descendants of the provided CAEX object
which use the provided Alias in a reference. The elements in the result collection are
references, which define the CAEX object and the attribute, containing the reference
.
If the is
set, only elements with the defined element name are considered.
The CAEX object.
The Alias.
If parameter is set, only elements with the given element Name are considered.
a collection of element references which use the provided Alias in a reference
caexObject
Gets alls the elements which are descendants of the provided CAEX object
which have a reference to the provided CAEXPath. The elements in the result collection are
references, which define the CAEX object and the attribute, containing the reference
.
If the is set, only elements with the defined element name are considered.
The CAEX object.
The path.
If parameter is set, only elements with the given element Name are considered.
a collection of element references which have a reference to the provided Path^.
Gets alls the elements from the document which have a reference to the provided ID. The elements in the result
collection are
references, which define the CAEX object and the attribute, containing the reference
.
If the is
set, only elements with the defined element name are considered.
The CAEX object.
The identifier.
If parameter is set, only elements with the given element Name are considered.
a collection of element references which have a reference to the provided ID
caexObject
Returns all InternalElements and SystemUnitClasses which are descendants of the provided CAEX object,
which are related to others via InternalLinks.
The CAEX object.
A collection of related SystemUnitClass objects
caexObject
Note the difference to the method
which doesn't return the
related elements but the InternalLink owners.
Returns all Mirrors of the specified ExternalInterface
The master.
An enumeration of mirror ExternalInterface objects
Locates a CAEX object in the provided document using the specified ID - Attribute for identification.
The document.
The identifier.
if set to true tries to resolve an alias reference with an ExternalReferenceResolver
service.
The located object with the specified ID or null.
Locates a CAEX object in the provided document using the specified CAEX - Path for identification.
If the path uses an alias reference and an can be located,
it is tried to resolve the external reference and to get the object from the external source.
The document.
The path.
if set to true tries to resolve an alias reference with an ExternalReferenceResolver
service.
The first object which is found (if the path is not a unique identifier, than more than this object may exist).
doc
Returns all ExternalInterface objects which are descendants of the provided CAEX object
and are used in relations (InternalLinks).
The CAEX object.
A collection of related ExternalInterface objects
caexObject
Returns all Mirrors of the specified InternalElement
The master.
a collection of mirror InternalElements
master
Gets all InternalLinks that reference the specified InternalElement or SystemUnitClass.
The InternalElement or SystemUnitClass.
a collection of InternalLinks.
systemUnitClass
Gets all InternalLinks that reference the specified ExternalInterface.
The ExternalInterface.
a collection of InternalLinks.
externalInterface
Determines whether the specified InternalElement is referenced by other InternalElement
objects called 'Mirrors'.
The InternalElement object.
true if the specified element is a 'Master'-InternalElement; otherwise, false.
internalElement
Determines whether the specified ExternalInterface is referenced by other ExternalInterface
objects called 'Mirrors'.
The ExternalInterface element.
true if the specified element is a 'Master'-ExternalInterface; otherwise, false.
externalInterface
Determines whether the specified AttributeType is referenced by other AttributeType
objects called 'Mirrors'.
The element.
true if the specified element is a 'Master'-Attribute; otherwise, false.
Determines whether the specified CAEX object is referenced.
The CAEX object.
true if the specified CAEX object is referenced; otherwise, false.
RemoveDeletedElement the element which is deleted.
The element.
The PathDictionary contains nodes which are identifiable with a CAEXPath or which have
references using a CAEXPath.
Gets and sets the PathReferenceCollection for the last table which can be located with
the given path parts, where the last part defines the target table.
The .
The parts of a path. These parts are build from a CAEXPath.
The index.
the identified PathReferenceCollection
Gets and sets the PathReferenceCollection for the last table which can be located with
the given path parts, where the last part defines the target table.
The parts of a path. These parts are build from a CAEXPath.
The index.
the identified PathReferenceCollection
Removes the reference from the collection. If this is the last item in the
collection, the key is deleted from the dictionary.
The key.
The node.
TODO: There is a big confusion in this method because the parameter order is not same with the base
newValue/oldValue
Adds all nodes, which are identifiable with the given node and the path parts
to the appropriate table. The name of each node should be equal to its path part.
The provided node's path is identifiable with the full path (all path parts).
The path parts.
The node.
Adds the reference.
The path parts.
The object.
Gets all elements, which are identifiable with a CAEXPath for this table and all included sub tables.
collection of elements from all tables
Gets all elements, which are references for this table and all included sub tables.
collection of attributes from all tables
Gets the dictionary which contains the node entries, assigned to the specified path parts.
The path parts.
Removes the element from the path table. To remove the element, the elements dictionary
is located using a deep scan along the hierarchy path. If the leave node is reached, which contains
the element, the element is deleted and the ancestor levels are updated to (if any higher level becomes
empty).
The path parts.
The element.
if set to true [update references].
Removes the reference. To remove the reference, the reference dictionary
is located using a deep scan along the hierarchy path. If the leave node is reached, which contains
the reference, the reference is deleted and the ancestor levels are updated to (if any higher level becomes
empty).
The path parts.
The Attribute defining the reference to an element.
Updates the element.
The path parts old.
The path parts new.
The element.
This class defines the properties and methods of any value, stored in a .
A TableValue allows the construction of a hierarchical table structure. This is used to
support access to XML nodes using a .
Gets a value indicating whether this instance has a table of subordinate elements
true if this instance owns a table; otherwise, false.
Gets the table of associated registered elements.
This class is an implementation of a split service. This service
is able to split one into multiple files using split points.
Initializes a new instance of the class.
Registers a new instance of a SplitService with the of the AMLEngine.
The service instance
Unregisters this service
Removes the split point for the provided CAEX object.
The CAEX object.
Removes the document from the internal registry of the split service. All registered split points for this document
will be removed.
The document.
Sets the split point for the provided CAEX object. If the actual list of split points for
the same document already contains a split point which is a child of the provided CAEX object,
this existing split point is removed from the list.
The CAEX object.
Splits the specified document on all currently defined split points. The
created libraries are saved in an AutomationML document and an ExternalReference
is created, using the specified alias. All remaining references to the
external source are renamed using the provided alias. After splitting,
the document doesn't contain any SplitPoints any more.
The document.
The alias.
The file path.
The Split document
document or alias or filePath
File path is equal to source document
Splits the specified source document.
The source document.
The split point.
The alias.
The file path.
sourceDocument
or
alias
or
filePath
File path is equal to source document
Gets a collection of all split points for the provided document.
The document.
all split points for this document.
All alias references are checked and the necessary externals are copied from the source document.
Adds the external reference for the provided alias to the source document if needed.
The source document.
The alias.
The file path.
this handler reacts on deleting elements and updates the split point list if needed
The sender.
The instance containing the event data.
Splits the internal element. ID references which stay in the source document but point to the split document are
changed
to ALIAS references.
The source document.
The split document.
The internal element.
The alias.
Splits the library. Path references and ID references which cross the library border are changed to alias
references.
The source document.
The split document.
The library.
The alias.
Checks the created external references in the source document, if they are still needed after every split point is
processed.
Additionally the outgoing references of the created split document are checked and the needed externals are
created.
The source document.
The split document.
The alias.
This class creates a new document with CAEX version 2.15 by transforming a document with CAEX version 3.0
Executes the downgrade from Schema 3.0 to 2.15
New document with CAEX version 2.15
This class defines a service for a schema transformation. The service supports transformation
of CAEX documents from CAEX Version 2.15 to version 3.0 and back. Backwards transformation
can result in a loss of information.
Prevents a default instance of the class from being created.
Raised from the ShemaTransform service when a transformation has started.
Raised from the ShemaTransform service when a transformation has ended.
Registration of a new
The registered CAEX Schema Transformer.
Unregisters this service
Method to do a schema transformation for the provided document to the defined schema.
This method can be used for upward and downward transformations.
the document to be transformed
the target schema
the transformed document
This class creates a new document with CAEX version 3.0 by transforming a document with CAEX version 2.15
Executes the upgrade from Schema 2.15 to 3.0
New document with CAEX version 3.0
Converts the supported role type to role requirement type
Parent internal element for supported roles
The role requirement object.
ReferenceElement is a Tuple of an XElement 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.
Initializes a new instance of the class.
The XML node.
Name of the reference attribute.
Gets the XML node.
The element.
Gets the name of the reference attribute of the
The name of the reference attribute.
gets the value of the Reference Attribute
Gets the CAEX object which owns the reference.
Determines whether the specified is equal to this instance.
The to compare with this instance.
true if the specified is equal to this instance; otherwise, false.
Returns a hash code for this instance.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
This class defines a command that contains a collection of commands. This collection is treated
as a transaction. If a transaction is undone, all commands in the transaction will be undone too.
This class implements an Undo and Redo service. When this service is registered, changes in an AutomationML
document
can be reversed. A sequence of actions can be grouped into transactions which than can be reversed
within a single undo operation. The AMLEngine will locate a registered UndoRedoService and will notify
the service of any changes, made to a document. The service manages individual stacks for each loaded CAEX
document.
Prevents a default instance of the class from being created.
Occurs when a property value changes.
Removes the XML document from the internal registry of the service.
Undo- and Redo Stacks for this document will be deleted.
The document.
Request to not record changes of the specified document.
The document.
Request to resume recording changes of the specified document.
The document.
Registers a new instance of a UndoRedoService with the of the AMLEngine.
The service instance
Unregisters this service
Begins a new transaction. All changes, made to a CAEXDocument inside a transaction are treated as a single
operation.
The CAEX document to which the transaction should be associated.
A friendly name for this transaction.
If the transaction started.
Determines, if the service can redo a command
The document.
true if this instance can redo any undone command from the specified document; otherwise, false.
Determines, if the service can undo a command.
The document.
true if this instance can undo any command from the specified document; otherwise, false.
Clears the stacks, managed for the specified document.
The document.
Ends the current transaction from the specified document.
The document.
No matching Transaction Begin
If the transaction ended
A command is pushed on the undo stack of this service.
the CAEX command.
Executes the last undone operation from the specified document again.
The document.
Gets the date of the most recently executed command for the specified document.
The document.
if set to true the last undo operation is considered; otherwise the last redo operation.
Gets the command names of all redo actions for the defined document.
The document.
List of command names
Reverses the last action of the defined document.
The document.
Gets the command names of all undo actions of the defined document.
The document.
List of command names.
This class defines methods for a unique name service. The names of CAEX-Objects in a Sequence of
Elements should all be unique. If a unique name service is registered, the AMLEngine will
automatically call this service for a unique name generation whenever a new element is added
to a sequence which requires a unique name for its members.
This services uses a generation pattern which consists of the specified default name followed by
a generated ordinal number of the elements in a sequence.
Registers a new instance of a UniqueNameService with the of the AMLEngine.
The service instance
Unregisters the current instance of the UniqueNameService with the of the AMLEngine.
Determines whether the specified element has a unique CAEX name in the sequence of equal elements
of its parent.
The element.
true if the elements name is unique, otherwise false.
Registers the default name for all CAEX objects with the provided element name.
Name of the element.
The default name.
Resumes activities of the unique name service.
Suspends activities of the unique name service.
Creates a unique CAEX Name for a child with the specified elementTagName in the specified sequence
The sequence of elements.
Name of the element tag.
a unique name using the registered default extended with an added number, representing the maximal number
elementTagName
Creates a unique CAEX Name for a child with the specified elementTagName in the specified sequence using the
specified
defaultName
The sequence.
Name of the element tag.
The default name.
a unique name using the registered default extended with an added number, representing the maximal number
elementTagName
elementTagName
Enumeration RepairTypeEnum
The options which are related to ID validation issues
The options which are related to Name validation issues
The options which are related to ID reference validation issues
The options which are related to Path reference validation issues
This Flag cause the generation of a unique ID for all Empty IDs
This Flag cause the generation of a unique ID for all Double IDs
This Flag cause the renaming of all empty Names with an automatic name generation algorithm.
To apply this method, a has to be registered,
This Flag cause the removal of all references where the Reference Value is empty
This Flag cause the removal of all ID References where the ID Value has not been resolved
This Flag cause the removal of all Path References where the Path reference Value has
not been resolved
This Flag cause the generation of a new name for an element, when it's CAEX-Path is
double so that the Path is unique.
To apply this method, a has to be registered.
This Flag cause the generation of a writer header
This Flag cause the generation of an AutomationML Version header
This Flag cause the correction of the Schema Version
This Flag cause the generation of a new GUID for existing GUID's with invalid formats
This Flag cause the generation of a new reference without the alias
This Flag cause the generation of source document information
This Flag cause the deletion of an element
This Flag cause the deletion of an element which reference an element out of the allowed scope.
This Flag cause the generation of a valid file URL in an ExternalDataConnector to a localized file.
This Flag cause the removal of all Name References where the Name reference Value has
not been resolved
The Option None indicates, that nothing should be done
Extensions for
Converts the specified repair option to a readable string
Option for repairing an element.
a readable string describing the repair option
Class ValidationElement is a Tuple of an XElement and associated detailed
Information about any inconsistencies, assigned with that Element.
Checks the validation of the element
Initializes a new instance of the class.
The element.
The validation key.
constant string, defining validation elements which are yet not repaired.
Gets the available repair options.
Gets the CAEX element wrapper for the XElement.
Gets the element which has been validated.
Gets information about the result of a repair operation for one element.
Gets or sets the validated attribute.
Gets a short information about the validation of one element.
Gets a longer description containing more detailed information about a validation issue. To get this information,
the informative mode
shall be enabled when the validation is performed.
Gets the type of the validation.
Determines whether the specified object is identical to the current object.
The object to be compared with the current object.
,if the specified object and the current object are the same, otherwise
.
Returns a hash code for this instance.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Repairs a missing or invalid SchemaVersion.
Repairs a missing or invalid AutomationML version.
Repairs the writer header.
Class ValidationKey.
Initializes a new instance of the class.
The key.
Type of the validation.
Gets the key.
The key.
Gets the type of the validation.
The type of the validation.
This class defines methods to assist the interpretation of validation results.
Gets the Alias reference validation results from the validation result list.
The validation result.
All validation results, which are related to CAEX objects which use an Alias to
reference CAEX objects in external sources.
Gets the File reference validation results from the validation result list.
The validation result.
All validation results, which are related to External References with a not Locatable external reference
Gets the CAEXPath validation results for CAEX classes from the validation result list.
The validation result.
All validation results, which are related to the CAEXPath of a CAEX class.
Gets the ID reference validation results from the validation result list.
The validation result.
All validation results, which are related to CAEX objects which use IDs to
reference other CAEX objects.
Gets the Path reference validation results from the validation result list.
The validation result.
All validation results, which are related to CAEX objects which use CAEX path to
reference other CAEX objects.
Gets the Name reference validation results from the validation result list.
The validation result.
Currently only name references from mapping objects are validated
All validation results, which are related to CAEX objects which use a Name to
reference other CAEX objects.
Gets the ID validation results from the validation result list.
The validation result.
All validation results, which are related to the CAEX object ID attribute.
Gets the MetaData validation results from the validation result list.
The validation result.
All validation results, which are related to MetaData assigned to a CAEXFile.
Gets the validation results for all MetaData which are related to the AutomationML Version
The validation result. Use the
as a parameter for this method.
All validation results, which are related to MetaData which are related to the AutomationML Version.
Gets the validation results for all MetaData which are related to the CAEX Schema Version
The validation result. Use the
as a parameter for this method.
All validation results, which are related to MetaData which are related to the CAEX Schema Version.
Gets the validation results for all MetaData which are related to missing source information in an AML file.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to missing source information in an AML file.
Gets the validation results for all elements with wrong formatted IDs.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to wrong formatted CAEX object IDs.
Gets the validation results for all elements which are not uniquely identifiable with a CAEX path
The validation result. Use the
as a parameter for this method.
All validation results, which are related to wrong named CAEX objects which are referable.
Gets the validation results for all elements which are repairable
The validation result.
All validation results, which are repairable.
Gets the validation results for all elements which are not repairable
The validation result.
All validation results, which are not repairable.
Gets the validation results for all elements with ID references which are not resolvable.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to ID references which are not resolvable.
Gets the validation results for all elements with CAEX path references which are not resolvable.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to path references which are not resolvable.
Gets the validation results for all elements with CAEX path references which are not resolvable.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to path references which are not resolvable.
Gets the validation results for all elements with ID references which are empty.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to ID references which are empty.
Gets the validation results for all elements with missing IDs.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to missing CAEX object IDs.
Gets the validation results for all elements with IDs which are not unique in the document.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to CAEX object IDs which are not unique.
Gets the validation results for all elements with references to an Alias, but no ExternalReference with that Alias
is defined.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to CAEX objects which use an undefined ExternalReference alias.
Gets the validation results for all elements with references to an Alias, where the ExternalReference has been
merged into the
document already.
The validation result. Use the
as a parameter for this method.
All validation results, which are related to CAEX objects which reference an external source which is already
merged.
Enumeration ValidationTypeEnum
The identifier validation indicates ID related issues. like a double or missing ID or a wrong formatted ID.
The issues are repairable, if the ID is not referenced.
The class path validation indicates a double ClassPath or missing Path
The attribute path validation indicates a double AttributePath or missing Path
The path reference validation indicates a missing or unresolved reference to a class
The name validation indicates a missing or not allowed name
The ID reference validation indicates a missing or unresolved reference to an object
with an ID
The alias validation
The validation result has constituted an alias in an external reference which is not merged
The validation result has constituted a missing alias in an external reference
The file reference validation indicates a wrong FilePath in an external reference, which couldn't be resolved to an
existing file
The role attribute reference validation indicates a wrong reference to a role Attribute in a Mapping
The role Interface reference validation indicates a wrong reference to a role Interface in a Mapping
The SystemUnitClass attribute reference validation indicates a wrong reference to a SystemUnitClass Attribute in a
Mapping
The SystemUnitClass Interface reference validation indicates a wrong reference to a SystemUnitClass Interface in a
Mapping
This Flag indicates a cyclic dependency between classes
The automationML meta data validation indicates a couple of validation issues with metaData, as a missing schema
name or writerHeader
This service is defined for the validation of an AML document. Additionally the
service can also be used to repair specific invalid properties in a document.
Normalizes a file path and resolves relative paths
a string with a relative path
The CAEX file.
a normalized file path string
The invalid schema key
The no AML version key
The no name key
The no schema key
Registers a new validator service.
The registered validator service.
Unregisters the validator service.
Validates the ID of a CAEX object. IDs of CAEX objects shall be unique.
The CAEX object.
The ID, which should be assigned to the object. If no ID is defined, the uniqueness of the already
assigned ID is evaluated.
A value tuple, returning the validation result and a message
Validates a name of a CAEX object. Names of CAEX classes or types (RoleClasses, InterfaceClasses,
SystemUnitClasses and AttributeTypes), Attributes,
Libraries and CAEX InstanceHierarchies shall be unique across its siblings or across all child elements of the same
CAEX parent element over its life time.
This shall assure that referencing a library, a class, a type or an attribute by its path delivers a unique result.
The CAEX object.
The name, which should be assigned to the object.
A value tuple, returning the validation result and a message
Repairs the specified validated element.
The validated element.
true if the element has been repaired, false otherwise.
Get Validation Information for all elements in the specified document, which have validation issues. The
provides detailed information about available Repair
Options and an additional Information Text.
The CAEX document.
if set to true [generate long description].
An enumeration of validation information for CAEX objects. One CAEX object may have multiple
occurrences with different validation issues in this collection.
Get Validation Information for all elements in the specified document, which have validation issues. The
provides detailed information about available Repair
Options and an additional Information Text. This method should be used, if the Document is loaded from an
AutomationML container. The Validation service will check validity of external references which are packed
parts of the container.
The CAEX document.
The AutomationML container, containing the document source.
if set to true generate long description for each validation issue.
A collection of validation information for CAEX objects. One CAEX object may have multiple
occurrences with different validation issues in this collection.
Get Validation Information for all elements in the specified document, which have validation issues. The
provides detailed information about available Repair
Options and an additional Information Text.
The CAEX document.
If set, the associated parts, defined in the AutomationML container are used to validate
external references.
if set to true [generate long description].
An enumeration of validation information for CAEX objects. One CAEX object may have multiple
occurrences with different validation issues in this collection.
Validates the alias references and returns the validation result describing possible repair options. The
provides detailed information about available Repair
Options and an additional Information Text.
The CAEX document.
if set to true [generate long description].
Gets the alias reference validation issues for the specified document.
The document.
set, if a validation long description should be added to the result
Gets all validation issues for the specified document.
The document
if set to true [generate long description].
Gets the AutomationML version validation issues.
The document.
if set to true [generate long description].
Gets the CAEX schema validation issues.
The document.
if set to true [generate long description].
Gets the external reference validation issues.
The document.
if set to true [generate long description].
Gets the identifier reference validation issues.
The document.
if set to true [generate long description].
Gets all ID validation issues for the provided document
The document.
if set to false [only warning will be issued during troubleshooting of ID of
InternalElement in SUCLIB.
Determine if IE is under SystemUnitClassLib
Gets the meta data validation issues for the specified document.
The document.
if set to true [generate long description].
Gets the validation issues for elements which reference another element using a CAEXPath.
The document.
if set to true [generate long description].
Gets the validation issues for elements which should be identifiable with a CAEXPath.
the document
set, if a validation long description should be added to the result
a collection of validated elements.
Gets validation issues for source document or writer header information
The document.
a collection of validated elements.
Validates the alias reference of the specified document and the provided path and item.
The document.
The path which contains an alias.
The alias reference item.
set, if a validation long description should be added to the result
a collection of validated elements.
Validates the external reference.
The CAEX file.
The alias.
if set to true [generate long description].
a collection of validated elements.
Validates the identifier reference of the specified document and the provide ID reference and the reference item.
The document.
The ID reference.
The reference item.
if set to true [generate long description].
Validates the path reference of the specified document for the provided path and reference item.
The document.
The path.
The reference item.
if set to true [generate long description].