AML.Engine
This class provides methods, which exists in the old AMLEngine_v3.x.x and are no longer supported. These methods are
provided to support the migration of legacy code.
Getting an enumerable of all Elements with InternalLinks of all
InstanceHierarchies and SystemUnitClassLibraries in the CAEXFile. The
enumeration may return InternalElements or SystemUnitClass elements.
An IEnumerable with SystemUnitClasses is returned.
Getting an enumerable of InternalElements with InternalLinks of all
InstanceHierarchies and SystemUnitClassLibraries in the CAEXFile.
An IEnumerable with InternalElements is returned.
Returns all SystemUnit Classes which are ancestors of this. This SystemUnit Class is
included in the enumeration as the first Element, The farthest is the last Element in
the enumeration.
IEnumerable<SystemUnitClassType>.
Assigns new GUIDs to this InternalElement and all of its child InternalElements
Assigns the new GUIds and redirect existing internal links.
If you want an assignment of new GUIDs with updated references, make a copy of the SystemUnitClass and replace the
old
class with the new class.
The system unit class.
if set to true [include system unit classes].
This Method assigns new GUIds to the SystemUnitClass and its subordinate Children, which have an ID. The References
to the
old IDs in Mirrors and InternalLinks are redirected to the new ID. If a Reference is not found in any of the
subordinate
Elements, the Reference will not be changed.
If you want an assignment of new GUIDs with updated references, make a copy of the SystemUnitClass and replace the
old
class with the new class.
The system unit class.
if set to true [include system unit classes].
Enumeration Method for direct Children of Type
IEnumerable<AttributeType>.
A clone copy of this object
Clones the node.
The CAEX object.
if set to true [deep clone].
if set to true [assign new GUIDs to IEs].
The cloned node CAEXWrapper.
Check if the given classPath is a valid path to an existent class in the AML file.
The CAEX object.
The class path to check for validity.
True if a class at the given path exists, else false.
Creates a copy with a unique ID.
The internal element.
if set to true [deep clone].
InternalElementType.
Enumeration Method for direct Children of Type
IEnumerable<InterfaceClassType>.
Enumeration Method for all ExternalReferences of the CAEXFile.
IEnumerable<ExternalReferenceType>.
Searches for an ExternalInterface in this InternalElement
The system unit class.
Name of the ExternalInterface to search for
An ExternalInterface of the given element with name attribute equal to interfaceName
Resolve a reference to an InternalElement and return the referenced element if found.
The CAEX object.
The GUID of the InternalElement
The InternalElement with the specified GUID
Getting a List of all Elements with InternalLinks of all
InstanceHierarchies and SystemUnitClassLibraries in the CAEXFile. The List
may contain InternalElements and SystemUnitClass elements.
A List with InternalElements is returned.
Get the whole attribute field containing a collection of all attributes of this object.
The object with attributes.
CAEX_ClassModel.MemberElement_Attribute.
Gets the name of the referenced SystemUnit class.
The InternalElement.
Gets the name of the referenced InterfaceClass.
The InterfaceClass.
Gets the external interfaces.
IEnumerable<InterfaceClassType>.
Getting a List of LinkedObjects object of this SystemUnitClass containing references to the concrete referenced
InternalElements via an InternalLink.
The system unit class.
A list of linkedObjects for this SystemUnitClass. This list is empty if no InternalLink exists
Get the Name of the specified object.
The CAEX object.
If the caexObject is of type CAEXObject, the name is returned; otherwise string.Empty.
This method returns the parent CAEXBasicObject of the current CAEXBasicObject.
The CAEX file.
the CAEX Basic Object
the parent CAEXBasicObject
Getting the XML Node for a class path.
The CAEX object.
The full path to the referenced class. Hierarchies are separated via slash "/"
The XML Node of the desired class, or null if none found. Use FindFastByID for speed optimizations.
Parsing a string of form GUID:Interface and returning the GUID
The CAEX object.
A reference in form GUID:InterfaceClass
The GUID
Returns an attribute value of a given attribute name.
Object with attributes
name of attribute
attribute value, "" if attribute does not exist
Getting a referenced InterfaceClass. Use FindFastByPath for speed optimizations.
The CAEX object.
Full path to an InterfaceClass
The referenced InterfaceClass.
Getting the name of the referenced Interface.
The CAEX object.
A reference to a interface class in form GUID:InterfaceClass
The name of the referenced interface class or string.empty if separator char not found in string
Gets the referenced SystemUnitClass using the .
Inserting an element of base type TypeBase to this object. The Element is inserted at the first Element
of any existing Elements of the same Type if nothing else is explicit defined.
The CAEX object.
The element to insert.
Inserted at first element (true) or appended as last (false),
true if inserted, false otherwise.
Adding a MappingObject element to this InternalElement. It is only allowed to add one
MappingObject node.
The internal element.
The mapping object.
Adding a MappingObject element to this Supported Role.
The supported role element.
The mapping object.
Inserting a new class instance to this object. This method can be overridden in derived classes.
The Instance is inserted as the first instance of any other element with the same type if nothing
else is explicit defined.
The CAEX object.
The instance of a class to be inserted at this object. The instance can be of type
if true, inserted as first (default), otherwise at last
,
True if insertion was successful, else false.
Inserting a RoleRequirement to this InternalElement. An exception is thrown if a
RoleRequirements is already existent.
The internal element.
The RoleRequirement to insert
A RoleRequirements node is already existent. It is not allowed to add more
than one RoleRequirements node to current element according to CAEX Schema
Appending the object into this object.
The system unit class.
The inserted system unit family.
The CAEX object.
an object to be inserted
if true, the element is inserted as the first of it's type, otherwise as the last.
true if successfully inserted, false otherwise.
Enumeration Method for all InstanceHierarchies of the CAEXFile.
IEnumerable<InstanceHierarchyType>.
Enumeration Method for all InterfaceClass Libraries of the CAEXFile.
IEnumerable<InterfaceClassLibType>.
Enumeration Method for direct Children of Type
IEnumerable<InternalElementType>.
Determines whether the InternalElement instance is an AMLFacet.
The internal element.
true if the specified internal element is an AMLFacet; otherwise, false.
Determines whether the InternalElement instance is an AMLGroup.
The internal element.
true if the specified internal element is an AMLGroup; otherwise, false.
Determines whether the InternalElement instance is an AMLPort.
The internal element.
true if the specified internal element is an AMLPort; otherwise, false.
Adding a new RoleRequirements element to this InternalElement. It is only allowed to add
one RoleRequirements node in CAEX 2.15.
The new RoleRequirements element
Adding a new RoleRequirements element to this InternalElement using the defined roleClassPath.
It is only allowed to add
one RoleRequirements node in CAEX 2.15.
The internal element.
The role class path.
RoleRequirementsType.
Adds a new required value to the NominalScaledType Constraint.
Type of the nominal scaled.
The value.
Adding a new RequiredMaxValue to this ordinal scaled constraint
Type of the ordinal scaled.
The value.
Adding a new RequiredMinValue to this ordinal scaled constraint
Type of the ordinal scaled.
The value.
Adding a new OldVersion node to this revision.
The revision.
The value.
Adding a new NewVersion node to this revision.
The revision.
The value.
Adding a new Comment node to this revision.
The revision.
The value.
Adding a new RequiredValue to this ordinal scaled constraint
Enumeration Method for all RoleClass Libraries of the CAEXFile.
IEnumerable<RoleClassLibType>.
Gets all Children Objects of this SystemUnitClass.
IEnumerable<SystemUnitFamilyType>.
Enumeration Method for all SystemUnitClass Libraries of the CAEXFile.
IEnumerable<SystemUnitClassLibType>.
This class can be used to access InternalLink data.
Initializes a new instance of the class.
The internal link.
Returns a that represents this instance.
A that represents this instance.
Gets or sets the Internal Link.
The Internal Link.
Gets the reference partner side A Internal Element.
The reference partner side a element.
Gets or sets the reference partner side A External Interface.
The reference partner side a external interface.
Gets or sets the reference partner side b Internal Element.
The reference partner side b element.
Gets or sets the reference partner side B External Interface.
The reference partner side b external interface.
Class AutomationMLContainer provides methods to save an AutomationML document and
related documents which are needed for the interpretation or representation of
AutomationML data into a single packed and zipped file. The various parts are
assembled into this AutomationMLContainer. The Class provides methods to retrieve
parts from a loaded container or for the assembly of parts into one single
container. A Utility, to build a self containing container from a loaded
CAEXDocument and the external referenced files, retrieved from the external
references and ExternalInterface classes is defined in a special service.
The AutomationML MIME type
The disposed flag
Releases unmanaged and - optionally - managed resources. All streams, used to
save the packages, are closed.
true to release both managed and unmanaged resources; false to
release only unmanaged resources.
Class RelationshipType describes the distinguished package part relationship
types. This class cannot be inherited.
Initializes a new instance of the class
with the specified name and the specified mime type.
The name.
The mime type.
relationship type for package to part or root part to part relations to any content.
relationship type for package to part relation to the CAEX schema part.
relationship type for package to part or root part to part relations to a COLLADA part.
relationship type for package to part relation to the COLLADA schema.
relationship type for package to part or root part to part relations to a part, containing an AutomationML library.
relationship type for package to part or root part to part relations to a PLCopenXml part.
relationship type for package to part relation to the PLCopenXml schema.
relationship type for the package to part relation to the part containing the root document.
Gets the mime type of the relationship
The mime type.
Gets the name of the relationship.
The name.
Creates a RelationshipType for any content. If no mime type is defined,
the relationship type is used.
The mime type.
RelationshipType.
Compares the current instance's name to another object's name of the same type and
returns an integer indicating whether the current instance's name occurs
in the sort order before or after the other object or at the same position.
An object to compare with this instance.
A value indicating the relative order of the objects being compared. The return value has the following meaning:
Less than zero: This instance is in the sort order before .
Zero: This instance occurs in the sort order at the same position as .
Greater than zero: This instance follows in the sort order.
Returns the as the string representation of this instance.
A that represents this instance.
Initializes a new instance of the class
using the specified container file to load or save the package.
The file path of the container file. The file should have the extension .amlx.
Initializes a new instance of the class
using the specified container file to load or save the package.
The file path of the container file.
The file mode for the package file.
Initializes a new instance of the class
using the specified container file to load or save the package.
The file path of the container file.
The file mode for the package file.
The file access mode for the package file.
Initializes a new instance of the class
using the specified container file to load or save the package.
The file path of the container file.
The file mode for the package file.
The file access mode for the package file.
The file share access mode for the package file, which controls access of
other file streams to the same file.
Initializes a new instance of the class
using the specified stream resource.
The stream resource for the package.
Initializes a new instance of the class
using the specified stream resource.
The stream resource for the package.
The package mode.
Initializes a new instance of the class
using the specified stream resource.
The stream resource for the package.
The package mode.
The package access.
Gets or sets the compression mode which is
by default.
The compression mode.
Gets the full path of the used container file.
The filename.
Gets the full path of the directory, used for extraction.
Gets the underlying package of this instance.
The package.
Adds any content to the package creating relationships to the package and to
the part, containing the root document using the relationship type .
package part, containing the parent root document
full name of the file which should be added
package internal name of the part
optional mime type, the default mime type for the relationship is used if empty
PackagePart.
Adds any content from the specified stream resource to the package creating
relationships to the package and to the part, containing the root document
using the relationship type .
package part, containing the parent root document
any content stream
package internal name of the part
optional mime type, the default mime type for the relationship is used if empty
PackagePart.
Adds a CAEX schema file to the package and creates a package - part
relationship to the package using the relationship type
full name of the file which should be added
package internal name of the part
added part
Adds a CAEX schema part retrieved from a stream resource to the package and
creates a package - part relationship to the package using the relationship
type .
collard stream
package internal name of the part
added part
Adds a COLLADA file to the package and creates relationships to the package
and to the root document using the .
package part, containing the parent root document
full name of the file which should be added
package internal name of the part
added part
Adds a COLLADA part read from the specified stream resource to the package and
creates relationships to the package and to the root document using the .
package part, containing the parent root document
COLLADA file stream
package internal name of the part
added part
Adds a COLLADA schema file to the package and creates a package - part
relationship to the package using .
full name of the file which should be added
package internal name of the part
added part
Adds a COLLADA schema part from the stream resource to the package and creates
a package - part relationship to the package using .
COLLADA stream
package internal name of the part
added part
Adds a library file to the package and creates relationships to the package
and to the package containing the root document using the .
package part, containing the parent root document
full name of the file which should be added
package internal name of the part
added part
Adds a library file to the package and creates a package - part relationship
of type .
full name of the file which should be added
package internal name of the part
added part
Adds a library stream to the package and creates a package - part relationship
of type .
library stream
package internal name of the part
added part
Adds a library from a stream resource to the package and creates relationships
to the package and to the part containing the root document using the
relationship type .
package part, containing the parent root document
library stream
package internal name of the part
added part
Adds a PLCopenXml file to the package and creates relationships to the package
and to the package part containing the root document using the relationship
type .
package part, containing the parent root document
full name of the file which should be added
package internal name of the part
added part
Adds a PLCopenXml part read from a stream resource to the package and creates
relationships to the package and to the package part containing the root
document using the relationship type .
package part, containing the parent root document
PLCopenXml stream
package internal name of the part
added part
Adds a PLCopenXml schema file to the package and creates a package - part
relationship of type to the package.
full name of the file which should be added
package internal name of the part
added part
Adds a PLCopenXml schema part from a stream resource to the package and
creates a package - part relationship of type .
COLLADA file stream
package internal name of the part
added part
Adds a root AML file to the package and creates a package - part relationship
of type .
full name of the file which should be added
package internal name of the part
added part
Adds a root AML file from a stream resource to the package and creates a
package - part relationship of type .
root document stream
package internal name of the part
added part
Saves and closes the package and all part streams.
Performs application-defined tasks associated with the release, return or
resetting of unmanaged resources.
Extracts all parts in the package to the specified directory
directory info defining the target directory for extraction
Extracts the specified part in the package to the specified directory.
directory info defining the target directory for extraction.
The part to extract to the specified folder.
Extracts all parts in the package to the specified directory
Full path to the target directory.
Saves the contents of all parts and relationships, contained in the package.
Returns the part with the given URI.
The part URI.
PackagePart.
Returns an enumeration of all parts inside the package.
IEnumerable<PackagePart>.
Returns an enumeration of all parts with the given relationship type from the package.
The relationship type.
IEnumerable<PackagePart>.
Gets the related part by URI.
The reference URI.
The relationship type.
PackagePart.
Returns an enumeration of all related parts for the given part.
The part.
IEnumerable<PackagePart>.
Returns an enumeration of the related parts for the specified part and
relationship type.
The part.
The relationship type.
IEnumerable<PackagePart>.
Returns an enumeration of the related parts for the specified part and
relationship type.
The part.
The relationship type.
IEnumerable<PackagePart>.
Returns an enumeration of all contained relationships of this instance.
IEnumerable<PackageRelationship>.
Returns an enumeration of all relationships with the given relationship type.
Type of the relation.
IEnumerable<PackageRelationship>.
Determines, if a part with the specified part URI exists.
The part URI.
true if the part exists, false otherwise.
Determines, if the specified relationship type exists.
Type of the relation.
true if relationship type exists, false otherwise.
Gets the file path to the first root AML document when the container is already
extracted. If the container is created
from a stream source or no root document is found, the return value is string.Empty.
The directory which was used for extraction.
System.String.
Gets the stream of the first root AML document. If no root document is found, the return value is null.
System.String.
Saves the package and all part streams, the package is still open.
To get the file path from a relative Uri, the unescaped data string without
the start '/' is needed
The URI.
System.String.
Adds the package part.
The full path.
The part URI.
Type of the relation ship.
if set to true [create package relation].
The part.
PackagePart.
Adds the package part.
The stream.
The part URI.
Type of the relation ship.
if set to true [create package relation].
The part.
PackagePart.
Part with Uri + partUri + not found
Changes the uri of a package part. The part is removed and readded with the provided
. All relationships of the part are updated.
true if a part with the provided exists; otherwise false
An AMLFile is a CAEXFile, containing information about the AutomationML version and the WriterHeader (if CAEX 2.15
is used) or
the SourceDocumentInformation (CAEX 3.0 and later versions).
Initializes a new instance of the class.
The node.
Gets or sets the AutomationML version. It is not allowed to set an AMLVersion which is higher than the
. If this is tried, the maximal known version is used for this document.
Gets the collection of defined document version information of the AMLFile
The collection of document version information.
Gets the AdditionalInformation values contained in this instance which are neither DocumentVersion or WriterHeader.
DocumentVersion and WriterHeader objects are realized using AdditionalInformation objects, too. But these elements
define a specific syntax to be recognized as specific AdditionalInformation objects.
Determines whether the specified XML element represents an AdditionalInformation object, using the specific
DocumentVersion syntax.
The element.
true if the specified element is a DocumentVersion element; otherwise, false.
Determines whether the specified XML element represents an AdditionalInformation object, representing the
AutomationMLVersion.
The element.
true if the specified element is the AutomationML version element; otherwise, false.
Determines whether the specified XML element represents an AdditionalInformation object, using the specific
WriterHeader syntax.
The element.
true if the specified element is a WriterHeader element; otherwise, false.
Determines whether the specified XML element represents an AdditionalInformation object, not using any specific
syntax as the
or elements.
The element.
true if the specified element is a generic AdditionalInformation element; otherwise, false.
Gets the maximal AutomationML version, which can be associated with this AMLFile. The maximal AutomationML version
depends on the used CAEX version. For CAEX 2.15 the maximal AutomationML version is 2.0. For CAEX 3.0 the maximal
version is 2.10.
Gets the collection of defined writer headers of the AMLFile
The collection writer header.
valid only for AutomationML Version 2.0 using CAEX 2.15
Removes all "Writer Header" specific meta information out of this CAEX file.
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
This function deletes any existing meta information corresponding to the writerID.
Writer ID
true if delete succeeded, false if writerID has not been found
writerID
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
This methods returns an Enumeration of all "WriterHeader" meta information out of an
existing AutomationML file.
Enumerable with element containing all meta information, or null if no meta information
is existing
Extension Method originally designed for AutomationML Versions based on CAEX 2.15.
This function returns the MetaInformation corresponding to the writerID, otherwise null.
the writerID
This function returns the MetaInformation corresponding to the writerID, otherwise null.
writerID
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed from a .
Determines whether the specified AML version is a valid version string for this AMLFile
The version string.
true if specified AML version is a valid version string for this AMLFile; otherwise, false.
This function replaces any existing meta information corresponding to the identical
oldWriterID with the new meta information defined in the new Meta information
writerID of the old meta information
substitute for the old version of meta information
true if succeeded, false if meta information about the oldWriterID is not found
oldWriterID
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
This function sets the meta information required from AutomationML standard. If meta
information about the same writerID already exists, this meta information is replaced.
These information comprise source information about the AutomationML file.
the name of the writing tool
an ID of the writing tool
the tool vendors name
the tools vendors URL
the version of the writing tool
the release number of the writing tool
the date of the last writing time
the title of the written project
an ID of the written project
writerID
Extension Method for AutomationML Versions based on CAEX 2.15. If this method is called for a CAEX 3.0 or later
Version, the call
is redirected to the .
This method is a short version of the setMetaInformation. Meta data with identical
WriterID is replaced.
the structure MetaInformation
metaInformation
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
This method labels this CAEX file as a standard AutomationML library coming from the
AutomationML e.V. It removes all other meta information and should only be used from
authorized persons in agreement with the AutomationML e.V.
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
This function sets the meta information required from AutomationML standard. If meta
information about the same writerID already exists, this meta information is replaced.
These information comprise source information about the AutomationML file.
the name of the writing tool
an ID of the writing tool
the tool vendors name
the tools vendors URL
the version of the writing tool
the release number of the writing tool
the date of the last writing time
the title of the written project
an ID of the written project
originID
Extension Method for AutomationML Versions based on CAEX 3.0. If this method is called for an CAEX 2.15 Version,
the call
is redirected to the
.
A Facet is an AML object providing a sub-view on attributes or interfaces of the parent AML object.
This concept serves for the storage of different configuration settings such as HMI or PLC related data
and allows the automation of several control engineering steps.
For this, this part of IEC 62714 defines the AML RoleClass “Facet” (see6.4.4).“ [IEC 62714-1:2014 8.3 (p.43)]
The Facet name
Initializes a new instance of the class.
An 'InternalElement' XML node.
Gets the collection of Attribute objects for this instance.
Gets a collection of ExternalInterface objects contained in this instance.
Gets the collection of Attribute objects for this instance.
Gets a collection of ExternalInterface objects contained in this instance.
The collection of InternalElement objects for an AMLFacet is always null.
Gets a value indicating whether this instance is an AMLFacet
Creates an AMLFacet AML object with this name, using the provided document.
The CAEX document.
The name of the new AMLFacet.
The created AMLFacet.
Conversion to get access to specific AutomationML defined Attributes
The 'AMLFacet' CAEX object.
The AMLFacet object, converted to an type, which provides access to
specific AML defined attributes.
attributeType
Get the original parent attributes which are already assigned with the AMLFacet
A collection of already assigned Attribute objects of the parent.
Get the original parent interfaces which are already assigned with the AMLFacet
A collection of already assigned ExternalInterface objects of the parent.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Determines whether the AMLFacet contains this attribute of the parent AML object.
An attribute of the parent.
true if this attribute of the parent is assigned to the AMLFacet;
otherwise, false.
In CAEX 3.0 the Attribute of the AMLFacet has to be a Mirror Attribute.
CAEX 2.15 identifies Attributes with identical names.
Determines whether the AMLFacet contains this interface of the parent AML object.
The external interface.
true if this interface of the parent is assigned to the AMLFacet;
otherwise, false.
In CAEX 3.0 the Interface of the AMLFacet has to be a Mirror Interface.
CAEX 2.15 identifies Interfaces with identical names.
Inserts the specified CAEX object in it's associated container. AMLFacet objects are not allowed
to contain child InternalElement objects. If an InternalElement is tried to insert, the result is false.
The CAEX object.
if set to true the element is inserted at the first position in it's container.
true, if the provided CAEX object is inserted; If a copy of the CAEX object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
caexObject
Get the parent attributes which are yet not assigned with the AMLFacet
A collection of not assigned Attribute objects.
Get the parent interfaces which are yet not assigned with the AMLFacet
A collection of not assigned ExternalInterface objects.
Gets the original Attribute from the which is related to this Facet
Attribute.
The facet attribute.
An Attribute from the parent with the same name.
In CAEX 3.0 the Source Attribute is the Master Attribute of the .
CAEX 2.15 the Source Attribute is the first identified Attribute of the parent with an identical name.
Gets the original ExternalInterface from the which is related to this Facet
Interface.
The facet ExternalInterface.
An ExternalInterface from the parent with the same name.
In CAEX 3.0 the Source Interface is the Master Interface of the .
CAEX 2.15 the Source Interface is the first identified Interface of the parent with an identical name.
The AML Group concept allows separating structure information from instance information.
An informative overview about the Group concept including examples is
provided in A.2.4.” [IEC 62714-1:2014 8.4 (p.43)]. An AML Group object shall be described by a
CAEX InternalElement with an association to the RoleClass “Group” which is defined in 6.4.3. [IEC 62714-1:2014 8.4
(p.43)]
The Group name
Initializes a new instance of the class.
An InternalElement node
Gets a collection of InternalElement objects contained in this instance.
Gets or sets the associated facet for the AMLGroup object
Gets the collection of InternalElement objects for this instance.
Gets a value indicating whether the defining InternalElement instance is an AMLGroup
Creates an AMLGroup AML object with this name, using the provided document.
The CAEX document.
The name of the new AMLGroup object.
The new AMLGroup object.
Returns the names of the facets, defined in the master InternalElements of all mirrors in this group.
Enumeration of distinct names of facets.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated container. An AMLGroup object shall only contain
InternalElements which are
AMLMirrorObjects and/or further AMLGroup objects. If other InternalElements are tried to insert, the result is
false.
The CAEX object.
if set to true the element is inserted at the first position in it's container.
true, if the provided CAEX object is inserted; If a copy of the CAEX object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
caexObject
This class is a generic type definition for CAEX libraries, which are defined by AutomationML and contain
standardized classes.
Type of the library items.
Initializes a new instance of the class.
A CAEX library XML node.
Gets the AutomationML class from this library, which can be identified by the provided CAEX path.
The CAEX path.
The CAEX class from this library, which was identified by the CAEX path.
Loads an AutomationML library from an external source.
The document.
Name of the resource.
The import library.
The imported library.
The current document and the imported library use different
CAEX Versions; To do a schema transformation the service needs to be registered
An AML Port is an AML object that groups a number of interfaces. An informative overview about the Port
concept including examples is provided in A.2.2. [IEC 62714-1:2014 8.2 (p.42)
The AML Port object has been replaced in AutomationML version 2.10 with an Interface only
The Port name
Initializes a new instance of the class.
An InternalElement node
The collection of InternalElement objects for an AMLPort is always null.
Gets a value indicating whether the defining InternalElement instance is an AMLGroup
Creates an AMLPort AML object with this name, using the provided document.
The CAEX document.
The name of the new AMLPort object.
The created AMLPort object.
Inserts the specified CAEX object in it's associated container. AMLPort objects are not allowed
to contain child InternalElement objects. If an InternalElement is tried to insert, the result is false.
The CAEX object.
if set to true the element is inserted at the first position in it's container.
true, if the provided CAEX object is inserted; If a copy of the CAEX object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
caexObject
An AMLSystemUnitClass is a SystemUnitClass which can contain AML objects.
Initializes a new instance of the class.
A SystemUnitClass node
Initializes a new instance of the class.
The system unit class.
Gets the Collection of AMLFacet objects.
Gets the Collection of AMLGroup objects.
Gets the Collection of AMLPort objects.
Adds an AMLFacet object to the AMLSystemUnitClass with the provided name.
The name of the new AMLFacet.
The added new AMLFacet.
Adds an AMLGroup object to the AMLSystemUnitClass with the provided name.
The name of the new AMLGroup.
The added new AMLGroup.
Adds an AMLPort object to the AMLSystemUnitClass with the provided name.
The name of the new AMLPort.
The added new AMLPort-
Contains definitions and access methods of standard base AttributeType objects.
Not available for CAEX version 2.15
The 'AssociatedExternalValue' AttributeType path
Not available for CAEX version 2.15
The 'AssociatedFacet' AttributeType path
Not available for CAEX version 2.15
The 'AutomationMLBaseAttributeTypeLib' library name
Not available for CAEX version 2.15
The 'Cardinality' AttributeType path
Not available for CAEX version 2.15
The 'Category' AttributeType path
Not available for CAEX version 2.15
The 'Direction' AttributeType path
Not available for CAEX version 2.15
The 'DocLang' AttributeType path
Not available for CAEX version 2.15
The 'Category' AttributeType path
Not available for CAEX version 2.15
The 'ListType' AttributeType path
Not available for CAEX version 2.15
The 'LocalizedAttribute' AttributeType path
Not available for CAEX version 2.15
The 'MIMEType' AttributeType path
Not available for CAEX version 2.15
The 'OrderedListType' AttributeType path
Not available for CAEX version 2.15
The 'RefURI' AttributeType path
Not available for CAEX version 2.15
Determines whether the specified attribute reference defines an inheritance relation from the
AssociatedExternalValue AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
AssociatedFacet AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
Cardinality AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
Category AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
Direction AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
DocLang AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
Frame AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
ListType AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
LocalizedAttribute AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
MIMEType AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
OrderedListType AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified attribute reference defines an inheritance relation from the
RefURI AttributeType
The attribute.
true if an inheritance relation is resolved; otherwise, false.
This Class is a wrapper for the AutomationML standard 'AutomationMLBaseAttributeTypeLib' which is the
container for a hierarchy of standard AttributeType definitions.
Not available for CAEX version 2.15
Initializes a new instance of the class.
The attribute type library.
Gets the AssociatedExternalValue Attribute Type.
Gets the AssociatedFacet.
Gets the Cardinality attribute type.
Gets the Category Attribute Type
Gets the Direction Attribute Type.
Gets the ListType Attribute type
Gets the LocalizedAttribute attribute type.
Gets the MIMEType attribute type.
Gets the OrderedListType attribute type.
Gets the RefURI attribute Type.
Gets the AutomationMLBaseAttributeTypeLib from the provided document. If the document doesn't contain
the required library it will be automatically imported from an external resource.
The CAEX document.
The AutomationMLBaseAttributeTypeLib
Not available for CAEX version 2.15
Determines if the AutomationMLBaseAttributeTypeLib exists in the document.
The document.
true if the AutomationMLBaseAttributeTypeLib is loaded; otherwise, false.
Contains definitions and access methods of standard base InterfaceClass objects.
The AttachmentInterface class path (a Part 3 Interface)
The AutomationML base interface class path (a Part 1 Interface)
The AutomationML base interface class library name
The behaviour logic interface class path (a Part 4 Interface)
The COLLADA interface class path (a Part 1 Interface)
The communication interface class path (a Part 1 Interface)
The external data connector (a Part 1 Interface)
The interlocking connector interface class path (a Part 1 Interface)
The interlocking logic interface class path (a Part 4 Interface)
The interlocking variable interface class path (a Part 4 Interface)
The logic element interface class path (a Part 4 Interface)
The logic interface class path (a Part 4 Interface)
The order interface class path (a Part 1 Interface)
The PLCopenXML interface class path (a Part 1 Interface)
The port connector interface class path (a Part 1 Interface)
The PPR connector interface class path (a Part 1 Interface)
The sequencing behaviour logic interface class path (a Part 4 Interface)
The sequencing logic interface class path (a Part 4 Interface)
The signal interface class path (a Part 1 Interface)
The variable interface class path (a Part 4 Interface)
Determines whether the specified interface class is derived from the
AutomationMLBase interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
BehaviourLogicInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
COLLADAInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
Communication interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
ExternalDataConnector interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
InterlockingConnector interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
InterlockingLogicInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
InterlockingVariableInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
LogicElementInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
LogicInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
Order interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
PLCopenXMLInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
PortConnector interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
PPRConnector interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
SequencingBehaviourLogicInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
SequencingLogicInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
SignalInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Determines whether the specified interface class is derived from the
VariableInterface interface class. The method can resolve alias references anywhere
in the inheritance hierarchy.
The interface class.
true if an inheritance relation could be resolved;
otherwise, false.
Makes the AutomationML base interface.
The interface class.
Makes the COLLADA interface.
The interface class.
Makes the communication interface.
The interface class.
Makes the external data connector.
The interface class.
Makes the interlocking connector.
The interface class.
Makes the order interface.
The interface class.
Makes the PLCopen XML interface.
The interface class.
Makes the port connector.
The interface class.
Makes the PPR connector.
The interface class.
Makes the signal interface.
The interface class.
This Class is a wrapper for the AutomationML standard 'AutomationMLInterfaceClassLib' which is the
container for a hierarchy of standard InterfaceClass definitions.
Initializes a new instance of the class.
The role class library.
Gets the standard AutomationMLInterfaceClassLib from the provided document. If the document doesn't contain
the required library it will be automatically imported from an external resource.
The CAEX document.
The AutomationMLBaseRoleClassLib
Determines if the AutomationMLInterfaceClassLib exists in the document.
The document.
true if the AutomationMLInterfaceClassLib is loaded; otherwise, false.
This Class is a wrapper for the AutomationML standard 'AutomationMLBaseRoleClassLib' which is the
container for a hierarchy of standard RoleClass definitions.
Initializes a new instance of the class.
The role class library.
Gets the automation ml base role.
The automation ml base role.
Gets the facet.
The facet.
Gets the frame.
The frame.
Gets the group.
The group.
Gets the interlocking source group.
The interlocking source group.
Gets the interlocking target group.
The interlocking target group.
Gets the logic object.
The logic object.
Gets the port.
The port.
Gets the process.
The process.
Gets the process structure.
The process structure.
Gets the product.
The product.
Gets the product structure.
The product structure.
Gets the property set.
The property set.
Gets the resource.
The resource.
Gets the resource structure.
The resource structure.
Gets the structure.
The structure.
Determines if the AutomationMLBaseRoleClassLib exists in the document.
The document.
true if the AutomationMLBaseRoleClassLib is loaded; otherwise, false.
Gets the AutomationMLBaseRoleClassLib from the provided document. If the document doesn't contain
the required library it will be automatically imported from an external resource.
The CAEX document.
The AutomationMLBaseRoleClassLib
Contains definitions and access methods of standard base RoleClass objects.
The 'AutomationMLBaseRole' RoleClass path
The 'AutomationMLBaseRoleClassLib' library name
The 'Facet' RoleClass path
The 'Frame' RoleClass path
The 'Group' RoleClass path
The 'InterlockingSourceGroup' RoleClass path
The 'InterlockingTargetGroup' RoleClass path
The 'LogicObject' RoleClass path
The 'Port' RoleClass path
The 'Process' RoleClass path
The 'ProcessStructure' RoleClass path
The 'Product' RoleClass path
The 'ProductStructure' RoleClass path
The 'PropertySet' RoleClass path
The 'Resource' RoleClass path
The 'ResourceStructure' RoleClass path
The 'Structure' RoleClass path
Determines whether the specified role reference defines an inheritance relation from the
AutomationMLBaseRole RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
Facet RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
Frame RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
Group RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
InterlockingSourceGroup RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
InterlockingTargetGroup RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
LogicObject RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
Port RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
Process RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
ProcessStructure RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
Product RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
ProductStructure RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
PropertySet RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
Resource RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
ResourceStructure RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the
Structure RoleClass
The role.
true if an inheritance relation is resolved; otherwise, false.
Makes the AutomationML base role.
The used role.
Makes the facet.
The used role.
Makes the group.
The used role.
Makes the port.
The used role.
Makes the process.
The used role.
Makes the process structure.
The used role.
Makes the Product.
The used role.
Makes the product structure.
The used role.
Makes the property set.
The used role.
Makes the resource.
The used role.
Makes the resource structure.
The used role.
Makes the structure.
The used role.
The Class DocumentVersions defines extension methods for the to retrieve
and manipulate document versions attached to a CAEXFile. The DocumentVersion feature is
described in the AutomationML BPR 06 "Naming of related documents and their versions"
.
The document element name
The document identifier attribute name used in the Document element
The document versions attribute name
The document versions attribute value
The version attribute name used in the document element
This function sets the DocumentVersion information for a referenced document.
If DocumentVersion information about the same document Identifier already
exists, this DocumentVersion information is replaced.
the CAEXFile of the AutomationML document
The "DocumentIdentifier" shall define the name of the referenced document.
The "Version" shall define the version range of the referenced document. The
version number shall have three numbers separated by ".".
Out parameter with error information if provided values are not valid or null.
Possibles errors are:
-
No Document Identifier defined
-
DocumentVersion to be parsed is null
-
Negative value in version string
-
Bad number of components in version string
-
Non-integer value in version string
-
Number out of range in version string
true, if information is added, false otherwise.
Appends the provided document version information to the AutomationML document
The CAEX file of the AutomationML document.
The version information.
Out parameter containing error information if the method returns false.
Possibles errors are:
-
No Document Identifier defined
-
DocumentVersion to be parsed is null
-
Negative value in version string
-
Bad number of components in version string
-
Non-integer value in version string
-
Number out of range in version string
true if the version information could be added, false otherwise.
Creates the additional information representing a document versions header and
appends it to the AutomationML document.
The CAEX file of the AutomationML document.
XElement.
This function deletes all existing DocumentVersion information from the
AutomationML document corresponding to the documentID.
this CAEX file of the AutomationML document
Document Identifier of the document version information, which should be deleted
true if delete succeeded, false if documentID has not been found
Get the Additional Information XML-Node from the CAEXFile, which represents
the Document Versions node.
The CAEX file.
If the Document Version Node exists, the XElement is returned, otherwise null.
This methods returns an Enumeration of all Information related to document
versions defined in the "DocumentVersions" information of an AutomationML document.
the CAEX file of the AutomationML document.
Enumerable containing all Documents in the DocumentVersion information, or
null if no DocumentVersion information exists.
This function returns the DocumentVersion Information from the AutomationML
document with the specified document Identifier, otherwise null.
this CAEX file of the AutomationML document.
the Document Identifier
This function returns the DocumentVersion - Information corresponding to the
document Identifier, otherwise null.
This function replaces any existing DocumentVersion information corresponding
to the identical oldDocumentID with the provided new DocumentVersion information.
The CAEX file of the AutomationML document.
Document identifier of the old DocumentVersion information
substitute for the old version of DocumentVersion information
error information if provided values are invalid
true if succeeded, false if DocumentVersion information corresponding to the
oldDocumentID is not found
This Class is defined for the modeling of document version information as defined in the AutomationML BPR
06 "Naming of related documents and their versions". are stored
as attached to the CAEXFile Node of the AMLDocument.
Initializes a new instance of the class.
Initializes a new instance of the class
using the provided XML node (this should be an
), containing document content.
The element.
The document attribute "DocumentIdentifier" shall define the name of the
referenced document.
The "DocumentIdentifier" of the document should not be changed.
The document attribute "Version" shall define the version range of the
referenced document.
The version number shall have three numbers separated by ".". The three
numbers define "main version", "minor version" and "revision".
This class provides extensions methods for the identification of properties of AML objects, using CAEX objects.
Conversion of any object which has an attribute collection to get access
to specific AutomationML defined attributes.
The CAEX object, providing the attribute collection.
The ObjectWithAMLAttributes which provides accessors for AutomationML defined attributes.
caexObject
Converts an InternalElementType to an AMLFacet.
The InternalElement object.
An AMLFacet object.
The conversion doesn't create the AMLFacet.
Use method to create a Facet.
Converts a CAEX file to an AML file.
The CAEX file object.
An AMLFile object.
Converts an InternalElementType to an AMLGroup.
The InternalElement object.
An AMLGroup object.
The conversion doesn't create the AMLGroup if the internalElement is not an AMLGroup
Use method to create a Group.
Converts an InternalElementType to an AMLPort.
The InternalElement object.
An AMLPort object.
The conversion doesn't create the AMLPort.
Use method to create a Port.
Converts an SystemUnitClassType to an AMLSystemUnitClass.
The SystemUnitClass object.
An AMLSystemUnitClass object.
Gets the AutomationML version for this CAEXFile object.
The CAEX file.
The AutomationML version assigned to the CAEXFile.
caexFile
Removes all "Writer Header" specific meta information out of this CAEX file.
the CAEXFile
caexFile
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
This function deletes any existing meta information corresponding to the writerID.
this CAEX file
Writer ID
true if delete succeeded, false if writerID has not been found
caexFile
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
Gets a defined FrameAttribute from the
collection of the .
If no such attribute exists, null is returned.
The CAEX object.
The FrameAttribute.
caexObject
This methods returns an Enumeration of all "WriterHeader" meta information out of an
existing AutomationML file.
the CAEX file
Enumerable with element containing all meta information, or null if no meta information
is existing
caexFile
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed from a .
This function returns the MetaInformation corresponding to the writerID, otherwise null.
this CAEX file
the writerID
This function returns the MetaInformation corresponding to the writerID, otherwise null.
caexFile
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed from a .
Determines whether the InternalElement instance is an AMLFacet.
The internal element.
true if the specified internal element is an AMLFacet; otherwise, false.
Determines whether the InternalElement instance is an AMLGroup.
The internal element.
true if the specified internal element is an AMLGroup; otherwise, false.
Determines whether the CAEX object is an AutomationML object. If the CAEX object is a SystemUnitClass or
InternalElement,
it is checked, if there exists a role reference to the AutomationMLBaseRole. If the CAEX object is an
ExternalInterface,
it is checked, if there exists an InterfaceClass reference to an AutomationMLBase Interface.
The CAEX object.
true if the CAEX object is an AutomationML object; otherwise, false.
Determines whether the InternalElement instance is an AMLPort.
The internal element.
true if the specified internal element is an AMLPort; otherwise, false.
Determines, if the attribute is an attribute of an AMLFacet.
The facet attribute.
true, if the Attribute belongs to an AMLFacet.
facetAttribute
Determines, if the ExternalInterface object is an ExternalInterface of an AMLFacet.
The facet Interface.
true, if the ExternalInterface belongs to an AMLFacet.
facetInterface
Gets a value indicating whether this instance is a RefType attribute.
true if this instance is a RefType attribute; otherwise, false.
Gets a value indicating whether this instance is a RefURI attribute.
true if this instance is a RefURI attribute; otherwise, false.
Creates a new Frame attribute for the if no Frame
attribute exists.
The provided values are used to initialize the Frame attribute values.
The CAEX object.
The frame values.
the new FrameAttributeType.
caexObject
caexObject
Gets the RefTypeAttribute from the if one exists.
The object with attributes.
Gets the RefURIAttribute from the if one exists.
The object with attributes.
This function replaces any existing meta information corresponding to the identical
oldWriterID with the new meta information defined in the newMetainformation
My CAEX file.
writerID of the old meta information
substitute for the old version of meta information
true if succeeded, false if meta information about the oldWriterID is not found
caexFile
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
Sets the properties for the specified SourceDocumentInformation object using the provided MetaInformation
The source document information.
The meta information.
sourceDocumentInformation
or
metaInformation
This function sets the meta information required from AutomationML standard. If meta
information about the same writerID already exists, this meta information is replaced.
These information comprise source information about the AutomationML file.
the CAEXFile
the name of the writing tool
an ID of the writing tool
the tool vendors name
the tools vendors URL
the version of the writing tool
the release number of the writing tool
the date of the last writing time
the title of the written project
an ID of the written project
caexFile
Extension Method for AutomationML Versions based on CAEX 2.15. If this method is called for a CAEX 3.0 or later
Version, the call
is redirected to the .
This method is a short version of the setMetaInformation. Meta data with identical
WriterID is replaced.
the CAEXFile
the structure MetaInformation
caexFile
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
This method labels this CAEX file as a standard AutomationML library coming from the
AutomationML e.V. It removes all other meta information and should only be used from
authorized persons in agreement with the AutomationML e.V.
the CAEXFile
caexFile
Extension Method originally designed for AutomationML Versions based on CAEX 2.15. If this method is applied to
a CAEX 3.0 document, the information is transformed to a .
This function sets the meta information required from AutomationML standard. If meta
information about the same writerID already exists, this meta information is replaced.
These information comprise source information about the AutomationML file.
the CAEXFile
the name of the writing tool
an ID of the writing tool
the tool vendors name
the tools vendors URL
the version of the writing tool
the release number of the writing tool
the date of the last writing time
the title of the written project
an ID of the written project
caexFile
Extension Method for AutomationML Versions based on CAEX 3.0. If this method is called for an CAEX 2.15 Version,
the call
is redirected to the
.
Converts an AttributeType to a RefTypeAttribute.
The AttributeType object.
An RefTypeAttributeType object.
The conversion doesn't create the RefTypeAttributeType.
Use method to create a RefTypeAttributeType.
Converts an AttributeType to a RefUriAttribute.
The AttributeType object.
An RefURIAttributeType object.
The conversion doesn't create the RefURIAttributeType.
Use method to create a RefURIAttributeType.
This class provides methods to create and retrieve external data references as it is defined in the BPR document
"ExternalDataReference" Version 1.0.0 from July 2016.
The name of the library containing interface classes specified in BPR documents
The name of the library containing role classes specified in BPR documents
The name for the ExternalDataReference interface class
The class path for the ExternalDataReference interface class
The name for the ExternalData role class
The class path for the ExternalData role class
The language attribute name
Adds the AutomationMLBPRInterfaceClassLib containing all interface classes
used to model external document references to the AMLDocument.
The CAEX file of the AMLDocument.
Different CAEX Versions used;
register the SchemaTransform service to import the AutomationMLBPRInterfaceClassLib in your current document.
Adds the AutomationMLBPRRoleClassLib containing all role classes used to model
external document references to the AMLDocument.
The CAEX file of the AMLDocument.
caexFile
Different CAEX Version used;
register the SchemaTransform service to import the AutomationMLBPRRoleClassLib in your current document.
Adds a document element to the defined internalElement. A Document Element is semantically described
with an attached role defined with the base role class or a
derived role class. If no role class path is given as a parameter the default is used. If the specified
role class path can not be identified as a derived role from the
no document element is added (returns null).
The internalElement.
The name of the document element.
The Role class path to a role class, derived from the ExternalData Role Class
created InternalElementType document element or null if the role class is invalid
Add a role reference to a external data role class or derived role class defined with the
given role class path as a supported role class to the internal element. If the specified
role class path can not be identified as a derived role from the
no role reference is added (returns false).
The internalElement.
path to the role class
true, if a supported role class with the defined path is added false if the role class is invalid
InternalElement not contained in CAEXDocument
Adds a document with the specified external reference interface to the document element. If the given internal
element
is not a document element or the defined class path to the external reference interface is not derived from
the standard base class no interface is added.
The document element.
The name for the referencing interface.
The external data reference interface class path.
The InterfaceClass which is created as a reference to the external data.
Element is not contained in a CAEXDocument
Adds the external data reference libraries used to model external document
references. It is checked, if the needed role- and interface libraries are
contained in the AMLDocument. If this libs are missing, they are imported from
an embedded resource stream. The current Version of the embedded libs is
version 1.0.0.
The CAEX file of the AMLDocument.
caexFile
Adds a language attribute to the internal element. If this is the first language attribute, a simple attribute is
added.
If this is not the first, a language attribute list is used. A former created simple attribute is transferred to a
list item.
The internal element.
The language specification.
internalElement
Gets the AutomationMLBPRInterfaceClassLib containing all interface classes
used to model external document references to the AMLDocument.
The CAEX file of the AMLDocument.
The AutomationMLBPRInterfaceClassLib
caexFile
Gets the AutomationMLBPRRoleClassLib containing all role classes used to model
external document references to the AMLDocument.
The CAEX file of the AMLDocument.
The AutomationMLBPRRoleClassLib.
caexFile
Gets all Internal Element Children from the specified internal element which
are document elements.
The internal element.
Enumeration of InternalElement objects, which are document elements.
internalElement
Gets the ExternalDataReference InterfaceClass from the AutomationMLBPRInterfaceClassLib.
The AutomationMLBPRInterfaceClassLib.
The 'ExternalDataReference' InterfaceClass.
automationMLBPRInterfaceClassLib
Couldn't locate the ExternalDataReference InterfaceClass
or Couldn't locate the CAEX file of the InterfaceClass.
Gets the 'ExternalDataReference' InterfaceClass from the AML document.
The CAEX file of the AML document.
The 'ExternalDataReference' InterfaceClass.
Gets the 'ExternalData' RoleClass from the AutomationMLBPRRoleClassLib.
The AutomationMLBPRRoleClassLib.
The ExternalData RoleClass.
Couldn't locate the ExternalData role class
Gets the ExternalData RoleClass from the AML document.
The CAEX file of the AML document.
The ExternalData RoleClass
caexFile
Gets the languages, defined for the document element. If the given internal element is not
a document element, the collection is empty.
The document element.
IEnumerable<System.String>.
documentElement
Determines whether the specified internal element is a document element.
The internal element.
true if [is document element] [the specified internal element]; otherwise, false.
This class defines a sequence of Attributes which belong to an . A Facet attribute shall be
related
to an existing attribute of the parent AML object, the identifier is the same name. Facet attributes which are not
part of
the parent object are not permitted. [IEC 62714-1:2014 8.3 (p.43)]
Initializes a new instance of the class.
The owner.
The constructor function to create an Attribute wrapper.
This method is not applicable if the owner is an .
The created and appended CAEX object if the owner is not an .
Appends a new Attribute with the provided name to the sequence of Attributes, if the conditions for Facet
Attributes are fulfilled.
Facet Attributes are a subset of Attributes which are defined for the Parent object of an .
An Attribute
with the specified name can only be added as a Facet Attribute, if the Facets parent has an identical Attribute
with that name and the Attribute has not been associated to the Facet before.
The name of the Attribute.
The created and appended Attribute, if the conditions were fulfilled; otherwise null.
Inserts the specified attribute into this sequence. Before the attribute is inserted, it is checked,
if it is a valid Facet attribute.
The Attribute.
optional parameter, if set to true (default) the element is prepended to already existing ones,
otherwise it is appended.
This method is not applicable for Facet attributes.
The created and prepended Attribute, if the owner is not an .
This class defines a sequence of ExternalInterfaces which belong to an . A Facet interface
shall be related
to an existing interface of the parent object, the identifier is the same name.
Facet interfaces which are not part of the parent object are not permitted. [IEC 62714-1:2014 8.3 (p.43)]
Initializes a new instance of the class.
The owner.
The constructor function to create an ExternalInterface object.
This method is not applicable for ExternalInterfaces, if the owner is an AMLFacet.
The created ExternalInterface object, if the method is applied.
Appends a new element with the provided name to this sequence. Before the ExternalInterface is appended, it is
checked,
if the ExternalInterface name is already used for any ExternalInterface of the AMLFacet parent.
The name of the new ExternalInterface object.
The appended ExternalInterface.
Inserts the specified ExternalInterface into this sequence. Before the ExternalInterface is inserted, it is
checked,
if it is a valid Facet-ExternalInterface.
The ExternalInterface.
optional parameter, if set to true (default) the element is prepended to already existing ones,
otherwise it is appended.
This method is not applicable for ExternalInterfaces, if the owner is an AMLFacet.
The prepended ExternalInterface.
This class is a wrapper for the AutomationML Attribute 'Frame'. To get access
to instances of this type, use the implicit
type conversion operator, defined for all CAEX objects which are allowed to
contain Attribute objects.
The frame name
The rx name
The ry name
The rz name
The x name
The y name
The z name
The format information for the Frame attribute
(don't use this, because all frame values have to be saved as xs:double with standard format)
If you want to save values with specific number format, do the string conversion
Creates a wrapper for the specified Frame Attribute. It is not checked, if the provided attribute Node
represents a valid Frame attribute.
An 'Attribute' XML node.
Initializes a new instance of the class. It is not checked, if the provided
attribute Node
represents a valid Frame attribute. If Frame attributes exist, they are initialized using the specified frame
values.
The initialize.
The frame values.
Gets and sets the frame values for this FrameAttribute
The frame.
The Rx-attribute
The Ry-attribute
The Rz-attribute
The X-attribute
The Y-attribute
The Z-attribute
Creates a new FrameAttribute using the specified document.
The document.
The Frame attribute
Determines whether the specified node models an AutomationML Frame-Attribute.
The node.
true if the specified node is frame; otherwise, false.
Gets a value indicating whether the attribute is a Frame attribute.
true if the attribute is a frame attribute; otherwise, false.
Validates and repairs the frame data types if the data type is not defined or not of type 'xs:double'
The node.
true if XXXX, false otherwise.
Creates a new (sub-)attribute for each frame value if not already existing
Event handler for the PropertyChanged event when an attribute value of the frame has been updated
The FrameValues object
The name of the property that changed
A frame holds position information of an object. The object position is defined by values for x, y and z axis as
well as rotation values rx,ry and rz in degree, for
the x, y and z axis.
occurs, when a property changed
Notifies the property changed.
The information.
Rotation around x-axis
Rotation around y-axis
Rotation around z-axis
X position
Y position
Z position
Creating a new FrameValues object with initially all values set to 0.0
Creating a new FrameValues object with the given frame values
The x value
The y value
The z value
The rx value
The ry value
The rz value
Gets or sets the rx.
The rx.
Gets or sets the ry.
The ry.
Gets or sets the rz.
The rz.
Gets or sets the x.
The x.
Gets or sets the y.
The y.
Gets or sets the z.
The z.
Class ListAttribute supports List Attributes as it is defined in the
BPR 'Modelling of List Attributes in AutomationML' from January 2016 Version 1.0.0
The list type name used as a semantic ref type for unordered list attributes
The list type name used as a semantic ref type for ordered list attributes
Adds an additional list item attribute to the list attribute. If the List attribute already contains some items,
the new item will have the same item type as the already existing items. If this is the first item, the
specified itemType is used as the attribute data type. If no itemType is defined, the default data type for
the list item is "xs:string". The Item name is automatically set to the Index if the List attribute is an ordered
list, otherwise the defined itemName is used.
The List attribute.
Type of the new item (ignored for a list attribute containing items)
Name of the item (ignored for an ordered list attribute).
the added list item Attribute.
Changes the semantic of the specified attribute and converts to a list attribute. A first item is
added to the List attribute which is initialized with valued from the converted attribute. If the Attribute
is already a list attribute or the attribute contains child attributes it will not be converted.
The attribute.
The name of the converted item
true, if the conversion was done, otherwise false.
Creates a new list attribute for an element which can have attributes.
The element.
Name of the new list attribute.
The items count for initialization of the containing attribute items.
Type of the item (unique for all items).
Name of the item (ignored if an ordered list is created). When an item attribute
is created, the item Name gets the item index added to this name.
if set to true the list is an ordered list.
The list AttributeType.
Determines whether the specified attribute is a list attribute. This can be ordered or unordered.
The attribute.
true if [is list attribute] [the specified attribute]; otherwise, false.
Determines whether the specified attribute is an ordered list attribute.
The attribute.
true if [is list attribute] [the specified attribute]; otherwise, false.
Determines whether the specified attribute is an unordered list attribute.
The attribute.
true if [is list attribute] [the specified attribute]; otherwise, false.
Gets the values of all items in the list attribute
The attribute.
Enumeration of the list items.
Gets the values of all items in the list attribute
The attribute.
Enumeration of the values of the list items.
Changes the semantic of the specified attribute and converts it to a list attribute. If the Attribute
is already a list attribute or the attribute contains child attributes it will not be converted.
The attribute.
If set to true the attribute is converted to an ordered list attribute
true, if the conversion was done, otherwise false.
Class for modelling meta information as defined in the AutomationML standard. This class was originally designed
for AML Versions based on CAEX 2.15. For later versions you can switch to the
.
It is possible to set SourceDocumentInformation in a CAEX 3.0 document using this class. If this is applied, the
MetaInformation
is automatically transformed to SourceDocumentInformation. The transformation works in both directions.
Initializes a new instance of the class.
Initializes a new instance of the class, using a WriterHeader node
to populate the properties.
The writer header.
Initializes a new instance of the class using the information
provided from the specified SourceDocumentInformation
The SourceDocumentInformation object.
time stamp of the AutomationML export
The last writing date time.
the ID of the writer tool, maybe identical to the tools name if it is not subject of change
The writer identifier.
the name of the writer tool (e.g. CoDeSys)
The name of the writer.
ID of the project that contains the source engineering data
The writer project identifier.
name of the project that contains the source engineering data
The writer project title.
release information about the writer tool, e.g. "beta12"
The writer release.
the vendor of the writer tool, e.g. "3S"
The writer vendor.
the web URL of the vendor - helps to get in contact to the vendor
The writer vendor URL.
version of the writer tool, e.g. "3.4"
The writer version.
This class is used to support the AMLGroup concept. An AMLGroup object shall only contain InternalElements which
are
AMLMirrorObjects and/or further AMLGroup objects.
Initializes a new instance of the class.
The owner.
Function to create an .
Inserts the specified InternalElement into this sequence. Before the InternalElement is inserted, it is checked,
if it is a valid Group-InternalElement.
The InternalElement.
optional parameter, if set to true (default) the element is prepended to already existing ones,
otherwise it is appended.
Gets the MIME.
The file extension.
List<System.String>Mime List.
Gets the extension.
Type of the MIME.
List<System.String>file extension.
Gets the known extensions.
Type of the MIME.
IEnumerable<System.String> All known file extensions.
The Aml.Engine.AmlObjects Namespace contains classes that support the generation and analysis of AutomationML
features which are
specified in the AutomationML standard, white-papers, best practice recommendation or application recommendations.
These
features are not covered with the classes in the Aml.Engine.CAEX namespace, which only supports the CAEX standard.
Classes in
the Aml.Engine.AmlObjects namespace may be derived from the CAEX classes.
This class defines specific AutomationML defined attributes to be associated to any AutomationML object,
which is allowed to contain attributes. Instances of this class can be constructed with an
implicit type conversion operator, defined in the wrapper classes, which implement the
interface.
Creates a wrapper to access specific AML Attributes for the provides object with attributes
The CAEX object.
Get the collection of all attributes of this object. Inherited Attributes are not included.
The CAEXWrapper of the base CAEXObject which contains the here defined AML attributes
Gets the attributes and all nested attributes.
Gets a defined FrameAttribute from the collection of the
.
If no such attribute exists, null is returned.
The frame attribute.
Gets a defined RefTypeAttribute from the collection of the
.
If no such attribute exists, null is returned.
Gets a defined RefURIAttribute from the collection of the
.
If no such attribute exists, null is returned.
Creates a new Frame attribute for the if no Frame
attribute exists.
The provided values are used to initialize the Frame attribute values.
The frame values for initialization.
the new FrameAttributeType.
AutomationML defines, that only one Frame attribute can be assigned to an object. If a
Frame attribute exists, the frame values are set to the existing attribute.
Creates a new RefURI attribute for the object if none exists.
The RefURI attribute value is set to the provided Uri.
The Uri string.
the RefURIAttributeType.
AutomationML defines, that only one RefUri attribute can be assigned to an object. If a
RefUri attribute exists, the provided Uri is set to the existing attribute.
RefType attribute is an Attribute of a ColladaInterface
The ref type attribute
Initializes a new instance of the class.
The initialize.
Gets a value indicating whether this instance is a RefURI attribute.
true if this instance is a RefURI attribute; otherwise, false.
The explicit ref type
The implicit ref type
Creates a new RefURIAttribute using the specified document.
The document.
The RefTypeAttributeType attribute
Determines whether this is an 'explicit' RefType
true if this instance is explicit; otherwise, false.
Determines whether this is an 'implicit' RefType
true if this instance is implicit; otherwise, false.
This class is a wrapper for the AutomationML defined Attribute 'RefURI'. To get access
to instances of this type, use the implicit
type conversion operator, defined for all CAEX objects which are allowed to
contain Attribute objects.
The ref Uri attribute
Initializes a new instance of the class.
An 'Attribute' XML node
Gets the pure file path of this external reference attribute without the identifier.
The file path.
Determines, ob the refUri is equal to the attributes value
Gets a value indicating whether this instance is a RefURI attribute.
true if this instance is a RefURI attribute; otherwise, false.
Gets the referenced node.
The referenced node.
Gets or sets the URI.
The URI.
Creates a new RefURIAttribute using the specified document.
The document.
The RefURIAttribute attribute
Determines whether [is absolute URI].
true if [is absolute URI]; otherwise, false.
Determines whether this instance is file.
true if this instance is file; otherwise, false.
The CAEX exception class.
Initializes a new instance of the class.
The , which contains the serialized
object data for the thrown exception.
The , containing context
information about the source or destination.
Initializes a new instance of the class.
The message describing the error.
Initializes a new instance of the class.
The error message explaining the cause of the exception.
The exception that caused the current exception, or a null reference (
in Visual Basic) if no inner exception is specified.
This class implements methods to work with a sequence of CAEX objects. The class will wrap all
elements with the same CAEX element name of an owner element to
the denoted wrapper type which is given as the type-argument.
this is any CAEX object type
Creates a new XML node and assigns the provided name to the CAEX 'Name' attribute.
The owner.
The created XML node.
owner
Initializes a new instance of the class.
The owner.
The CAEX element name.
The constructor function to create a wrapper.
Initializes a new instance of the class with condition.
Gets the first CAEX object with this name from the sequence of elements.
the name of the CAEX object.
a CAEX object
Gets the CAEX object which can be identified with a CAEX path, where the path parts are defined
in the provided array of names.
The names extracted from a CAEX path.
Creates a new CAEX object with the specified name and appends it to the sequence.
the name of the CAEX object. If a
service
is registered, the name may be altered to be unique in this sequence.
the created CAEX object.
Inserts the specified element into this sequence. If nothing is specified the element is added.
If the asFirst is set to true, the element is prepended to already existing ones. If a UniqueNameService
can be located, the name of the inserted element is changed to be unique.
The CAEX object.
optional parameter, if set to true (default) the element is prepended to already existing ones,
otherwise it is appended.
The inserted CAEX object. If the provided CAEX object already belongs to a sequence, a copy of the CAEX object is
inserted and
returned as the result.
If the provided CAEX object already has an associated parent, a deep
copy of the CAEX object and not the original provided CAEX Object is inserted. Please keep in mind, that the copied
object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
caexObject
Creates a new CAEX object with the specified name and prepends it to the sequence.
the name of the CAEX object. If a
service
is registered, the name may be altered to be unique in this sequence.
the created CAEX object.
This class can be used for a type based access to the value attributes of a CAEX element. It is required, that the
is set according to the XSD Schema types.
If the AttributeDataType is not defined, the type xs:string is assumed and the value is not encoded/decoded.
CAEX Elements, which use this feature are ,
and and their derivations.
The interface is implemented by these classes. The type based conversion is
implemented, using XML specific decoding and encoding methods,
defined in the .NET class . The decoded/encoded value for an attribute can be accessed via
the property.
prevents public instantiation
Gets a default decoded value according to the defined AttributeDataType
Gets a friendly string of the Attribute value. This string is not in any case equal to the attribute value string,
which is always an encoded string, according to the AttributeDataType. The conversion format used to convert the
value
to its string representation is fix and cannot be changed.
The friendly string.
Gets the Attribute, which defines the AttributeDataType.
Gets the .NET Type code which is converted from the XSD Schema attribute defined in the
.
Gets and sets the value attribute using the type specific XML conversion method. If no AttributeDataType is
defined,
the value is encoded / decoded as it is.
Gets the Element, which contains the Attribute value.
Gets the Name of the defining value attribute.
Translates an XSd schema type to an XmlTypeCode.
Type based comparison of attribute values.
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.
Determines if the type code derived from the Attribute datatype is a date time type.
The following type codes are recognized as date time types:
-
-
-
-
-
The AttributeDataType 'duration' is not marked as a DateTime Type, because it should be transformed into
a CLR type.
true, if the type code is a date time type; false otherwise.
Determines if the type code derived from the Attribute datatype is a numeric or boolean type.
For a lit of numeric types .
true, if the type code is a numeric or boolean type; false otherwise.
Determines if the type code derived from the Attribute datatype is a numeric type.
The following type codes are recognized as numeric types:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
true, if the type code is a numeric type; false otherwise.
Determines if the type code derived from the Attribute datatype defined a part of a date.
The datatype ushort is used for a date part.
The following type codes are recognized as date parts:
-
-
-
true, if the type code is a date part; false otherwise.
Determines if the type code derived from the Attribute datatype is a string type.
The following type codes are recognized as string types:
-
-
-
-
-
-
-
-
-
-
true, if the type code is a string type; false otherwise.
Determines if the type code derived from the Attribute datatype is a binary type.
Checks for all string data types, if the provided string is valid according to the defined data type
.
The supported types are :
-
-
-
-
-
-
Gets the Decoded Value of the Attribute. This may be null, if no attribute value is defined.
Gets the encoded value which can be used to set the attribute value in an XML encoded way.
the type based value
Writes the encoded value into the CAEX document. If no AttributeDataType is set, the value is encoded as a string.
the type based value
Extension methods for class .
Appends a new RefSemantic object with the defined semantics to the specified CAEX object.
The CAEX object
A string, defining some external defined semantic source.
The new RefSemantic object
Determines whether the specified Attribute is referenced by other Attribute
objects called 'Mirrors'.
The element.
true if the specified element is a 'Master'-Attribute; otherwise, false.
This class provides extension methods for all types of CAEX objects.
Gets the associated CAEX schema manager of the CAEX object.
The CAEX object.
The SchemaManager associated to the CAEX object.
caexObject
Finds the ancestors of the provided CAEX object which have the given type.
CAEX element type of the ancestors.
The CAEX object.
The ancestors of the CAEX object which are of the given type.
caexObject
Gets the CAEX document which contains this CAEX object.
The CAEX object.
The CAEX document, containing the CAEX object.
caexObject
Gets the CAEX file which contains this CAEX object.
The CAEX object.
The CAEX file, containing the CAEX object.
caexObject
Gets the associated CAEX schema of the CAEX object.
The CAEX object.
The Schema associated to the CAEX object.
caexObject
Creates a CAEX object of the given type from the specified XML element.
CAEX element type.
The XML node.
CAEX object in the given type.
Finds the descendants of the provided CAEX object which are of the given type.
CAEX element type of the descendants.
The CAEX object.
The descendants of the CAEX object which are of the given type.
caexObject
Finds the descendants of the provided CAEX object which are of the given type.
.
The CAEX object.
CAEX element type of the descendants.
The descendants of the CAEX object which are of the given type.
caexObject
Finds the descendants of the provided CAEX object which are of the given type.
CAEX element type of the descendants.
The CAEX object.
if true, the provided caex object is included in the enumeration.
The descendants of the CAEX object which are of the given type.
caexObject
Finds the CAEX object with the specified id and the specified Type.
CAEX element type of the searched CAEX object.
CAEX object, used to identify the document for the search.
Id of the CAEX object.
CAEX object with the given id or null, if not found.
caexObject
Finds the CAEX object with the specified CAEX path and the specified Type.
CAEX element type of the searched CAEX object.
CAEX object, used to identify the document for the search.
The CAEX path of the searched CAEX object.
CAEX object with the given path or null, if not found.
caexObject
Finds the first ancestor of the specified CAEX object in the given Type.
CAEX element type of the ancestor.
The CAEX object.
First ancestor of the specified CAEX object or null, if no ancestor
with this Type exists.
caexObject
Finds the first ancestor of the specified CAEX object with the given Tag name
The CAEX object.
Name of the tag.
First ancestor of the specified CAEX object or null, if no ancestor
with this Tag name exists.
caexObject
Finds the first ancestor of the specified CAEX object which fulfils the specified predicate
The CAEX object.
The condition for the ancestor object.
First ancestor of the specified CAEX object or null, if no ancestor
meeting the condition exists.
caexObject
Tries to get a CAEX parent with the specified Type of the provided caexObject. If the parent is
not assignable to the provided type, the result is null.
The expected type of the parent.
The CAEX object.
The parent with the specified Type or null.
caexObject
Gets the Library which contains this CAEX object.
The CAEX object.
The containing Library.
caexObject
Gets a names for the specified caex wrapper object. If the specified object is
a , the Name is returned; otherwise the TagName of the
CAEX item.
The caex object.
Adds an new Copyright node to this object if it doesn't exists.
The CAEX object.
A new Copyright node
Adds an new Description node to this object if it doesn't exists.
The CAEX object.
A new Description node
Adds an new Version node to this object if it doesn't exists.
The CAEX object.
A new Version node
This class defines extension methods for the class.
Tries to locate a CAEX object from the specified ID.
If the ID 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 identifier.
if set to true tries to resolve an alias reference with an ExternalReferenceResolver
service.
The CAEXObject if it is found; otherwise null.
Tries to locates a CAEX object from the specified CAEX path.
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 CAEX path.
if set to true tries to resolve an alias reference with an ExternalReferenceResolver
service.
The CAEXObject if it is found; otherwise null.
Extension methods for the CAEX element "ExternalInterface"
Determines whether the specified ExternalInterface is referenced by other ExternalInterface
objects called 'Mirrors'.
The ExternalInterface CAEX element.
true if the specified element is a 'Master'-ExternalInterface; otherwise, false.
Determines whether the specified ExternalInterface is related to other ExternalInterfaces using InternalLinks.
The external interface.
true if the specified external interface is related; otherwise, false.
Gets all ExternalInterface objects from the specified , which are
derived from an
InterfaceClass, identified with the given .
The object with external interface.
The interface class path.
An enumeration of selected ExternalInterfaces of the given object.
Gets the related external interfaces of the specified ExternalInterface connected with InternalLinks.
Either the or the of the
InternalLink is equal to the specified ExternalInterface.
The ExternalInterface CAEX element.
An enumeration of related ExternalInterface elements
Gets the related instances (SystemUnitClass or InternalElement) of the specified ExternalInterface connected with
InternalLinks.
Either the or the of the
InternalLink is equal to the specified ExternalInterface.
The ExternalInterface CAEX element.
An enumeration of related Instances
Gets the related InternalElements of the specified ExternalInterface connected with InternalLinks, which have a
role reference to the provided
. Inheritance is considered here.
Either the or the of the
InternalLink is equal to the specified ExternalInterface.
The ExternalInterface CAEX element.
The role class path.
An enumeration of selected related InternalElements.
Extension methods for all objects with ExternalInterface collections.
Determines whether an object with ExternalInterfaces has an associated reference to
the specified InterfaceClass. If inheritance relations between InterfaceClasses should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified InterfaceClass is either identical
to a referenced InterfaceClass or a referenced InterfaceClass is derived from the specified InterfaceClass.
The InterfaceClass object.
if set to true inheritance relations
are regarded (default is false).
true if this CAEX Element object has an associated reference to
the specified InterfaceClass; otherwise, false.
InterfaceClass
This sample shows how to call the method using
a standard base InterfaceClass from the
var amlInterfaceClassLib = AutomationMLInterfaceClassLibType.InterfaceClassLib (myDocument);
InternalElementType internalElement;
...
internalElement.HasInterfaceClassReference (amlInterfaceClassLib.COLLADAInterface);
Determines whether this Object with ExternalInterfaces has an associated InterfaceClass reference
with the specified CAEX path interface reference. If inheritance relations between interface classes should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified InterfaceClass is either identical
to a referenced InterfaceClass or a referenced InterfaceClass is derived from the specified InterfaceClass.
The interface reference.
if set to true inheritance relations
are regarded (default is false).
true if this object has an associated InterfaceClass reference
with the specified CAEX path interface reference; otherwise, false.
interfaceReference
This sample shows how to call the method using
a standard base InterfaceClass path from the
InternalElementType internalElement;
...
internalElement.HasInterfaceClassReference (AutomationMLInterfaceClassLib.COLLADA);
All external Interfaces of this Object with ExternalInterfaces with an associated InterfaceClass reference
with the specified CAEX path interface reference. If inheritance relations between interface classes should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified InterfaceClass is either identical
to a referenced InterfaceClass or a referenced InterfaceClass is derived from the specified InterfaceClass.
The interface reference.
if set to true inheritance relations
are regarded (default is false).
All external interfaces with an associated InterfaceClass reference
with the specified CAEX path interface reference.
interfaceReference
Extension methods for the SystemUnitClass element and its defining class
Gets the supported Roles and the inherited roles from base classes.
List<SupportedRoleClassType>.
Inserts the provided SystemUnitClass object as a subordinate child into this SystemUnitClass
The SystemUnitClass ancestor.
The SystemUnitClass
Adding a new SystemUnitClass to this SystemUnitFamily.
The SystemUnitFamily object
Name of the SystemUnitClass element.
A new SystemUnitClass
Gets all descendant Objects in the SystemUnitClass.
SystemUnitClasses on all levels are returned.
The SystemUnitClass.
An enumeration of all descendant SystemUnitClass objects.
Extension methods for the SystemUnitClassLib element and its defining class
Inserts the provided SystemUnitClass into this SystemUnitClass library.
The system unit class library.
The system unit class.
Adding a new SystemUnitClass to this SystemUnitClassLib.
The SystemUnitClassLib object
Name of the SystemUnitClass element.
A new SystemUnitClass
Gets all descendant Objects in the SystemUnitClassLib.
SystemUnitClasss on all levels are returned.
The SystemUnitClassLib.
IEnumerable<SystemUnitFamilyType>.
Extension methods for the RoleClassLib element and its defining class
Inserts the provided RoleClass into this RoleClass library.
The role class library.
The role class.
Adding a new RoleClass to this RoleClassLib.
The RoleClassLib object
Name of the RoleClass element.
A new RoleClass
Gets all descendant Objects in the RoleClassLib.
RoleClasss on all levels are returned.
The RoleClassLib.
Enumeration of the RoleClass descendants.
Extension methods for an InterfaceClassLib element and its defining class .
Inserting an InterfaceClass element to the InterfaceClassLib object.
The InterfaceClassLib object
The InterfaceClass object to insert
Gets all descendant Objects in the InterfaceClass Library.
InterfaceClasses on all levels are returned.
The InterfaceClassLib object
IEnumerable<InterfaceFamilyType>.
A new InterfaceClass is added to the specified InterfaceClassLib object.
The InterfaceClassLib object
The name of the InterfaceClass to add
The new InterfaceClass element
Extension methods for an InterfaceClass element and its defining class .
Create an InterfaceClass from this interface (e.g. ExternalInterface). An
InterfaceClass is of type InterfaceFamilyType and may contain
InterfaceFamilyTypes as child elements.
InterfaceFamilyType.
Inserting the new InterfaceClass element to the provided InterfaceClass object.
The InterfaceClass object
The InterfaceClass object to insert
Gets all descendant Objects of the InterfaceClass.
InterfaceClasses on all levels are returned.
The InterfaceClass object
IEnumerable<InterfaceFamilyType>.
A new InterfaceClass is added to the specified InterfaceClass object.
The InterfaceClass object
The name of the InterfaceClass to add
The new InterfaceClass element
Extension methods for an Mapping element and its defining class .
Appends the AttributeNameMapping object to the defined Mapping object
The Mapping object
The AttributeNameMapping.
Appends the InterfaceNameMapping object to the defined Mapping object
The Mapping object
The interface name mapping.
Use of this method is restricted to CAEX Version 2.15.
Adding a new AttributeNameMapping to the defined Mapping object.
An AttributeNameMapping allows the definition of the mapping between attribute names of corresponding RoleClasses
and SystemUnitClasses.
The Mapping object
The attribute name of the SystemUnitClass
The attribute name of the RoleClass
The new AttributeNameMapping element
Adding a new InterfaceIDMapping to the defined Mapping object.
An InterfaceIDMapping allows the definition of the mapping between Interfaces of corresponding RoleClasses and
SystemUnitClasses.
The Mapping object
The ID of the interface in the SystemUnitClass
The ID of the interface in the RoleClass
The new InterfaceIDMapping element
Use of this method is restricted to CAEX Version 3.0 and above.
Adding a new InterfaceIDMapping to the defined Mapping object.
An InterfaceIDMapping allows the definition of the mapping between Interfaces of corresponding RoleClasses and
SystemUnitClasses.
The Mapping object
The interface in the SystemUnitClass
The interface in the RoleClass
The new InterfaceIDMapping element
Use of this method is restricted to CAEX Version 3.0 and above.
Adding a new InterfaceNameMapping to the defined Mapping object.
An InterfaceNameMapping allows the definition of the mapping between Interface names of corresponding RoleClasses
and SystemUnitClasses.
The Mapping object
The name of the interface in the SystemUnitClass
The name of the interface in the RoleClass
The new InterfaceNameMapping element
Use of this method is restricted to CAEX Version 2.15.
Extension methods for the RoleClass element and its defining class .
Inserts the provided RoleClass as a subordinate child to this RoleClass.
The role class ancestor.
The role class to be inserted.
Adding a new RoleClass to this RoleClassFamily.
The RoleClass object
Name of the RoleClass.
A new RoleClass
Gets all descendant Objects in the RoleClass.
RoleClasses on all levels are returned.
The RoleClass object.
Enumeration of all descendant RoleClass objects.
The Aml.Engine.CAEX.Extensions Namespace contains extension methods for most of the
specific CAEXObject classes. The most of these extension methods are methods which
are obsolete and only kept to be downward compatible to AMLEngine the versions prior to
v5.0.0. For most of these methods, better alternatives are provided either via a specific
service or are available in the
namespace.
Extension methods for all objects with Attribute collections.
Copies all attribute of the source object with attributes to the target object including
children
the target object
the source object
true if the copy process should include the attribute values,
not recommended for classes
nothing
Gets the first attribute with the specified name from the attribute collection of the CAEX object.
The CAEX object.
The attribute name.
Gets the Attribute with the provided name.
Appends a new Attribute object with the defined name to the specified CAEX object.
The CAEX object
the name of the new Attribute object
The new Attribute
Sets the value for the attribute with the specified name from the attribute collection of the CAEX object.
If no attribute with that name exists, it is created.
the CAEX object with an Attribute collection.
The attribute name
The attribute value
The modified attribute.
Modifies the attribute with the specified name from the attribute collection of the CAEX object, using
the provided values. If no attribute with that name exists, it is created.
parent object
attribute name
attribute value
attribute unit
attribute data type
The modified attribute.
Modifies the attribute with the specified name from the attribute collection of the CAEX object, using
the provided values. If no attribute with that name exists, it is created.
parent object
attribute name
attribute value
attribute defaultValue
attribute description
attribute unit
attribute data type
The modified attribute
Modifies the attribute with the specified name from the attribute collection of the CAEX object, using
the provided values. If no attribute with that name exists, it is created.
Sets the AttributeDataType to xs:double
parent object
attribute name
attribute value of type double
The modified attribute
Modifies the attribute with the specified name from the attribute collection of the CAEX object, using
the provided values. If no attribute with that name exists, it is created. Sets the AttributeDataType to xs:double
parent object
attribute name
attribute value of type double
attribute defaultValue
attribute description
attribute unit
The modified attribute
Extensions for all classes which implement the interface.
Deletes the inherited element. According to CAEX [DIN EN 62424:2008-08 A.2.4.1 (pp.48-49)],
deleting of inherited properties is possible by redefinition of the corresponding data again in the child object
with the ChangeMode attribute set to "deleted".
The class with base class.
Name of the element which should be deleted.
Type of the element which should be deleted.
true, if an inherited property was found and could be deleted; otherwise false.
Gets a list of Attribute objects that are inherited from base classes.
The List will also contain the elements own Attribute objects, if the parameter is set (default).
If an Attribute is overwritten, only the last defined is contained.
The class with a possible base class reference for inheritance.
if set to true includes the elements own ExternalInterface objects; otherwise not
A list of Attribute objects
Gets a list of Attribute objects that are inherited from base classes.
The List will also contain the elements own Attribute objects, if the parameter is set (default).
If an Attribute is overwritten, only the last defined is contained.
The class with a possible base class reference for inheritance.
if set to true includes the elements own ExternalInterface objects; otherwise not
A list of Attribute objects
Gets a list of ExternalInterface objects that are inherited from base classes.
The List will also contain the elements own ExternalInterface objects, if the parameter is set (default).
If an ExternalInterface is overwritten, only the last defined is contained.
The class with a possible base class reference for inheritance.
if set to true includes the elements own ExternalInterface objects; otherwise not
A list of ExternalInterface objects
Gets a list of ExternalInterface objects that are inherited from base classes.
The List will also contain the elements own ExternalInterface objects, if the parameter is set (default).
If an ExternalInterface is overridden, only the last defined is contained. The result also contains the nested
interface descendants of an external interface.
The class with a possible base class reference for inheritance.
if set to true includes the elements own ExternalInterface objects; otherwise not
A list of ExternalInterface objects
Gets a collection of Attribute objects that are inherited from base classes. The own attributes are included in the
enumeration.
The class with a possible base class reference for inheritance.
if set to true includes the own attributes.
A collection of Attribute objects
Gets a collection of InternalElement objects that are inherited from base classes.
As default, the own InternalElements are included in the enumeration.
The class with a possible base class reference for inheritance.
if set to true includes the own Internal Elements.
A collection of InternalElement objects
Gets a collection of ExternalInterface objects that are inherited from base classes.
The class with a possible base class reference for inheritance.
if set to true includes the own interfaces.
A collection of ExternalInterface objects
Gets a collection of objects of the defined InheritedElement-Type that are inherited from base classes.
The type of the inherited element.
the base class containing the element
if set to true the own elements are included.
An enumeration of all inherited elements.
Determines, if the specified element is an inherited element. To be an inherited element, it has to be an
AttributeType, ExternalInterfaceType or InternalElementType element.
the class providing the inheritance relation
the element to test
true, if a base class contains the element
Determines, if an element of a class with an inheritance relation to a base class is an overridden element, what
means
a base class contains an element which is considered as equal to the provided element. In most cases, equality is
defined by equality of the element names.
the base class containing the element
the element to test
true, if an element of a class with an inheritance relation to a base class is an overridden element
true if the specified element is overridden; otherwise, false.
Determines, if an element of a class with an inheritance relation to a base class has an overridden element with
the specified name and type, what means a base class contains an element which name is equal to the provided
elementName.
the base class containing the element
Name of the element.
Type of the element.
The overridden element if it exists; otherwise null.
Name of the referenced Class without path information.
Any object with a class reference.
Name of the referenced Class, if exists; otherwise string.Empty
Name of the referenced SystemUnitClass without path information.
The internal element.
Name of the referenced Class, if exists; otherwise string.Empty
Name of the referenced InterfaceClass without path information.
The interface Class.
Name of the referenced Class, if exists; otherwise string.Empty
Deletes the inherited element. According to CAEX [DIN EN 62424:2008-08 A.2.4.1 (pp.48-49)],
deleting of inherited properties is possible by redefinition of the corresponding data again in the child object
with the ChangeMode attribute set to "deleted".
The class with base class.
Name of the element which should be deleted.
Type of the element which should be deleted.
true, if an inherited property was found and could be deleted; otherwise false.
Gets a list of Attribute objects that are inherited from base classes.
The List will also contain the elements own Attribute objects, if the parameter is set (default).
If an Attribute is overwritten, only the last defined is contained.
The type of the CAEX class.
The class with a possible base class reference for inheritance.
if set to true includes the elements own ExternalInterface objects; otherwise not
A list of Attribute objects
Gets a list of ExternalInterface objects that are inherited from base classes.
The List will also contain the elements own ExternalInterface objects, if the parameter is set (default).
If an ExternalInterface is overwritten, only the last defined is contained.
The type of the CAEX class.
The class with a possible base class reference for inheritance.
if set to true includes the elements own ExternalInterface objects; otherwise not
A list of ExternalInterface objects
Gets a collection of Attribute objects that are inherited from base classes. The own attributes are included in the
enumeration.
The type of the CAEX class.
The class with a possible base class reference for inheritance.
if set to true [include own].
A collection of Attribute objects
Gets a collection of InternalElement objects that are inherited from a base class. The own InternalElements are included in the
enumeration.
The type of the CAEX class.
The class with a possible base class reference for inheritance.
if set to true [include own].
A collection of InternalElement objects
Gets a collection of ExternalInterface objects that are inherited from base classes.
Type of the CAEX class.
The class with a possible base class reference for inheritance.
if set to true the interfaces of the provided class are included.
A collection of ExternalInterface objects
Gets a collection of objects of the defined InheritedElement-Type that are inherited from base classes.
The type of the inherited element.
The type of the class.
the base class containing the element
if set to true own elements are included.
An enumeration of all inherited elements.
Determines, if an element of a class with an inheritance relation to a base class is an overridden element, what
means
a base class contains an element which is considered as equal to the provided element. In most cases, equality is
defined by equality of the element names.
the base class containing the element
the element to test
true, if an element of a class with an inheritance relation to a base class is an overridden element
Determines, if an element of a class with an inheritance relation to a base class has an overridden element with
the specified name and type, what means a base class contains an element which name is equal to the provided
elementName.
the base class containing the element
Name of the element.
Type of the element.
The overridden element if it exists; otherwise null.
Factory to create CAEX-Elements according to a provided Type.
Factory method to create a new CAEX object in the provided CAEX document.
The CAEX element is derived from the specified CAEX object Type. To insert
the new CAEX object into the document an appropriate insertion method has
to be used.
The CAEX object Type.
The CAEX document.
The created CAEX object.
document
Factory method to create a new CAEX object in the provided CAEX document.
The CAEX element is derived from the specified CAEX object Type. To insert
the new CAEX object into the document an appropriate insertion method has
to be used.
The CAEX document.
Name of the CAEX tag.
The created CAEX object.
document
This class defines extension methods for the CAEXFile Element
Imports the provided library as a new library to this caexFile. If the library contains external references which
are not
resolvable in the target document, the needed external references are copied from the source document also.
the CAEXFile
the library which should be imported
the imported library.
Importing elements with different schema's is not supported
Performs a document wide fast search and returns a CAEXObject given by its
ID.
the CAEXFile
the ID ob the object which is subject of the search
Optional parameter to enable this methods (default=false),
to search in referenced documents also.
Referenced Documents can only be considered, if they are loaded via the ExternalReference.
the found CAEXObject or null if not found
External references are resolved in the search if a service
is registered.
Performs a document wide fast search and returns an object of type 'T' given by its
ID.
Type of the expected CAEX object.
the CAEX file
the ID ob the object which is subject of the search
Optional parameter to enable this methods (default=false),
to search in referenced documents also.
Referenced Documents can only be considered, if they are loaded via the ExternalReference.
the found CAEXObject or null if not found
External references are resolved in the search if a service
is registered.
Performs a document wide fast search and returns a CAEXObject given by its
Path, e.g. "plant/unit" or -in case the document is based on CAEX 2.15 -
"GUID:Interface".
the CAEXFile
the path of the object which is subject of the search
new optional parameter to enable this method (default=false),
to search in referenced documents also.
the found CAEXObject or null if not found
External references are resolved in the search if a service
is registered.
Performs a document wide fast search and returns an object of type 'T' given by its
Path, e.g. "plant/unit" or -in case the document is based on CAEX 2.15 -
"GUID:Interface".
Type of the expected CAEX object.
the CAEX file
the path of the object which is subject of the search
new optional parameter to enable this method (default=false),
to search in referenced documents also.
the found CAEXObject or null if not found
External references are resolved in the search if a service
is registered.
Imports the provided library into the AttributeTypeLib collection of this CAEX file.
the CAEX file.
The source AttributeTypeLib object.
The imported AttributeTypeLib.
Imports the provided source instance hierarchy into the InstanceHierarchy collection of this CAEX file.
the CAEX file.
The source InstanceHierarchy object.
The imported InstanceHierarchy.
Imports the provided library into the InterfaceClassLib collection of this CAEX file.
the CAEX file.
The source InterfaceClassLib.
The imported InterfaceClassLib.
Imports the provided library into the RoleClassLib collection of this CAEX file.
the CAEX file.
The source RoleClassLib.
The imported RoleClassLib.
Imports the provided library into the SystemUnitClassLib collection of this CAEX file.
the CAEX file
The source SystemUnitClassLib.
The imported SystemUnitClassLib.
Inserts the ExternalReference into the CAEX file.
The CAEX file.
The ExternalReference object.
Insert an existing InstanceHierarchy to this CAEX file as the last InstanceHierarchy.
The InstanceHierarchy to insert.
The CAEX file.
Insert an existing InterfaceClassLib to this CAEX file as the last InterfaceClassLib.
The CAEX file.
The InterfaceClassLib to insert.
Insert a RoleClassLib to this CAEX file as the last RoleClassLib.
The CAEX file.
The RoleClassLib to insert.
Append a SystemUnitClassLib to this CAEX file as the last SystemUnitClassLib.
The CAEX file.
The SystemUnitClassLib to insert.
A new ExternalReference node is added to the CAEX file.
the CAEX file.
The path value of this external reference.
The alias value of this external reference.
A new ExternalReference
Adding a new InstanceHierarchy with the given name to this CAEX file.
The Instance Hierarchy is always added as the
last Instance Hierarchy.
the CAEX file.
The name of the new InstanceHierarchy.
A new InstanceHierarchy
Adding a new InterfaceClassLib to this CAEX file.
the CAEX file
The name of the new InterfaceClassLib.
A new InterfaceClassLib
Adding a new RoleClassLib to this CAEX file.
the CAEX file.
The name of the RoleClassLib.
A new RoleClassLib
Adding a new SystemUnitClassLib to this CAEX file.
the CAEX file
The name of the new SystemUnitClassLib.
The new SystemUnitClassLib.
Traversal method for a hierarchical tree, with identical childSelector for
all tree nodes. The method uses a pre-order algorithm without recursion for
the deep traversal of the complete tree.
the CAEXFile
The source.
The child selector.
IEnumerable.
This class defines extension methods for the CAEXObject Element
This method sets a description. If no description exists, it is created.
the CAEX object
the description
Gets the full node path of the provided CAEX object, which includes the object names of all
ancestor hierarchy levels and the name of the object itself.
The CAEX object.
Please note that this method returns a different result than the method, which
returns
the CAEX path used for referencing objects.
The path to the XML node.
Method to add a new element 'AdditionalInformation' to a CAEXObject
The CAEX Object
Insertion position
the new element
Generic method to add a new element with the provided name of a specific Type to a CAEXSequence.
The type of the added object
The CAEX Sequence
The name of the new element
Insertion position
the wrapper of type T containing the new element
Static class supporting the generation and analysis of CAEXPath's
The alias separator used after Alias
The attribute separator used before attribute hierarchies.
CAEX 3.0 doesn't define a special attribute separator character any more
The interface separator used before an interface
CAEX 3.0 doesn't define a special interface separator character any more
The object separator used between object hierarchies
The begin of a path part, used if the object name contains a Path Separator
The escaped , used in an object name, if it
contains this character
The end of a path part, used if the object name contains a Path Separator
The escaped , used in an object name, if it contains
this character
The end of a path part, used if the object name contains a Path Separator
Gets the alias name from a reference. If the reference is not a reference with
an alias, the return value is string.Empty.
The class reference.
The CAEX schema version.
The Alias Name without the Ending AliasSeparator or string.empty
Builds the Reference-Path which includes all Names of CAEXObjects in the given list of CAEX objects.
The CAEX objects.
The CAEX Path, build from the object list.
Builds the Reference-Path which includes all Names of CAEXObjects in the given list of elements.
The XML nodes of the CAEX objects.
The CAEX Path, build from the element XML nodes.
Builds the Reference-Path which includes all names of CAEX objects in the given name array.
The names, which build the path parts.
The CAEX schema version.
The CAEX path created from the names array.
Determines whether the specified path can be normalized because it contains path part delimiters
The path.
true if this instance can normalize the specified path; otherwise, false.
Determines whether the specified name contains path separator chars.
The name.
The document.
true if the specified name contains path separator chars; otherwise, false.
Gets the ID of the master parent instance from a reference defined in an Attribute mirror object in the specified
CAEX document.
The reference from the Attribute mirror object.
The document.
if set to true, if the reference is an Attribute reference in a mirror.
The master parent ID
Only valid since CAEX Version 3.0
Gets the InternalElement ID from a reference defined in an InternalLink object.
The reference from the InternalLink object.
if set to true [is interface reference].
The InternalElement ID
Only valid for CAEX Version 2.15
Check, if the provided reference is a reference to an attribute of an ExternalInterface, using the ID of an
ExternalInterface.
The reference.
The CAEX document.
if set to true a valid ID is used to reference an ExternalInterface.
This method only recognizes GUIDs in a reference.
the normalized ID if the reference contains an ID
Builds the reference Path for an Interface-Reference in an InternalLink
The system unit class.
The interface class.
System.String.
gets the reference path for an Interface-Reference in an InternalLink
The interface Parent (SystemUnitClass or InternalElement)
The external Interface.
System.String.
Determines whether the specified part of a path is an alias.
The path part.
true if the specified path part is an alias; otherwise, false.
Determines, if the path is an Attribute reference. This method is able to distinguish
if an UUID is combined with a CAEX path
The document, where the reference is tested.
The attribute reference.
true, if the provided reference is an attribute reference.
This method should only be used for CAEXDocuments based at least on CAEX Version 3.0
Determines whether the specified object reference is an alias reference to an ID in the specified document
The object reference.
The document.
Optional parameter to specify the type of the reference. If not set, all possible types are
checked
true if the specified object reference is an alias reference to an ID; otherwise, false.
enumeration type specifying possible ID Reference types
ID reference to an attribute
ID reference to an interface
ID reference to an internal element
all possible references
Determines, if the path is build using an interface separator. This method is able to distinguish
if an interface separator char is used in an interface name and is escaped
This method should only be used for CAEXDocuments based on CAEX Version 2.15
The class reference.
true, if the provided class reference is an interface reference.
Determines whether the specified classReference is an alias reference to the provided AutomationML class path.
The class reference.
The automation ml class path.
The CAEX schema version.
true if [is object reference with alias] [the specified class
reference]; otherwise, false.
Determines whether the specified reference is defined with an alias separator.
The class reference string.
The CAEX schema version.
true if the reference is a reference with an alias; otherwise, false.
Determines whether the ID is valid to be used in an attribute mirror reference.
The identifier string.
The document.
true if the ID is valid to be used in an attribute mirror reference; otherwise, false.
Determines whether the specified string can represent an ID
The identifier string.
true if the specified identifier string can be used as an identifier; otherwise, false.
This method should only be used for testing strings which are retrieved from an attribute where an ID is a valid
value.
It is not possible to distinguish a Name from an ID, because it exists neither a defined syntax for object names
nor
for object IDs. Only if the UUID format is used to represent an ID the ID format is recognized.
Normalization of a CAEXPath. A normalized path is freed of all path part delimiters '[' and ']'
in case that there is no path part name containing a path separator character like '/'.
The path.
if set to true [is normalized].
A CAEX schema version.
the normalized path
Since CAEX Version 3.0 a '.' and ':' is no longer used as a path separator. Names, containing
such a character will be normalized in Version 3.0 also.
Returns the Path Part object names of a CAEX Path. If any object name contains
a path separator character the path part is enclosed in square brackets '[',
']'. The square brackets are removed from the object name in the returned
result (default behaviour). If keepPathPartBrackets is set to true, square
brackets are not removed.
The full CAEX path.
The CAEX schema version.
false (default); if true, object names may be enclosed in square
brackets
Array of path part names
Returns the Path Part object names of a CAEX Path with the Separator Char at
the Names End as an array of strings.
The full CAEX path.
The CAEX schema version.
optional parameter, specifying that only the alias char should be kept.
Array of path part names.
Returns the Path Part object names of a CAEX Path with the Separator Char at
the Names End as an array of strings.
The full CAEX path.
The CAEX schema version.
optional parameter, specifying that only the alias char should be kept.
Array of path part names.
Builds the Path Part for any CAEXObject, which may be part of a CAEX Path. The
Path Part is build from the object Names and the Part - Syntax, according to
chapter 2.8 of the CAEX guide: If defined separators are potentially a valid
part of object names, the following syntax shall be
used: all path elements shall be separated by square brackets “[“ name “]”.
This allows for using the original names and the defined separators at
the same time. If the conflict case arises that the described brackets
are part of object names, the brackets in the object name shall be
escaped by means of common XML escape-sequences. If a name contains any
Path part - Separator like '[' or ]' this character will be escaped with '\'.
The CAEX element which should be part of the Path.
if true, the path part is build with the ID-Attribute
The Element Representation in the CAEX Path
transforms the name of the defined element to a path Part (special characters
are escaped).
The element.
if set to true use the Elements ID, otherwise use its name.
System.String.
Transforms a name to a path Part (special characters are escaped).
Since CAEX Version 3.0 the Path separator characters '.' and ':' are eliminated.
The name.
This method has different implementations according to the used CAEX Version
The transformed name that can be used as a path part.
Returns the Path Part object names of a CAEX Path. If any object name contains
a path separator character the path part is enclosed in square brackets '[',
']'. The square brackets are removed from the object name in the returned
result (default behaviour). If keepPathPartBrackets is set to true, square
brackets are not removed.
The full CAEX path.
The CAEX schema version.
false (default); if true, object names may be enclosed in square
brackets
IEnumerable<System.String>.
Returns the Path Part object names of a CAEX Path with the Separator Char at
the Names End
The full CAEX path.
The CAEX schema version.
optional parameter, specifying that only the alias char should be kept.
IEnumerable<System.String>.
Returns the Path part separator for an element, which should be put before that
element in a Path
Since CAEX Version 3.0 the PathPartSeparator is element independent and always the .
The CAEX-Element.
The Path Separation character for the given element
Returns the Path part separator for an element, which should be put before that
element in a Path
The Xml-Node of the CAEX-Element.
The Path Separation character for the given element
Removes the alias from the provided path if the path is
.
The path.
The path without the alias part.
Gets the defined Separator characters according to the provided schema version.
The schema.
The defined separator characters, which can be used in a CAEX path.
Gets the Attribute Path from a reference defined in an mirror Attribute object in the specified CAEX document.
The reference from the Attribute object.
The document.
if set to true if the reference is an Attribute reference in a mirror.
Attribute Path
Only valid since CAEX Version 3.0
Gets the ExternalInterface Name from a reference defined in an InternalLink object.
The reference from the InternalLink object.
if set to true [is interface reference].
ExternalInterface Name
Only valid for CAEX Version 2.15
Determines whether the specified part character is separator.
The part character.
true if the specified part character is separator; otherwise, false.
Determines whether the specified part character is separator.
The part character.
true if the specified part character is separator; otherwise, false.
returns all path - parts build from the element names of the specified
elements in the collection.
The elements.
List<System.String>.
returns all path - parts build from the element names of the specified
elements in the collection.
The elements.
List<System.String>.
Extension class for collections to be used in LINQ-Expressions
Wraps this object instance into an IEnumerable<T>
consisting of a single item.
Type of the object.
The instance that will be wrapped.
An IEnumerable<T> consisting of a single item.
Extension methods to navigate the inheritance relations
Gets the dictionary of derived classes. The dictionary has to be filled manually
.
This class can be used to improve the performance of the
method. If your class library in the AML document is stable, it is possible to add the base classes, which are of
interest,
into the dictionary. After a class is registered, all derived classes of this class are fast accessible. If not
longer
needed or if the class library needs an update, the dictionary entries should be updated or removed.
Adds the class derivations for the specified class path to the dictionary.
The document.
The class path.
Element name of the class.
Determines, if the specified class is directly or indirectly (across multiple generations)
a descendant of the class or identical to it, which is uniquely identified with the specified baseClass path.
The base class path or the referenced class path may contain alias identifiers. If alias
identifiers are present, the method tries to load the external referenced document.
The type of the CAEX class.
The class with reference.
The base class path.
true if the class is derived, false if it is not. If no value is
returned, some references could not be resolved to get the answer.
Determines, if the class, specified with the given class path is directly or indirectly (across multiple
generations)
a descendant of the class or identical to it, which is uniquely identified with the specified baseClass path.
The base class path or the referenced class path may contain alias identifiers. If alias
identifiers are present, the method tries to load the externally referenced document.
The type of the CAEX class.
The document where the classes are searched
The class path of the tested class.
The base class path.
true if the class is derived, false if it is not. If no value is
returned, some references could not be resolved to get the answer.
Determines, if the specified class is directly or indirectly (across multiple generations)
a descendant of the specified base class or identical to it. This method can be used, if the classes are
distributed over different CAEX documents, the documents should be referenced by external
references and alias references.
The type of the CAEX class.
The class with reference.
The base class.
true if the class is derived, false if it is not. If no value is
returned, some references could not be resolved to get the answer.
Determines whether the specified attribute defines an inheritance relation from the attribute,
uniquely identifiable by the given attribute type path. The attribute type path may contain an alias.
The attribute, containing a reference - this is either an Attribute or an AttributeType.
A class path of a base attribute type, which is tested for a possible inheritance relation to
the specified attribute.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified interface class has an inheritance relation from the interface class,
uniquely identifiable by the given interface class path. The interface class path may contain an alias.
The interface class.
Class path of a base interface class which is tested for a
inheritance relation to the specified interface class, which is the more specific class
in this relation.
true if an inheritance relation is resolved; otherwise, false.
Determines whether the specified role reference defines an inheritance relation from the role,
uniquely identifiable by the given role class path. The role class path may contain an alias.
The role reference - this is a supported role class or a role requirement.
A class path of a base role, which is tested for a possible inheritance relation to
the specified role reference.
true if an inheritance relation is resolved; otherwise, false.
Extension methods for an InstanceHierarchy element
Gets all descendant Objects in the InstanceHierarchy.
InternalElements on all levels are returned.
The InstanceHierarchy.
Enumeration of the InternalElement objects.
Extension methods for the CAEX element "InternalElement"
Determines whether the specified InternalElement is referenced by other InternalElement
objects called 'Mirrors'.
The element.
true if the specified element is a 'Master'-InternalElement; otherwise, false.
Extension methods for string type CAEX attributes (i.e. GUID, Path, etc.)
string extension method to check if it as GUID
The stringGuid.
true if the specified expression is unique identifier; otherwise, false.
String extension method to normalize a GUID. If the string cannot be identified as a GUID the original string is
returned
The stringGuid.
The normalized GUID if the provided string is a GUID; otherwise the original string is returned.
Determines whether the specified path is an interface path.
can only be used in a context with CAEX 2.15
The path.
true if [is interface path] [the specified path]; otherwise, false.
Determines whether the specified attribute is an attribute, containing a class reference.
The name of the attribute.
true if the specified attribute name is a class reference; otherwise, false.
Determines whether the specified path is an interface path containing an ID
Since CAEX Version 3.0 IDs cannot be part of a CAEXPath anymore
The path.
The identifier.
The CAEX Version
true if the specified path is an interface path with identifier; otherwise, false.
Determines whether the specified path is an interface path with this interface name.
The path.
Name of the interface.
A CAEX schema version.
true if the specified path is an interface path with this interface name; otherwise, false.
Since CAEX Version 3.0 Names cannot be part of an interface path anymore.
Extension methods for the .
Inserts a new class instance to the InternalElement collection of the parentInternalElement. If there are existing
instances of the same Type, the Element is inserted after the last Element of that Type.
Before Insertion, the Uniqueness of the Name among the siblings of that Type is checked.
The Parent-InternalElement
The instance of a class to be inserted at the parentInternalElement. The instance can be
of type InternalElementType or InterfaceClassType
True if insertion was successful, otherwise false (name is not unique or wrong type of newInstanceObject)
Creates a new InternalElement and inserts it after the last InternalElement of the
parent if the elementName is unique among the child's. The ChangeMode is set to the Value 'Create'
Parent of the new InternalElement
Name of the new InternalElement
the new InternalElement or null, if the elementName is not unique
Returns all SystemUnit Classes which are ancestors of this. This SystemUnit Class is
included in the enumeration as the first Element, The farthest is the last Element in
the enumeration.
The SystemUnitClass.
Enumeration of all SystemUnitClass ancestors.
Inserts the InternalElement object after the defined Predecessor in the InternalElement
collection of the SystemUnitClass. If the Predecessor is null,
the InternalElement object is inserted at the first position of the InternalElement collection.
The SystemUnitClass object
The internal element.
The internal element predecessor.
Inserts an Attribute object in the Attribute collection of the .
Any object with an Attribute collection.
The Attribute object to insert
Inserting an ExternalInterface to the ExternalInterface-Collection of the
.
The Element is inserted at the first Element
of any existing ExternalInterfaces if no other position is defined.
Any object with an ExternalInterface collection.
The ExternalInterface object.
Explicit definition of the position asFirst (true) or asLast (false)
Inserting an InternalElement to the InternalElement-Collection of the
.
Any object with an InternalElement collection.
The InternalElement to insert.
Insert as first if set to true (default), otherwise append as last
Inserts the specified InternalLink as the first InternalLink if nothing else if explicit defined.
The SystemUnitClass object
The internal link element.
Inserted at first position if set to true, otherwise appended at last position
Inserts the SupportedRoleClass as the first SupportedRoleClass if nothing else if explicit defined.
The SystemUnitClass object
The supported role class element.
Inserted at first position if set to true, otherwise appended at last position
Adding a new ExternalInterface instance to the ExternalInterface-Collection of the
.
The New ExternalInterface is inserted as the
first ExternalInterface of any existing Interfaces if nothing else is explicit defined.
Any object with an ExternalInterface collection.
The name of the new ExternalInterface
If set to true, the interface is insert at first, otherwise at last Interface.
The new ExternalInterface
Adding a new ExternalInterface instance to the ExternalInterface-Collection of the
referencing a specific InterfaceClass.
The New ExternalInterface is inserted as the
first ExternalInterface of any existing Interfaces if nothing else is explicit defined.
The provided is set as the RefBaseClassPath value.
Any object with an ExternalInterface collection.
The name of the new ExternalInterface
The CAEX Path of the InterfaceClass which should be referenced.
If set to true, the interface is insert at first, otherwise at last Interface.
The new ExternalInterface
Adding a new InternalElement instance to the InternalElement-Collection of the
.
The New InternalElement is inserted as the
first InternalElement of any existing InternalElement objects if nothing else is explicit defined.
Any object with an InternalElement collection.
Name of the InternalElement
If set to true, the InternalElement is insert at first, otherwise at last.
The new InternalElement
Inserts a new InternalLink as the first InternalLink if nothing else if explicit defined.
The SystemUnitClass object
The name of the InternalLink
if true insert at first InternalLink, otherwise at last InternalLink
The new InternalLink element
Inserts a new SupportedRoleClass as the first SupportedRoleClass if nothing else if explicit defined.
The SystemUnitClass object
The path to the role class that is referenced
Inserted at first position if set to true, otherwise appended at last position
The new SupportedRoleClass
This enum defines possible changes of a CAEX object. The changes are notified in a or
a .
empty mode
A CAEX object has been added.
A CAEX object will be deleted.
A CAEX object has got a changed ID attribute.
A CAEX object will get a changed ID.
A CAEX object has got a changed ID reference.
A CAEX object will get a changed ID reference.
A CAEX object has been renamed.
A CAEX object will be renamed.
A CAEX object has got a changed name reference.
A CAEX object will get a changed name reference.
A CAEX object has got a changed path reference.
A CAEX object will get a changed path reference.
A CAEX object has been deleted, the element in the change notification is the former parent of the deleted element.
.
A CAEX object's value has been changed.
A CAEX object's value will change.
A CAEX object is moving to a new position in its collection.
A CAEX object has been moved to a new position in its collection.
Combination of all defined changed mode events
Combination of all defined modes for changing events
Event arguments for a and
a
Constructs arguments for an element changing event
The CAEX element.
The CAEX parent.
The document.
The change mode.
Constructs arguments for an element's attribute changing event
The CAEX element.
The CAEX parent.
The document.
The attribute.
Name of the attribute.
The old value.
The new value.
The change mode.
The changed CAEXAttribute
Gets the name of the CAEX attribute.
Gets the CAEX document.
The changed CAEXElement
The changed CAEXElement's parent. This Property should be used, to detect a former parent of a CAEXElement,
when the CAEXElement has been deleted and has no associated parent.
The change mode
The new value
The old value
Initializes a new instance of the class.
The moved element.
The sibling.
if set to true [after sibling].
Moves the element before the specified sibling.
the moved element
the new sibling of the element
if set to true the element is moved after the sibling.
Command Execution method
Command reverse execution method
The Aml.Engine.CAEX.Commands Namespace contains different commands that are provided to
add, delete or change elements in a CAEX document. The classes support the implementation
of Undo Redo using the command pattern with methods for command execution and reverse execution.
If an Undo Redo service is registered, it will be located by the commands and used to push
commands on the Undo Redo stack.
Command to change the content nodes of an XElement which enables undo and redo of the changes
Create a new instance of the command
The Element, which value should change
The new content element
Change the value of an element using a command, if the UndoRedoService is registered.
If the service is null, the changes are made without using a command.
The changed element
The new value which is set when the command is executed
The old value of the element before the change was made
Command Execution Method (enables redo)
Command reverse execution Method (enables undo)
This Class defines a WeakEventSource, used to define Events, raised in the AML Engine.
The type of the event arguments.
Initializes a new instance of the class.
Raises an event, defined with this instance
The sender.
The event argument instance containing the event data.
Subscribes the specified handler with this event source.
The handler.
Unsubscribes the specified handler with this event source.
The handler.
This is the abstract base class for all CAEX commands, applicable to CAEX elements
This event is raised after a CAEXElement has been changed.
This event is raised before a CAEXElement will be changed.
Gets the CAEX document processing the command
Gets the display name of the command
Gets the XML document processing the command
Raises the for the provided document.
The document.
The instance containing the event data.
Raises the for the provided document.
The document.
The instance containing the event data.
Command Execution method
Command reverse execution method
Command to add a new Element to an existing sibling which enables undo and redo of the changes
Create a new instance of the command
The sibling of the element
The element
Determines the position
Adds a Sibling to the specified sibling using a command.
the sibling
the added element
if true element is added after the sibling; otherwise before
The added Element
Command execution method (enables redo)
Command reverse execution Method (enables undo)
Command to insert a new Element to an existing parent which enables undo and redo of the changes
Create a new instance of the command
The designated owner of the element
The element
Inserts the Element using a command, if the UndoRedoService is registered.
If no service is registered, the changes are made without using a command.
The New added Element
The Owner of the Element
Command execution method (enables redo)
Command reverse execution Method (enables undo)
Command to insert a new Element to an existing parent which enables undo and redo of the changes
Create a new instance of the command
The designated owner of the new element
The XName of the new element
Inserts a new Element using a command, if the UndoRedoService is registered.
If the service is null, the changes are made without using a command.
The New added Element
The XName of the Element
The Owner of the Element
Command execution method (enables redo)
Command reverse execution Method (enables undo)
Command to remove an Element which enables undo and redo of the changes
Create a new instance of the command
The element
Removes the Element using a command, if the UndoRedoService is registered.
If the service is null, the changes are made without using a command.
the removed element
The New added Element
The Owner of the Element
Command execution method (enables redo)
Command reverse execution Method (enables undo)
Command to add a new Element to an existing parent which enables undo and redo of the changes
Create a new instance of the command
The designated owner of the new element or sibling
The XName of the new element
The content for the new element
If set to true the provided element is the sibling, otherwise the parent
Command execution method (enables redo)
Adds a new Element using a command.
The designated owner or the sibling of the new element
The XName of the new element
The content for the new element
If set to true the provided element is the sibling, otherwise the parent
The content of the Element
The XName of the Element
The Owner of the Element
Command to change the value of an Attribute of an XElement which enables undo and redo of the changes
Create a new instance of the command
The Element, which owns the attribute.
The name of the attribute.
The new value.
Change the value of an attribute using a command, if the UndoRedoService is registered.
If the service is null, the changes are made without using a command.
The Element
Name of the attribute
Attribute value
The Name of the Attribute
The New value for the attribute
The Old Value of the attribute or null if no attribute existed before
The Owner of the attribute
Command Execution Method (enables redo)
Command reverse execution Method (enables undo)
Command to change the value of an XElement which enables undo and redo of the changes
Create a new instance of the command
The Element, which value should change
The new value
Change the value of an element using a command, if the UndoRedoService is registered.
If the service is null, the changes are made without using a command.
The changed element
The new value which is set when the command is executed
The old value of the element before the change was made
Command Execution Method (enables redo)
Command reverse execution Method (enables undo)
Interface for CAEXCommands. If Commands implement this interface, they can use
a to enable undo and redo.
Gets the CAEX document.
Gets the display name.
Command Execution Method (enables redo)
Command reverse execution Method (enables undo)
This class is a wrapper for the CAEX element 'Copyright'.
Initializes a new instance of the class.
The XML node.
This class is a wrapper for the CAEX element 'Description'.
Initializes a new instance of the class.
The XML node.
This Interface is implemented by CAEX elements which contain Value properties. With the specified properties
and methods it is possible to convert attribute values according to an existing attribute data type into a type
based object.
The type conversion is supported by a new class .
Gets all the CAEXValue objects for the defined value attributes of this instance.
Gets and sets the attribute value for the named attribute using the decoding and encoding methods of
.
Gets the Attribute datatype which is valid for all attribute values of this element
Gets the attribute, which specifies the attribute data type for the attribute values.
Gets the CAEXValue for the named value attribute which
allows type-coded access to the value property using appropriate encoding and decoding methods.
Interface class implemented by which comprises a basic set of attributes and header
information which exist for all CAEX elements.
Gets the collection of AdditionalInformation values contained in this instance.
Gets and sets the change mode for a CAEX element (Optional in CAEX).
Gets and sets the Copyright for this object.
For CAEX 2.15 documents the content of the Copyright object is transformed to a string.
Gets the wrapper for the Copyright element.
Gets and sets the Description for this object.
For CAEX 2.15 documents the content of the Description object is transformed to a string.
Gets the wrapper for the Description element.
Gets the collection of Revision objects contained in this instance.
Gets the collection of SourceObjectInformation objects contained in this instance.
Gets and sets the Version for this object.
For CAEX 2.15 documents the content of the Version object is transformed to a string.
Gets the wrapper for the Version element.
Gets the CAEXSequence owned by this instance, which contains the specified CAEX object.
For example, if the specified object is a revision object,
the sequence of the revision objects is returned.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Gets the CAEXSequence for elements of type T, which is owned by this CAEX object.
The CAEX container
Inserts the specified CAEX object in it's associated sequence. The CAEXBasicObject
defines the and sequences.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the CAEX object
has been inserted into this sequence.
Inserts the specified CAEX object in it's associated sequence at the defined position. The CAEXBasicObject
defines the and sequences.
The position
The CAEX object.
true, if a sequence could be identified and the CAEX object
has been inserted into this sequence.
Creates a new Revision object and inserts it to the collection of Revision objects
either at the beginning or at the end of the sequence, according to the specified optional value. The Revision
object is initialized with the provided values.
The date.
The author.
if set to true the created Revision is prepended, otherwise appended.
A Revision object.
This interface class is implemented by all CAEXObject classes and defines accessors for the attributes of a CAEX
object.
Gets or sets the identifier.
Gets or sets the name.
Gets the CAEX path for this object. A path can be used to uniquely reference an object,
for example in inheritances and instances. The path syntax for an object is defined
differently in CAEX 2.15 and CAEX 3.0. The engine uses the to generate
the CAEX path of an object according to the documents CAEX version.
Paths require the definition of separators between different path elements. CAEX 2.15 distinguishes
between 4 separator types:
Alias separator, object separator, interface separator and attribute separator.
In CAEX 3.0 only the separator types Alias separator and object separator are used.
Please note that this method returns a different result than the
method, which always returns
the path including the object names of all ancestor hierarchy levels.
The CAEX path.
This interface defines a sequence of CAEX elements.
Gets a wrapper for the first CAEX element in this sequence, if the sequence contains no elements null is
returned.
Gets a wrapper for the last CAEX element in this sequence, if the sequence contains no elements null is
returned.
Gets the first CAEX object with a specific attribute value from the sequence of elements
Pair of attribute name and attribute value
the first CAEX object, which matches this condition.
Gets a wrapper for the CAEX element in this sequence at the given position
index position of the element
The created CAEX wrapper.
Creates a new CAEX object and appends it to already existing elements in this sequence.
the created CAEX object
raised, when this parent child relation violates the CAEX schema.
Creates a new CAEX object and appends it to already existing elements. The content of the
new element can be optionally defined using an array of tuples defining attribute names and their values.
The attribute value tuples.
the created CAEX object.
This sample shows how to apply this method:
var doc = CAEXDocument.New();
var at = doc.CAEXFile.AttributeTypeLib.Append (new Tuple <string,object>[] { Tuple.Create<string,object>("Name", "ALIB") });
Gets the CAEX object at the specified index.
The index.
the CAEX object from the given index, or null.
Gets the enumerator for this sequence.
The enumerator
Gets the Index of the specified CAEX object in this sequence of elements.
the CAEX object
the Index of the specified CAEX object.
Inserts the specified CAEX object into this sequence. If no position is specified the element is appended.
If 'asFirst' is set to true, the element is prepended to already existing ones.
the CAEX object
optional parameter, if set to true (default) the object is prepended to already existing ones,
otherwise it is appended.
Inserts the specified CAEX object into this sequence at the defined index.
The Position of the element
The CAEX object
Moves the CAEX object at the specified index to a new location in the collection.
The zero-based index specifying the location of the CAEX object to be moved.
The zero-based index specifying the new location of the CAEX object.
Creates a new CAEX object and prepends it to already existing elements.
The created CAEX object.
Creates a new CAEX object and prepends it to already existing elements. The content of the
new element can be defined using an array of tuples defining attribute names and their values.
The attribute value tuples.
The created CAEX object.
Removes the provided CAEX object from this sequence.
The CAEX object.
This interface is defined for CAEXObjects, which may contain different types of CAEX objects like
the . The defined methods allow the selection of the associated
container for a specific type and the insertion of a CAEX object to its associated container.
Inserts the specified CAEX object in its associated container.
The CAEX object.
if set to true insert it at the first position.
true, if inserted; otherwise false.
Since CAEX 3.0 a new definition has been added to model Interface mappings using the ID of the mapped ExternalInterface. This Interface has been designed, to
support InterfaceMapping access to the CAEX documents, defined using prior schema versions.
Gets and sets the mapped ExternalInterface of the role reference
Gets and sets the mapped ExternalInterface of the SystemUnitClass
This interface is implemented by the CAEX elements, which are possible children of the .
Gets the mapping object which contains this Mapping Element.
Interface class, implemented by any CAEX object, which can be mirrored
Creates a mirror.
Gets a value indicating whether this instance is a master.
Gets a value indicating whether this instance is mirror.
Gets the master.
Gets the master identifier.
This interface class is used to define generic methods for CAEX objects which
can have multiple occurrences below its parent element. The methods defined in
this interface class affect the relation to the sibling elements of a CAEX object
with the same type.
Inserts the provided CAEX object as a new sibling after this CAEX object, if both are of the same type.
The CAEX object to be inserted.
Inserts the provided CAEX object as a new sibling before this CAEX object, if both are of the same type.
The CAEX object to be inserted
This Class is a wrapper for the CAEX element 'Attribute' which defines base structures for attribute definitions.
Attributes can be associated to each object which implements the interface.
An associated collection of Attributes is wrapped in an .
Since CAEX Version 3.0 an Attribute element can be instantiated from an AttributeType element
.
The Attribute element and the AttributeType element share the same base class .
Initializes a new instance of the class.
An 'AttributeType' XML node
The constructor function for the .
Gets and sets the AttributeType of an Attribute object, defining a new instance to class relation, using the CAEX
attribute
.
Gets a value indicating whether this instance is a master attribute referenced by mirror attributes.
Gets a value indicating whether this instance is a mirror of another Attribute object.
Gets the master Attribute object if this is a mirror and the master can be found in this CAEX document.
Gets the owner of the Attribute Tree. This is the first ancestor, which is not an AttributeType object.
The TreeOwner
Gets the master, if this is a mirror attribute
Gets the identifier of the master Attribute if this is a Mirror. The identifier contains the ID of the attribute
owner followed by the Attribute path.
Gets the ID of the master attributes parent instance, if this is a mirror Attribute object. If it is not a mirror,
null is returned.
Creates an AttriuteType from this Attribute instance.
Creates a new mirror element from this AttributeType
returns the attribute path, which is equal to the attribute name for any attribute, which is not a nested attribute
or a concatenation
of attribute names separated by the attribute path delimiter for nested attributes.
Replaces the content of this Attribute object with the specified attribute type.
This Attribute object is changed to an instance of the provided Attribute Type.
Type of the attribute.
Equality comparer for values of Attributes of XML-Elements
Creates a new instance of an AttributeValueComparer for the provided Attribute name
The name of the attribute.
Compares the values of the provided attributes
The first object which should be compared.
The second object which should be compared.
true, if values are equal
Returns a hash code for this instance.
The object.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
This class is a generic base class for CAEX elements with simple values.
This class is used by the CAEX adapter only.
The type of the element data type.
Initializes a new instance of the class.
The XML node.
Optionally describes the change state of a CAEX object. If used, the ChangeMode shall have the following value
range:
state, create, delete and change. This information should be used for further change management applications.
Class CAEXTypeDictionary is a Dictionary of all CAEX - WrapperClass Types, defined in Aml.Engine.CAEX.
The TypeName is used as a key. This class is a singleton.
The singleton instance of the CAEXType Dictionary
A dictionary, containing creation methods for CAEX elements, the type name is used as a dictionary key
Initialization of the Type Dictionary
Prevents a default instance of the class from being created.
Gets or sets the data type associated with the specified key.
The key. The caexTagName is concatenated
with the "Type" extension, to match a Type name of a CAEX wrapper class.
Type.
The Key for Dictionary access
Name of the CAEX tag.
System.String.
Determines whether this dictionary's key collection contains the specified CAEX Tag name as a key.
The CAEX Tag name, which is used to construct the dictionary key.
true if the dictionary contains an element with the specified key; otherwise, false.
Tries to get the constructor function which can be used to create a CAEX wrapper
for an CAEX element with the provided element name.
The local name of the CAEX element.
The function to create the CAEX wrapper.
if a function exists.
Tries to get the value.
Name of the CAEX tag.
The type.
true if type is registered, false otherwise.
This class is a wrapper for the CAEX element 'AttributeType' which defines base structures for attribute type
definitions.
The AttributeType allows the creation of AttributeType trees. AttributeTypes are organized in AttributeType
libraries,
which can be processed with the . This class supports direct enumeration of the
AttributeType's
children in the AttributeType tree.
This class was introduced with CAEX Version 3.0 and can only be used with CAEX documents, based on Version
3.0.
Creates a wrapper for the specified XElement which is an AttributeType
An AttributeType XML node.
The constructor function for the .
Gets and set the AttributeDataType. If the AttributeDataType is not defined
for this AttributeType but a exists, the
AttributeDataType of the BaseClass is returned. If this optional attribute is not defined,
the data type is assumed to be "xs:string", according to CAEX (DIN EN 62424:2008-08)
Gets a collection of the subordinate AttributeTypes (the direct children) in the AttributeType tree of this
AttributeType.
Gets and sets the base class for this AttributeType. Setting a base class creates a class to class inheritance
relation. Base classes are defined using the CAEX-Attribute
which is set to the CAEX-path of the base class. According to CAEX, a class shall not inherit from itself or
from a derivative of itself, therefore any cyclic reference is denied.
Gets and set the DefaultValue. If the DefaultValue is not defined
for this AttributeType but a exists, the DefaultValue
of the BaseClass is returned.
Gets all attributes, including the inherited attributes of the base classes in the inheritance tree.
Gets all constraints, including the inherited constraints of the base classes in the inheritance tree.
Gets and sets the RefAttributeType CAEX attribute of the Attribute object.
This property is used to create class to class relations between AttributeType objects (classes).
According to CAEX, a class shall not inherit from itself or
from a derivative of itself, therefore any cyclic reference is denied.
Gets the reference base class path.
The reference base class path.
Gets the name (not the full path) of the referenced base class.
The name of the referenced class.
Gets and set the Unit. If the Unit is not defined
for this AttributeType but a exists,
the Unit of the BaseClass is returned.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Creates a class instance for this AttributeType object. All inherited base classes are resolved in the resulting
Attribute.
The Attribute collection of the new Attribute instance contains all inherited attributes from base classes."/>
The created Attribute object.
Creates a class instance for this AttributeType object. All inherited base classes are resolved in the resulting
Attribute.
A CAEXWrapper of the created Attribute object.
Gets the Enumerator for the enumeration of the field.
An enumerator that can be used to iterate through the collection.
Gets the Enumerator for the enumeration of the field.
An -object, that can be used to iterate through the collection..
Gets the reference (inheritance) hierarchy. The reference hierarchy includes this instance and the reference
hierarchy of
an associated defining a class to class relation.
Collection, containing this instance and the reference hierarchy of a base class.
Gets the reference (inheritance) hierarchy. The reference hierarchy includes this instance and the reference
hierarchy of
an associated defining a class to class relation.
Type of the CAEX class.
Queue, containing this instance at the first element, followed by the reference hierarchy of a base class.
Inserts the specified CAEX object in it's associated sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given index.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This class is a wrapper for the CAEX element 'AttributeNameMapping' which defines mappings
between attributes of an AML object and any associated role class.
The constructor
Initializes the class.
Creates a wrapper for the specified XElement which is an AttributeNameMapping Element
An AttributeNameMapping XML node.
Gets the collection of possible mapping identifiers for this AttributeNameMappingType for elements of
the mapped SystemUnitClass. The Collection contains all attributes (including inherited attributes) of the
SystemUnitClass and also the attributes of the ExternalInterfaces (including inherited external interfaces) of
the SystemUnitClass. The Attribute Identifiers are the unique CAEXPath's of the attributes relative to the
SystemUnitClass.
The possible mapping identifiers to map Attributes of the SystemUnitClass and its ExternalInterface objects.
Gets the collection of possible mapping identifiers for this AttributeNameMappingType for elements of
the mapped RoleClass. The Collection contains all attributes (including inherited attributes) of the
RoleClass and also the attributes of the ExternalInterfaces (including inherited external interfaces) of
the RoleClass. The Attribute Identifiers are the unique CAEXPath's of the attributes relative to the
RoleClass.
The MultipleRole Concept in AutomationML 2.0 based on CAEX 2.15 allows the definition of Mappings to SupportedRoleClass
objects. These Elements are only included in this collection, if a qualified element has been already assigned to
the RoleRequirements object. To get the possible qualified RoleClass Attributes, which are not already
assigned to the RoleRequirements object, the method
can be used.
If an instance supports multiple roles and the requirements to the different roles shall be stored at the instance,
this shall be done using the CAEX element "RoleRequirements" whereas the corresponding attributes or interfaces are
directly assigned including the role name, a separator string "." and the attribute or interface name.
The possible mapping identifiers to map Attributes of the RoleClass and its ExternalInterface objects.
Gets the RoleClass element which can be identified with the or sets
the retrieved from the provided value.
If the identifies a RoleRequirements Attribute and a RoleClass Attribute
as well, the RoleClass Attribute is returned by the Getter.
The role attribute.
Gets and Sets the 'RoleAttributeName' for this instance
Gets or sets the system unit attribute which is defined using the CAEX attribute
.
The system unit attribute.
Gets and sets the identifier for the mapped RoleClass element.
The role class element identifier.
Gets or sets the identifier for the mapped SystemUnitClass element.
The system unit class element identifier.
Gets and Sets the 'SystemUnitAttributeName' for this instance
This Class is the generic base class for 'Attribute' and 'AttributeType' elements and defines base structures for
Attribute-
and AttributeType definitions.
Initializes a new instance of the class.
An 'AttributeType' XML node.
Gets the type-decoded value and sets the type-encoded value for the value attribute with the defined name. The
allowed Names as and
.
The XSD data types which are supported.
Gets a collection of Attributes contained in this instance.
Gets the attributes and all nested attributes.
Gets and sets the AttributeDataType attribute of this Attribute object.
If the referenced attribute type does not base on an XML standard base type, the AttributeDataType may remain empty
or not present.
Gets the Attribute datatype which is valid for values of all of this element.
For this class, it is the instance itself.
Gets the collection of AttributeValueRequirement objects contained in this instance.
Gets and sets the DefaultValue element of this Attribute object. Use the
property , to get or set the type encoded
default value according to the Attribute Data Type.
Gets and sets the RefAttributeType CAEX attribute of the Attribute object.
This property is used to create instance to class relations between Attributes (instances)
and AttributeType objects (classes).
Gets the collection of RefSemantic objects contained in this instance
Gets and sets the Unit attribute for this Attribute object.
Gets and sets the Value for this Attribute object.
The correct XML-String representation for the defined
has to be ensured by the caller.
It is possible to use the Indexer to set a type based value which
is correctly encoded/decoded according to the specified or use the
property , which provides the same value access.
This sample shows how to use this property:
// setting a value if the AttributeDataType is defined as 'xs:Duration'.
TimeSpan processingTime = new TimeSpan(days: 0, hours: 0, minutes: 0, seconds: 5);
AttributeType at = ReadMyAttribute ();
at["Value"] = processingTime;
at["DefaultValue"] = new TimeSpan(0);
// checking the appropriate type setting:
if (at.ValueAttributes[0].TypeCodeOfAttribute == System.Xml.Schema.XmlTypeCode.Duration)
{
}
Gets all the CAEXValue objects for the defined value attributes of this instance. Recognized value attributes are
and .
Gets and set the encoded/decoded attribute value according to the defined AttributeDataType.
Gets and set the encoded/decoded default attribute value according to the defined AttributeDataType.
Gets the xmlType type for the specified CLR type. The Mapping is done
according to
Mapping XML Data Types to CLR Types.
This reverse mapping is not unambiguous. If more than one mapping is possible, the most common used description is
generated.
If No mapping is defined the 'xs:string' is used.
You can use the encoding and decoding methods of the object, to receive a type conform
result for the
attribute value elements.
.Net data Type.
the name of the XML type
clrType
Conversion to get access to specific AutomationML defined Attributes
The 'AttributeType' CAEX object.
The AttributeType object, converted to an type, which provides access to
specific AML defined attributes.
attributeType
Gets the CLR type for the specified xmlType. The Mapping is done
according to
Mapping XML Data Types to CLR Types.
The name of the XML type
a .NET data Type
xmlType
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Gets the for the value attribute with the defined attribute name. The allowed Names as
and
.
Parse the Attribute Value string as dateTime. If the string can not be parsed, a format exception is returned.
This method uses the XmlConvert
method.
The date time option.
DateTime.
Parse the Attribute Value string as double. If the string can not be parsed, a format exception is returned.
This method uses the XmlConvert method and a fall back conversion, if the first
conversion
fails.
Double.
Inserts the specified CAEX object in it's associated sequence. The AttributeType
defines additional sequences for ,
and .
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the defined position. The AttributeType
defines additional sequences for ,
and .
the position
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the provided CAEX object as a new sibling after this CAEX object.
The CAEX object to be inserted.
caexObject
The provided object is not allowed to be a sibling of this instance.
Inserts the provided CAEX object as a new sibling before this CAEX object.
The CAEX object to be inserted
caexObject
The provided object is not allowed to be a sibling of this instance.
Sets the specified dateTime value as the attribute value. The AttributeDataType is set to xs:dateTime
The value.
The serialization mode, use UTC
Sets the specified double value as the attribute value. The AttributeDataType is set to xs:double
The value.
Tries to parse the Attribute Value string as dateTime.
This method uses the XmlConvert
method.
The DateTime value.
The date time option.
true if success, false otherwise.
Tries to parse the Attribute Value string as double.
This method uses the XmlConvert method and a fall back conversion, if the first
conversion
fails.
The double value.
true if success, false otherwise.
This Class is a wrapper for the CAEX element 'AttributeTypeLib' which is a container
for a hierarchy of AttributeType elements. CAEX supports multiple AttributeType libraries
associated to a CAEXFile ().
This class was introduced with CAEX Version 3.0 and can only be used with CAEX documents, based on Version
3.0.
Gets the collection of AttributeType objects contained in this AttributeTypeLib element.
Initializes the class.
Initializes a new instance of the class.
An 'AttributeTypeLib' XML node
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given index.
The insertion index
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This class is a wrapper for the CAEX-Element 'AttributeValueRequirement' which allows the specification
of one value constraint for an attribute. There is a choice of different types defined for the type of the
condition.
-
-
-
The constructor
Initializes the class.
Initializes a new instance of the class.
A 'Constraint' XML node.
Gets and sets the name of the attribute value constraint.
Gets the 'NominalScaledType' constraint.
Gets the 'OrdinalScaledType' constraint.
Gets the 'UnknownType' constraint.
Inserts the specified CAEX object in it's associated sequence. The AttributeValueRequirementType
defines the , the and the
as possible child elements. Only one of these types
is allowed as a child.
The CAEX object.
ignored for this type.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the defined position. The
AttributeValueRequirementType
defines the , the and the
as possible child elements. Only one of these types
is allowed as a child.
The position.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
A new 'NominalScaledType' constraint is defined if no constraint has been defined before.
The new 'NominalScaledType' constraint.
A new 'OrdinalScaledType' constraint is added if no constraint has been defined before.
The new 'OrdinalScaledType' constraint.
A new 'UnknownType' constraint is added if no constraint has been defined before.
The new 'UnknownType' constraint.
This class implements a specific enumeration type which wraps an XElement with a CAEXWrapper
during enumeration. The enumerator for this class is
Type of the CAEX wrapper
Creates a new instance for a CAEXEnumerable with an associated CAEXSequence.
The CAEXSequence containing the Xml-Element collection.
If null, the specified Xml-Element collection is not associated with a
CAEXSequence.
The Xml-Element collection. If not associated to a CAEXSequence the
specified sequence should be set to null.
Creates a new instance for the CAEX enumerable without an associated CAEXSequence.
The Xml-Element collection.
Gets the CAEXSequenceEnumerator
An enumerator that can be used to iterate through the collection.
Returns an enumerator that iterates through a collection.
A object that can be used to iterate through the collection.
Base class for all CAEX objects which may define a class to class relation referencing some base class.
Type parameter, specifying the CAEX class type.
Initializes a new instance of the class.
Any CAEX class XML node.
Name of the CAEX attribute, used to store a class to class reference.
Gets the Name of the attribute of the wrapped Xml-Element, which is used to define the reference to the base class.
Inserts the provided CAEX object as a new sibling after this CAEX object.
The CAEX object to be inserted.
caexObject
The provided object is not allowed to be a sibling of this instance.
Inserts the provided CAEX object as a new sibling before this CAEX object.
The CAEX object to be inserted
caexObject
The provided object is not allowed to be a sibling of this instance.
This class implements the CAEX sequence enumerator which creates a CAEXWrapper for each enumerated
XML-Element.
Initializes a new instance of the class.
The CAEXSequence, defining the sequence of XML elements.
The collection of XML elements of the CAEX sequence.
Gets the item in the collection at the current position of the enumerator.
Gets the item in the collection at the current position of the enumerator.
Dispose this instance.
Sets the enumerator to the next item in the collection.
, if the enumerator was successfully set to the next element,
, if the enumerator has exceeded the end of the collection.
Resets the enumerator.
User defined exception that is thrown when an error occurs during instantiation of a class.
Initializes a new instance of the class with serialized data.
object containing the serialize data.
context information about source or target.
Standard constructor
Initializes a new instance of the class.
The message.
Initializes a new instance of the class.
The message.
The inner Message.
This interface class is implemented by all CAEX - object classes and defines accessors to the wrapped XML node.
Gets the CAEXParent of this CAEX object
Gets the first child of this CAEX object with the defined CAEX tag name.
The CAEX tag name of the child.
The child, if it exists; otherwise null.
Gets all children of this CAEX object with the defined CAEX tag name.
The CAEX tag name of the child.
The children, if existing; otherwise Enumerable.Empty.
Removes this object
Interface class that defines methods and properties that apply to all classes which can be part of a class to class
relation.
A class to class relation is also referred to as an inheritance relation.
Gets the reference (inheritance relations) hierarchy including the actual class as a queue.
The type of the CAEX class.
A Queue of the base classes including the actual class.
Gets the reference base class path.
The reference base class path.
Gets the name (not the full path) of the referenced base class.
The name of the referenced class.
This interface class is derived from and defines a generic
interface using a type parameter to specify the type of
the class to class relation. A class to class relation is also referred to as an inheritance relation.
Type of the class with a base class relation.
Gets and sets the base class to define a class to class relation.
The base class.
Gets the reference hierarchy for all class to class relations, starting with this class.
A collection, containing this class and the reference hierarchy of the base class, if existing.
Interface IInstantiable is implemented by all CAEX classes.
Creates the class instance.
The CAEX object.
Generic interface IInstantiable defining the instantiation method and the instance type.
The type of the created instance.
Creates the class instance.
an instance of this class, which is of the defined type.
This class is a wrapper for the CAEXElement 'InterfaceNameMapping' which is used to map an Interface of a referenced role
to an interface of a SystemUnitClass which contains the role reference. The Name of the interfaces is used for identification.
This class is defined for CAEX 2.15 only and is replaced since CAEX 3.0 with the .
Initializes a new instance of the class.
An 'InterfaceNameMapping' XML node.
Gets the collection of possible mapping identifiers for this InterfaceNameMappingType for elements of
the mapped SystemUnitClass. The Collection contains all ExternalInterfaces (including inherited) of the
SystemUnitClass. The ExternalInterface Name is used as the Mapping identifier.
The possible mapping identifiers to map ExternalInterfaces of the SystemUnitClass.
Gets the collection of possible mapping identifiers for this InterfaceNameMappingType for elements of
the mapped RoleClass. The Collection contains all ExternalInterfaces (including inherited) of the
RoleClass. The ExternalInterface Name is used as the Mapping identifier.
The MultipleRole Concept in AutomationML 2.0 based on CAEX 2.15 allows the definition of Mappings to SupportedRoleClass
objects. These Elements are only included in this collection, if a qualified element has been already assigned to
the RoleRequirements object. To get the possible qualified RoleClass ExternalInterfaces, which are not already
assigned to the RoleRequirements object, the method
can be used.
If an instance supports multiple roles and the requirements to the different roles shall be stored at the instance,
this shall be done using the CAEX element "RoleRequirements" whereas the corresponding attributes or interfaces are
directly assigned including the role name, a separator string "." and the attribute or interface name.
The possible mapping identifiers to map ExternalInterfaces of the RoleClass.
Gets and sets the mapped ExternalInterface of the role reference
Gets and sets the Name of the mapped ExternalInterface of the role reference
Gets and sets the mapped ExternalInterface of the SystemUnitClass
Gets and sets the identifier for the mapped RoleClass element.
The role class element identifier.
Gets or sets the identifier for the mapped SystemUnitClass element.
The system unit class element identifier.
Gets and sets the Name of the mapped ExternalInterface of the SystemUnitClass
This class is a wrapper for the CAEXElement 'InterfaceIDMapping' which is used to map an Interface of a referenced
role
to an interface of a SystemUnitClass which contains the role reference. The ID of the interfaces is used for
identification.
This class is defined since CAEX 3.0 and is a replacement for the .
Initializes a new instance of the class.
An 'InterfaceIDMapping' XML node.
Gets and sets the mapped ExternalInterface of the role reference
Gets and sets the ID of the mapped ExternalInterface of the role reference
Gets the collection of possible mapping identifiers for this InterfaceIDMappingType for elements of
the mapped SystemUnitClass. The Collection contains all ExternalInterfaces (including inherited and descendants) of
the
SystemUnitClass. The ExternalInterface ID is used as the Mapping identifier.
The possible mapping identifiers to map ExternalInterfaces of the SystemUnitClass.
Gets the collection of possible mapping identifiers for this InterfaceIDMappingType for elements of
the mapped RoleClass. The Collection contains all ExternalInterfaces (including inherited and descendants) of the
RoleClass. The ExternalInterface ID is used as the Mapping identifier.
The possible mapping identifiers to map ExternalInterfaces of the RoleClass.
Gets and sets the mapped ExternalInterface of the SystemUnitClass
Gets and sets the ID of the mapped ExternalInterface of the SystemUnitClass
Gets and sets the identifier for the mapped RoleClass element.
The role class element identifier.
Gets or sets the identifier for the mapped SystemUnitClass element.
The system unit class element identifier.
This class defines a sequence of CAEX 'Attribute' elements. A sequence of Attribute's can be associated
with each class which implements the interface.
Initializes a new instance of the class.
The owner.
The constructor function to create an Attribute wrapper.
Gets the CAEX attribute with the provided attribute path from the Attribute sequence.
This method can be used to direct access a nested attribute using the complete attribute path.
The Path root should be the top level attribute.
The attribute path.
Gets the CAEX attribute with the provided attribute name array from the Attribute sequence.
This method can be used to direct access a nested attribute using the complete attribute path splittet
into a part name array.
The Path root should be the top level attribute.
The part names.
Creates the 'AttributeType' CAEX wrapper for the XML node.
The node.
The AttributeType
Creates a new CAEX Attribute XML element.
The owner.
The XML node.
This class defines a sequence of CAEX 'ExternalInterface' elements. A sequence of ExternalInterfaces can be
associated
to each class, which implements the interface.
Initializes a new instance of the class.
The owner.
The constructor function to create an ExternalInterface object.
Gets all external interfaces and the external interface descendants (The external interface tree).
an enumeration of all ExternalInterface object of this instance and their nested
ExternalInterface objects.
available since CAEX Version 3.0.
This class defines a sequence of CAEX 'InternalElement' elements. A sequence of InternalElements can be associated
with each class which implements the interface.
Initializes a new instance of the class.
The owner.
Function to create an .
Adds a new mirror InternalElement to this sequence.
The master internal element.
The newly created Mirror
masterInternalElement
Gets all InternalElements and the InternalElement descendants (the InternalElement tree)
a collection of all InternalElement objects of this instance and their nested
InternalElement objects.
Function to create an
The 'InternalElemen' XML node.
an InternalElementType
Creates a new 'InternalElement' XML node.
The owner.
The created XML node.
Equality comparer for Xml-Elements that are InternalLink objects.
Determines if two InternalLink objects are equal. Equal InternalLink objects have reference
the same ExternalInterfaces. The order of the references doesn't matter.
The first internal link.
The second internal link.
true, if both InternalLink objects are equal.
Returns a hash code for this instance.
The object.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
This Class is a wrapper for the CAEXElement 'InternalLink' that defines instance to instance relations
using ExternalInterfaces to relate InternalElement- and SystemUnitClass-Objects.
Initializes a new instance of the class.
An 'InternalLink' XML node.
Constructs the path to an interface according to the used schema
The ExternalInterface
Determines, if this InternalLink Instance has defined Interfaces.
definition of the separator used for qualifying an interface of an internal element via syntax GUID:Interface
Valid for CAEX 2.15 only. In CAEX 3.0 there exists no separator char in internal link attributes.
Gets and sets the AInterface of the InternalLink by reading or setting the
Attribute. A read access to this property updates the .
Gets the related objects for the InternalLink. This property allows to access the listed related objects without
recalculation.
-
-
-
-
A direct access to one of the listed properties results in a recalculation of the accessed property.
The related objects.
This class allows accessing the related objects of an InternalLink without recalculation which improves the
performance for consecutive
access of the related objects.
Gets the A-Interface of the InternalLink by interpretation of the
Attribute on first access.
Consecutive reads will return the at first calculated value. A Reinterpretation is performed, when the respective
InternalLink
property is read or set.
Gets the B-Interface of the InternalLink by interpretation of the
Attribute on first access.
Consecutive reads will return the at first calculated value. A Reinterpretation is performed, when the respective
InternalLink
property is read or set.
Gets the A-SystemUnitClass using the preserved value . If this value has not been
calculated, a recalculation is performed.
Gets the B-SystemUnitClass using the preserved value . If this value has not been
calculated, a recalculation is performed.
Gets the SystemUnitClass associated to the .
Gets and sets the BInterface of the InternalLink by reading or setting the
Attribute. A read access to this property updates the .
Gets the SystemUnitClass associated to the .
Gets and sets the Path to an ExternalInterface, defining the A-Side of the relation.
Please notice, that the Path-Syntax has changed with CAEX 3.0
Gets and sets the Path to an ExternalInterface, defining the B-Side of the relation.
Please notice, that the Path-Syntax has changed with CAEX 3.0
Creates a new InternalLink object and append it to the lowest common parent of the SystemUnitClass objects,
associated with the provided ExternalInterface objects. If no common parent exists, the InternalLink will be
associated with the owner of the .
The ExternalInterface object, representing the A-Side of the relation.
The ExternalInterface object, representing the B-Side of the relation.
The name for the InternalLink
The newly created InternalLink object.
If AInterface or BInterface is null
One of the provided ExternalInterface objects is not associated to a SystemUnitClass.
It is not allowed to link an ExternalInterface to itself.
Inserts the provided CAEX object as a new sibling after this CAEX object.
The CAEX object to be inserted.
caexObject
The provided object is not allowed to be a sibling of this instance.
Inserts the provided CAEX object as a new sibling before this CAEX object.
The CAEX object to be inserted
caexObject
The provided object is not allowed to be a sibling of this instance.
Gets the Interface from the provided InternalLink Attribute value, which is from or
from the attribute.
The value of the InternalLink attribute, defining the Interface reference.
the external interface
Interface that defines methods and properties that apply to all classes that are able to contain ExternalInterface
objects.
This Interface is implemented by and .
Gets and sets the referenced role class
Gets and sets the role reference attribute
Extensions defined for ExternalInterface Sequence and RoleRequirements sequence
Gets all ExternalInterfaces from the specified sequence, which are instances of a specific InterfaceClass
The Sequence of External Interfaces
The required Interface Class
External Interfaces which are instances of the defined class.
Gets all RoleRequirements from the specified sequence, which are instances of a specific RoleClass
The Sequence of Role Requirements
The required Role Class
RoleRequirements which are instances of the defined class.
Gets all SupportedRoleClasses from the specified sequence, which are instances of a specific RoleClass
The Sequence of SupportedRoleClasses
The required Role Class
SupportedRoleClasses which are instances of the defined class.
Interface implemented by Mapping elements ,
, and .
Gets and sets the identifier for the mapped RoleClass element.
Gets or sets the identifier for the mapped SystemUnitClass element.
Gets the SystemUnitClass, which is either an or a , which provides the mapping elements.
Gets the RoleClass, which provides the mapping elements.
This class is the base class for Mapping element types which are ,
, and .
Initializes a new instance of the class.
An 'MappingElementType' XML node.
Gets and sets the identifier for the mapped RoleClass element.
The role class element identifier.
Gets or sets the identifier for the mapped SystemUnitClass element.
The system unit class element identifier.
Gets the mapping object which contains this Mapping Element.
This method is an extension to the setter in case of MultipleRole assignments in AutomationML 2.0 based on CAEX 2.15.
The method can assign a qualified RoleClassElement as a mapping element and will eventually create a missing RoleRequirement element for the qualified element.
For Documents, based on CAEX 3.0 the behaviour of this method is identical to the setter.
The element.
Gets the RoleClass element which can be identified with the or sets
the extracted from the provided CAEXObject which shall be an AttributeType for
an attribute mapping or an ExternalInterfaceType for an interface mapping. If the provided CAEXobject is not applicable for
the Mapping, the is not changed.
Gets the SystemUnitClass element which can be identified with the or sets
the defined by the provided value.
Gets the collection of all possible elements and their mapping
identifiers of the mapped SystemUnitClass and its ancestors in the inheritance tree
for this mapping element.
The mapping identifier uniquely identifies the mapped CAEX object.
The syntax of the identifier is defined by the derived mapping element types and
is build from the CAEX path of the object.
The possible mapping elements and their identifiers of the mapped SystemUnitClass.
Gets the collection of all possible elements and their mapping
identifiers of the mapped RoleClass and its ancestors in the inheritance tree
for this mapping element.
The mapping identifier uniquely identifies the mapped CAEX object.
The syntax of the identifier is defined by the derived mapping element types and
is build from the CAEX path of the object.
The possible mapping elements and their identifiers of the mapped RoleClass.
Gets the SystemUnitClass, which provides the .
Gets the RoleClass, which provides the .
Gets the Role reference, which can provide additional .
This class is a wrapper for the CAEX element 'Version'.
Initializes a new instance of the class.
The XML node.
The Aml.Engine.CAEX Namespace contains classes that support the generation, retrieval and analysis of CAEX
Documents according
to the CAEX standard. The classes currently support the CAEX Versions - CAEX 2.15 and CAEX 3.0. Classes and methods
are designed
to create schema conform documents. The basic XDocument is wrapped with the . Direct
access to the XDocument
and direct manipulations of XElements by an application are not monitored by the AMLEngine. Schema conformance is
only guaranteed if
the API methods are used.
This class is a wrapper for the CAEXElement 'NominalScaledType" which defined a list of
required values for an attribute constraint.
Initializes a new instance of the class.
A 'NominalScaledType' XML node.
Gets the type-decoded value and sets the type-encoded value for the nominal value attribute with the defined value.
This indexer should only be used, if the list of nominal values contains distinct values only.
Gets the for the for the nominal value attribute with the defined value.
Gets the AttributeDataType of the defining attribute. The AttributeDataType can be used
to interpret the defined nominal values of this instance.
Gets the AttributeType object, defining this instance.
Gets the collection of the 'RequiredValue' elements for this nominal scaled attribute constraint.
Gets a list of corresponding to the associated nominal values of this instance.
This class is a wrapper for the CAEXElement 'OrdinalScaledType" which defined a value range
for an attribute constraint.
Initializes a new instance of the class.
An 'OrdinalScaledType' XML node.
Gets the type-decoded value and sets the type-encoded value for the value attribute with the defined name. The
allowed Names are and
and .
A type based object
Gets the for the value attribute with the defined attribute name. are
and
and .
The CAEXValue for the named attribute.
Gets the Attribute datatype which is valid for values of all of this element.
Gets the attribute, which specifies the attribute data type for the value elements of this instance.
Gets and sets the required maximal value for this ordinal scaled attribute constraint.
Gets and sets the required minimal value for this ordinal scaled attribute constraint.
Gets and sets the required value for this ordinal scaled attribute constraint.
Gets all the CAEXValue objects for the defined value attributes of this instance. Recognized value attributes are
and
and
.
This class is a CAEXWrapper for the CAEX-Element 'RoleRequirements'.
Initializes a new instance of the class.
A 'RoleRequirements' XML node.
Gets a collection of Attribute objects contained in this instance.
Gets the attributes and all nested attributes.
Gets the collection of ExternalInterface objects including all nested descendant interfaces
Gets a collection of ExternalInterface objects contained in this instance.
Gets the MappingObject of this RoleRequirements object. Please note, if no MappingObject exists, an empty Wrapper
is returned.
Use the method to create one.
This Property is only defined since CAEX 3.0.
Gets and sets the RefBaseRoleClassPath attribute of this RoleRequirements object.
The property is equivalent to this. For direct RoleClass assignments
use .
Gets and sets the referenced RoleClass using the
Gets or sets the role reference. The property is equivalent to this.
The role reference.
Gets the collection of CAEX attributes from the which are qualified with the name of a
SupportedRoleClass.
This method is valid for documents based on CAEX 2.15 only. The qualification of attributes is a feature to assign
multiple roles
to an InternalElement.
This property supports the Multiple Roles concept in AutomationML 2.0, based on CAEX 2.15. The property is not
applicable for documents,
based on CAEX 3.0 and later. It gets the role class interfaces of supported role class objects which are not
assigned to this RoleRequirements
instance. The returned ExternalInterfaces are created with a qualified Name, including the supported role class
name, a separator string "." and
the interface name.
This property supports the Multiple Roles concept in AutomationML 2.0, based on CAEX 2.15. The property is not
applicable for documents,
based on CAEX 3.0 and later. It gets the role class attributes of supported role class objects which are not
assigned to this RoleRequirements
instance. The returned Attributes are created with a qualified Name, including the supported role class name, a
separator string "." and
the attribute name.
This method supports the Multiple Roles concept in AutomationML 2.0, based on CAEX 2.15. The method is not
applicable for documents,
based on CAEX 3.0 and later. It tests, if the provided attribute is a role class attributes of a supported role
class object which can be used
in a Multiple role mapping and is assignable to this RoleRequirements instance
The tested attribute.
true if the attribute is an assignable role class attribute; otherwise, false.
This method supports the Multiple Roles concept in AutomationML 2.0, based on CAEX 2.15. The method is not
applicable for documents,
based on CAEX 3.0 and later. It tests, if the provided Attribute object is a role class attribute of a supported
role class object which can be used
in a Multiple role mapping and assigns it to this RoleRequirements instance.
The tested attribute.
the newly created and assigned Attribute, if the Attribute object is assigned to the role class interface;
otherwise, null.
This method supports the Multiple Roles concept in AutomationML 2.0, based on CAEX 2.15. The method is not
applicable for documents,
based on CAEX 3.0 and later. It tests, if the provided ExternalInterface object is a role class interface of a
supported role class object which can be used
in a Multiple role mapping and is assignable to this RoleRequirements instance
The tested external interface.
true if the ExternalInterface object is an assignable role class interface; otherwise, false.
This method supports the Multiple Roles concept in AutomationML 2.0, based on CAEX 2.15. The method is not
applicable for documents,
based on CAEX 3.0 and later. It tests, if the provided ExternalInterface object is a role class interface of a
supported role class object which can be used
in a Multiple role mapping and assigns it to this RoleRequirements instance.
The tested external interface.
the newly created and assigned ExternalInterface, if the ExternalInterface object is assigned to the role class
interface; otherwise, null.
Gets the collection of CAEX External Interfaces from the which are qualified with
the name of a SupportedRoleClass.
This method is valid for documents based on CAEX 2.15 only. The qualification of ExternalInterfaces is a feature to
assign multiple roles
to an InternalElement and apply a mapping to the Interface objects.
Retrieves the and gets the according original RoleClass Attribute of each
qualified Attribute.
This method is valid for documents based on CAEX 2.15 only. The qualification of attributes is a feature to assign
multiple roles
to an InternalElement.
Retrieves the and gets the according original RoleClass Interfaces of
each qualified ExternalInterface.
This method is valid for documents based on CAEX 2.15 only. The qualification of attributes is a feature to assign
multiple roles
to an InternalElement.
Conversion to get access to specific AutomationML defined Attributes from the RoleRequirements object.
The RoleRequirements object
The result of the conversion.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated sequence. The RoleRequirementsType
defines the and sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence. The RoleRequirementsType
defines the and sequence.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Adding a new MappingObject element to this RoleRequirements object.
The new MappingObject element if not existing, otherwise the existing.
A RoleRequirements object doesn't exist!
If the Document Schema Version is prior to Version 3.0.
Applicable since CAEX Version 3.0
Determines whether this RoleRequirements object has an associated reference to
the provided RoleClass. If inheritance relations between RoleClasses should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified RoleClass is either identical
to the referenced RoleClass or the referenced RoleClass is derived from the provided RoleClass.
The RoleClass object.
if set to true inheritance relations
are regarded (default is false).
true if this RoleRequirement object has an associated reference to
the specified RoleClass; otherwise, false.
roleClass
Exception for violations of the CAEX Schema. An example for a violation is the insertion of more than one
RoleRequirement object into an InternalElement.
Initializes a new instance of the class with serialized data.
serialize object information.
context information.
Initializes a new instance of the class.
Initializes a new instance of the -class with the defined error message.
message containing error information.
Initializes a new instance of the class.
The message.
The inner.
This class is a wrapper for the CAEXElement 'SupportedRoleClass' assignable to
a SystemUnitClass. Associated supported roles of a SystemUnitClass are used to specify some
semantic meanings like features or functions for the associated object.
Initializes a new instance of the class.
A 'SupportedRoleClass' XML node.
Gets the MappingObject associated with a SupportedRoleClass. Mapping objects are used to
define mappings between properties of the associated object and the role class itself.
Gets and sets the Attribute of this SupportedRoleClass object.
Gets and sets the RoleClass, referenced from this SupportedRoleClass object using the
.
Gets or sets the role reference. This property is equivalent to .
The role reference.
Gets the associated SystemUnitClass for this SupportedRoleClass object.
Inserts the specified CAEX object in it's associated sequence. The SupportedRoleClassType
defines the
The CAEX object
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence. The SupportedRoleClassType
defines the
The CAEX object
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Adding a new MappingObject element to this SupportedRoleClass.
The new MappingObject element if not existing, otherwise the existing.
A SupportedRoleClass object doesn't exist!
This class is a CAEXWrapper for the 'UnknownType' Element which is a choice for an
Gets and sets the value of the Requirements element
Initializes a new instance of the class.
An 'UnknownType' XML node.
A Sequence of XML elements related to a specific element name.
An XML element may contain different NamedElementSequences with different names.
The element selection condition used to select elements to create the sequence.
Gets or sets the value at the specified index.
The index of the element in the collection.
Creates a new instance of the XElementSequence for the specified owner and the specified name which has to be a
valid name for
child elements, which can be filtered out from the owner by this name.
The owner.
The name.
Initializes a new instance of the class.
The owner.
Name of the element.
The condition.
Gets the CAEX owner of this sequence
Gets the number of elements in this sequence
Gets the name of the elements in this sequence
Gets a list of unwrapped CAEX elements (XElements) of this sequence
Determines, if the sequence contains any element
Gets the owner of this sequence
Gets the first element in this sequence.
Gets the last element in this sequence
Determines, if the local names are equal.
Determines, if the local names are equal.
Returns an enumerator that iterates through the collection.
An enumerator that can be used to iterate through the collection.
Removes all CAEX objects from this sequence.
Removes the element at the given index.
The index.
true, if element at index exists and is removed.
Gets the Index of the specified element in the sequence of elements with the same name
The element.
The index of the element.
Removes the XML node.
The XML node.
This class implements methods to work with a sequence of CAEX elements and indexed access to their values.
The Value type
Gets the value of the CAEX object in this sequence at the given position
index position of the element
The value.
The value converter
Gets the Index of the specified element in the sequence of elements with the same name
The element.
The index of the element.
Creates a new instance of the ValueSequence for the specified owner and the specified name which has to be a valid
name for
child elements, which can be filtered out from the owner by this name.
The owner.
The element name.
Creates a new instance of the ValueSequence for the specified owner and the specified name which has to be a valid
name for
child elements, which can be filtered out from the owner by this name. The specified condition is used as an
additional
filter criteria.
The owner.
The element name.
Filter criteria.
Gets the collection of Xml-Elements and their associated Values in this ValueSequence.
Gets a collection of values of the CAEX elements of this sequence
Creates a new CAEX object and appends it to the value sequence. The value of the appended
object is set to the provided value.
The value.
The created XML node.
The element could not be appended.
Gets the value from the element at the specified index.
The index.
The value.
Gets the enumerator for this sequence which enumerates the .
An enumerator that can be used to iterate through the collection.
Creates a new CAEX object with the provided value and prepends it to already existing elements.
The value.
The XML node of the created CAEX object.
Could not add
class defining an Xml-Element and its associated Value
Creates the ElementValue structure for the defined Element and Value
The element
The value
The Xml-Element
The Value of the Xml-Element transformed to the DataType
The type of the data type.
Function to convert data from the XML-representation to the defined DataType
Function to convert data to an XML-representation
Initializes a new instance of the ElementValueConverter class.
Sets custom value converters to support conversion from objects to user defined types.
The convert from.
The convert to.
Sets the element value.
The element.
The value.
Gets the element value.
The element.
This class implements methods to work with any sequence of CAEX elements. The class will wrap all elements
of a filtered sequence of an owner element to
the denoted wrapper type which is given as the type-argument.
this is any CAEXWrapper type
Creates a new instance of the CAEXSequencce for the specified owner and the specified name which has to be a valid
name for
child elements, which can be filtered out from the owner by this name.
The owner
CAEX-Name of the items in this sequence
The constructor function
Gets a wrapper for the first CAEX element in this sequence, if the sequence contains no elements null is
returned.
Gets a wrapper for the last CAEX element in this sequence, if the sequence contains no elements null is
returned.
Gets a collection of all CAEX descendants of this sequence in document order
Gets a wrapper for the CAEX element in this sequence at the given position
index position of the element
The created CAEX wrapper.
Gets the first CAEX object with a specific attribute value from the sequence of elements
Pair of attribute name and attribute value
the first CAEX object, which matches this condition.
Moves the CAEX object at the specified index to a new location in the collection.
The zero-based index specifying the location of the CAEX object to be moved.
The zero-based index specifying the new location of the CAEX object.
Creates a new CAEX object and appends it to already existing elements in this sequence.
the created CAEX object
raised, when this parent child relation violates the CAEX schema.
Creates a new CAEX object and appends it to already existing elements. The content of the
new element can be optionally defined using an array of tuples defining attribute names and their values.
The attribute value tuples.
the created CAEX object.
This sample shows how to apply this method:
var doc = CAEXDocument.New();
var at = doc.CAEXFile.AttributeTypeLib.Append (new Tuple <string,object>[] { Tuple.Create<string,object>("Name", "ALIB") });
Gets the CAEX object at the specified index.
The index.
the CAEX object from the given index, or null.
Gets the enumerator for this sequence.
The enumerator
Gets the Index of the specified CAEX object in this sequence of elements.
the CAEX object
the Index of the specified CAEX object.
Inserts the specified CAEX object into this sequence. If no position is specified the element is appended.
If 'asFirst' is set to true, the element is prepended to already existing ones.
the CAEX object
optional parameter, if set to true (default) the object is prepended to already existing ones,
otherwise it is appended.
The inserted CAEX object. If the provided CAEX object already belongs to a sequence, a copy of the CAEX object is
inserted and
returned as the result.
If the provided CAEX object already has an associated parent, a deep
copy of the CAEX object and not the original provided CAEX Object is inserted. Please keep in mind, that the copied
object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object into this sequence at the defined index.
The Position of the element
The CAEX object
The inserted CAEX object. If the provided CAEX object already belongs to a sequence, a copy of the CAEX object is
inserted and
returned as the result.
If the provided CAEX object already has an associated parent, a deep
copy of the CAEX object and not the original provided CAEX Object is inserted. Please keep in mind, that the copied
object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Creates a new CAEX object and prepends it to already existing elements.
The created CAEX object.
Creates a new CAEX object and prepends it to already existing elements. The content of the
new element can be defined using an array of tuples defining attribute names and their values.
The attribute value tuples.
The created CAEX object.
Removes the provided CAEX object from this sequence.
The CAEX object.
This method creates a CAEXWrapper for the provided node by invoking the constructor delegate.
This method can be overridden if a direct constructor can be called which can be
faster.
the wrapped XML node
The CAEXWrapper for the provided node.
This method uses the Schema manager to create a new sequence member. This Method can be overridden if a faster
method is provided without using the schema manager (if the requirements to create a schema conform element
are known).
The sequence owner.
The new XML element which can be added to this sequence.
Generic base class for all library objects of CAEX, which are:
-
,
-
,
-
,
-
,
-
.
Initializes a new instance of the class.
Any CAEX library XML node.
Gets or sets the constructor function to create the element sequence.
Gets the collection of LibraryElements contained in this instance.
Gets the enumerator to iterate through the collection of library objects.
An enumerator that can be used to iterate through the collection of library objects.
Gets the enumerator to iterate through the collection of library objects.
An enumerator that can be used to iterate through the collection of library objects.
Inserts the provided CAEX object as a new sibling after this CAEX object.
The CAEX object to be inserted.
caexObject
The provided object is not allowed to be a sibling of this instance.
Inserts the provided CAEX object as a new sibling before this CAEX object.
The CAEX object to be inserted
caexObject
The provided object is not allowed to be a sibling of this instance.
This Class is a wrapper for the CAEXElement 'ExternalInterface'
Initializes a new instance of the class.
An 'ExternalInterface' XML node.
The constructor function for the .
Determines, if this external interface is associated to a SystemUnitClass, InternalElement,
InterfaceClass, RoleClass or
RoleRequirement and returns the Wrapper for this associated object.
Also works for nested Interfaces.
The associated object.
Gets a value indicating whether this instance is a master.
Determines, if this instance is a Mirror
Gets and sets the Master. A Master is only defined, if this instance is a . Setting a master
will transform this
instance into a mirror.
The master.
Gets the master, if this is a mirror object.
Gets the master identifier, if this ExternalInterface is a mirror .
Conversion to get access to specific AutomationML defined Attributes, assigned to the specified External Interface
object.
The CAEX External Interface object.
The InterfaceClass object, converted to an type, which provides access to
specific AML defined attributes.
interfaceClass
Creates a new Mirror of this ExternalInterface, using this instance as the new master of the created mirror.
The created mirror ExternalInterface.
Removes this ExternalInterface. After that it is no longer assigned to a document and has no owner anymore.
If this ExternalInterfaces has InternalLink relations, the InternalLink relations are removed too.
Gets or sets the references interface class.
Determines whether this ExternalInterface object has an associated reference to
the specified InterfaceClass. If inheritance relations between InterfaceClasses should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified InterfaceClass is either identical
to a referenced InterfaceClass or a referenced InterfaceClass is derived from the specified InterfaceClass.
The InterfaceClass object.
if set to true inheritance relations
are regarded (default is false).
true if this ExternalInterface object has an associated reference to
the specified InterfaceClass; otherwise, false.
interfaceClass
This Class is a wrapper for the CAEXElement 'ExternalReference' which is a container element
for the alias definition of external CAEX files.
Initializes a new instance of the class.
The 'ExternalReference' XML node.
Gets and sets the alias name of an external CAEX file to enable referencing elements of the external CAEX file from
other
elements
Gets and sets the path of the external CAEX file. According to CAEX absolute and relative paths are allowed.
Inserts the provided CAEX object as a new sibling after this CAEX object.
The CAEX object to be inserted.
caexObject
The provided object is not allowed to be a sibling of this instance.
Inserts the provided CAEX object as a new sibling before this CAEX object.
The CAEX object to be inserted.
caexObject
The provided object is not allowed to be a sibling of this instance.
Interface to define elements which contain a collection of internal elements
Gets the collection of InternalElement objects contained in this instance.
This Class is a wrapper for the CAEXElement 'InterfaceClassLib'
Initializes a new instance of the class.
An 'InterfaceClassLib' XML node.
Gets a collection of the InterfaceClass objects contained in this InterfaceClass Library.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated sequence. The InterfaceClassLib
defines the sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given position. The InterfaceClassLib
defines the sequence.
The position
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Interface that defines methods and properties that apply to all classes that are able to contain attributes.
Get the collection of all attributes of this object. Inherited Attributes are not included.
Gets the attributes and all nested attributes.
Interface that defines methods and properties that apply to all classes that are able to contain ExternalInterface
objects.
Gets the collection of ExternalInterface objects
Gets the collection of ExternalInterface objects including all nested descendant interfaces
This class is a CAEXWrapper for the CAEX element 'RefSemantic' used in an .
Initializes a new instance of the class.
A 'RefSemantic' XML node.
Gets and sets the Attribute 'CorrespondingAttributePath' of the RefSemantic object.
This Class is a wrapper for the CAEXElement 'RoleClassLib' which is a Container element
for a hierarchy of Role class definitions wrapped into .
CAEX supports multiple role class libraries.
Initializes a new instance of the class.
The 'RoleClassLib' XML node.
Gets the collection of RoleClass objects contained in this library.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated sequence. The RoleClassLibType
defines the sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given position. The RoleClassLibType
defines the sequence.
The position
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This Class is a wrapper for the CAEXElement 'SourceDocumentInformation' which a structure to
model information about the data source of the present CAEX document.
Initializes a new instance of the class.
A 'SourceDocumentInformation' XML node.
gets and sets the Date and time of the creation of the CAEX document.
Gets and sets an identifier of the origin of the CAEX document, e.g. a unique identifier of a source engineering
tool or an exporter software.
The ID shall not change even if the origin gets renamed
Gets and sets the Name of the origin of the CAEX document, e.g. the source engineering tool or an exporter software
Gets and sets a unique identifier of the corresponding source project (optional in CAEX)
Gets and sets the title of the corresponding source project (optional in CAEX)
Gets and sets the release information of the origin of the CAEX document, e.g. the version
of the source engineering tool or the exporter software (optional in CAEX)
Gets and sets the vendor of the data source of the CAEX document (optional in CAEX)
Gets and sets the vendors URL of the data source of the CAEX document (optional in CAEX)
Gets and sets the Version of the origin of the CAEX document, e.g. the version of the source engineering tool or
the exporter software.
This class is a wrapper for the CAEX element 'SourceObjectInformation'. This element can be assigned to a
to store a mapping between the ID of a CAEXObject and the ID of the same object, as
it is defined in the object source.
Initializes a new instance of the class.
A 'SourceObjectInformation' XML node.
Gets and sets a value for the OriginID attribute of a SourceObjectInformation object.
Gets and sets a value for the SourceObjID attribute of a SourceObjectInformation object.
This class is the base CAEXWrapper class, defined for all CAEX objects. The CAEXWrapper class supports
notifications of changes.
A new CAEXWrapper instance is constructed to wrap the provided XML element.
The XML element.
The Change event raised when any property is modified.
Gets the CAEX document of this CAEX object. If the CAEX object has not been inserted
into a document or has been removed from the document, the value is null.
Gets the CAEXParent of this instance if it exists.
Gets the CAEXSequence containing this CAEX object
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Gets the XDocument of the wrapped XML-Element
Determines if this is a wrapper around an existing XML-Element
Gets the wrapped XML-Element
Gets the wrapped Xml-Element's parent
Gets the name of the CAEX tag for this CAEX object.
operator overload (compares the wrapped nodes)
The obj1.
The obj2.
The result of the operator.
operator overload (compares the wrapped nodes)
The obj1.
The obj2.
The result of the operator.
Gets the first child of this CAEX object with the defined CAEX tag name.
The CAEX tag name of the child.
The child, if it exists; otherwise null.
Gets all children of this CAEX object with the defined CAEX tag name.
The CAEX tag name of the child.
The children, if existing; otherwise Enumerable.Empty.
Creates a deep copy of this CAEX object
if set to true a deep copy is created; otherwise only the attributes are included in the
copy.
if set to true all IDs, defined in the Node and the descendants get new IDs.
if set to true sub classes of SystemUnitClasses, InterfacesClasses, RoleClasses and AttributeTypes
are included in the copy. The default value is false.
The copied CAEX object.
Equality of CAEX wrapper instances is defined on the equality of the wrapped XML elements.
The to compare with this instance.
true if the specified is equal to this instance; otherwise, false.
Gets the Hash code for this instance, using the wrapped XML element.
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Gets the value of the Xml-Attribute with the specified attribute name of the wrapped Xml-Element.
The name of the attribute.
The attribute value if the attribute is defined, otherwise null.
This method can be used to create an XML node, if this CAEX wrapper was instantiated without an XML node.
This method can only be applied, if an is defined. The new created CAEX object is
inserted as a new child of the owner.
true, if the XML node could be created and inserted as a new child of the owner.
Removes this element. After that it is no longer assigned to a document and has no owner anymore.
Sets the value of an attribute, adds an attribute, or removes an attribute (if the value is null).
The name of the attribute
The attribute value.
This methods creates the delegate for the constructor of the wrapped items.
Gets the first child of the wrapped XML element with the defined element name.
The element name (Tag name).
The child, if it exists; otherwise null.
Gets the list of all child's of the wrapped XML element with the defined element name.
The element name (Tag name).
An enumeration of all child's with the defined element name.
Gets the XName for the provided tagName suitable to this Nodes Namespace
Raise the event for the property with the defined name.
Tries to extract a class qualifier from a path
Collection of available class names
The path.
A CAEXWrapper for any Element, which is defined as a simple type. The DataType of the simple type is used
as the generic type parameter.
The type of the data type.
Initializes a new instance of the class.
The XML node.
XML node - Tried to create a Wrapper without an XML node.
Gets the wrapped XML node.
Gets and sets the value of the wrapped XML node, according to the defined DataType. If the element doesn't exists,
it is created and inserted into the document as a child of the defined owner.
The value.
The class CAEXBasicObject comprises a basic set of attributes and header information which exist for all CAEX
elements.
Initializes a new instance of the class.
Any CAEX BasicObject XML node.
Gets the collection of AdditionalInformation values contained in this instance.
Gets and sets the change mode for a CAEX element (Optional in CAEX).
Gets and sets the Copyright for this object.
For CAEX 2.15 documents the content of the Copyright object is transformed to a string.
Gets the wrapper for the Copyright element.
Gets and sets the Description for this object.
For CAEX 2.15 documents the content of the Description object is transformed to a string.
Gets the wrapper for the Description element.
Gets the collection of Revision objects contained in this instance.
Gets the collection of SourceObjectInformation objects contained in this instance.
Gets and sets the Version for this object.
For CAEX 2.15 documents the content of the Version object is transformed to a string.
Gets the wrapper for the Version element.
Gets the CAEXSequence owned by this instance, which contains the specified CAEX object.
For example, if the specified object is a revision object,
the sequence of the revision objects is returned.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Gets the CAEX Container for elements of type T, which is owned by this CAEX object
The CAEX container
Inserts the specified CAEX object in it's associated sequence. The CAEXBasicObject
defines the and sequences.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the CAEX object
has been inserted into this sequence.
Inserts the specified CAEX object in it's associated sequence at the defined position. The CAEXBasicObject
defines the and sequences.
The position
The CAEX object.
true, if a sequence could be identified and the CAEX object
has been inserted into this sequence.
Creates a new Revision object and inserts it to the collection of Revision objects
either at the beginning or at the end of the sequence, according to the specified optional value. The Revision
object is initialized with the provided values.
The date.
The author.
if set to true the created Revision is prepended, otherwise appended.
A Revision object.
This class is a wrapper for the XDocument defining a CAEXDocument. Each CAEXDocument is associated to a specific
CAEX-Schema.
The Default Schema for newly created documents is always the most recently defined
CAEX-Schema (currently Version 3.0). The Schema for existing documents loaded from files or other sources is set to
the schema version defined in the document source.
Transformations of CAEXDocuments from lower schema versions to higher schema versions is possible.
Transformations from higher to lower schema versions
can also be done but may result in documents containing not all the information. Schema transformations can be done
with
a registered schema transformation service which implements the interface.
Creation of new documents with lower schema versions
is possible, but in this case, the schema version has to be defined explicitly.
Enumeration type defining existing and supported CAEX Versions
CAEX Schema Version 2.15
CAEX Schema Version 3.0
This value is used, if the CAEX document couldn't be associated to a specific schema version
private constructor setting the schema
The CAEX schema version.
The Commanding class, which provides events for changes of CAEX objects
This event is raised after a CAEXElement has been changed.
This event is raised before a CAEXElement will be changed.
The Default schema for new CAEX documents
Gets the CAEXFile which is the wrapper for the root element in the CAEX document
Gets the command instance for this document, which enables registration of change events
Gets the Schema of the CAEXDocument
Gets the schema manager for this document
Gets the schema version string for the assigned schema
Gets a value indicating whether this instance has an active schema transformation.
true if this instance is transformation active; otherwise, false.
Gets the schema manager for the CAEX document which contains the provided XML node.
The XML node.
The AML schema manager.
Gets the schema manager for the CAEX document which contains the provided CAEX object.
The CAEX object.
The AML schema manager.
Gets the CAEX document which contains the specified CAEX object. If the CAEX object has not been inserted into a
CAEX document,
no CAEX document is returned.
The CAEX object.
The CAEX document.
Gets the CAEX document which contains the specified XML node.
The CAEXDocument, containing the XML node.
Loading a CAEX file from the specified Byte-Array.
The CAEX file to load
A CAEXDocument containing the CAEX-Nodes
Create a CAEX document with content, loaded from a file. The schema version of the CAEX document is set accordingly
to the
SchemaVersion-Attribute of the CAEXFile object.
The file path.
The created CAEX document.
filePath
Create a CAEX document with content, loaded from a stream. The schema version of the CAEX document is set
accordingly to the SchemaVersion-Attribute of the CAEXFile object.
The content stream.
The CAEX document.
inStream
Creates a new empty CAEX document containing only the CAEXFile Element as the root element. The CAEX document is
created,
using the default schema version .
The created CAEX document containing the CAEXFile root element.
Creates a new empty CAEX document containing only the CAEXFile element as the root element. The CAEX document is
created using the
specified schema version. The specified schema version defines the applicable editing methods.
The schema version which defines the CAEX document.
The created CAEX document containing the CAEXFile root element.
Saves the CAEX document to the specified file path.
The file path to save the document to.
Set to true, if pretty printing is desired.
filename
Saves the CAEX document to the specified file path.
Set to true, if pretty printing is desired
The stream, containing the CAEX document content.
Checks if the document is schema compliant.
Log of schema violations.
true, if the CAEX document is schema compliant; otherwise false.
Gets the correct XName for the provided CAEX element name (Tag name).The XName contains a namespace,
if the assigned schema requires a namespace. If no namespace is defined for the assigned schema (as
in CAEX 2.15), no namespace is added to the XName. The XName has to be used for all Xml.Linq queries,
used to access objects with the CAEX element name.
A CAEX Tag name which should be transformed to a XName.
The generated XName.
tag name
This method is called when a transformation service notifies the end of a schema transformation. The finalization
performs a final scan and deletes elements and attributes which are not schema conform and adds required attributes
and elements which are missing.
This method is called when a transformation service notifies the start of a schema transformation.
The transformation is initialized with a new schema conform CAEX document, containing the content
of the source document.
The target schema (needs to be different to the actual schema).
the prepared document, returned to the transformation service for further processing.
This class is a wrapper for the CAEX element 'CAEXFile' which is the root-element of any CAEX document.
Initializes the class.
Initializes a new CAEXWrapper of the 'CAEXFile' element.
The CAEXFile XML node.
Gets the collection of AttributeTypeLib objects contained in the CAEXFile.
Gets the collection of ExternalReference objects contained in the CAEXFile.
Gets and sets the FileName attribute of the CAEXFile
Gets the collection of InstanceHierarchy objects contained in the CAEXFile.
Gets the collection of InterfaceClassLib objects contained in the CAEXFile.
Gets a value indicating whether this instance is empty.
Gets the collection of RoleClassLib objects contained in the CAEXFile.
Gets and sets the SchemaLocation attribute of the CAEXFile.
Gets and sets the SchemaVersion attribute of the CAEXFile.
Gets the collection of SourceDocumentInformation objects contained in the CAEXFile.
Gets the collection of SuperiorStandardVersion objects contained in the CAEXFile.
The value of the SuperiorStandardVersion object is defined as a string.
Gets the collection of SystemUnitClassLib objects contained in the CAEXFile.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Gets an enumerator that enables enumeration of all libraries in the CAEX file.
Libraries enumerator of the CAEX file
Retrieves the file name including full path out of the CAEX document.
the file name including full path of the CAEX document
copied from externalization extensions
Inserts the specified CAEX object in it's associated sequence. The CAEXFile
defines the , ,
, ,
and sequences.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given position. The CAEXFile
defines the , ,
, ,
and sequences.
the position
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
The class CAEXObject is derived from CAEXBasicObject, augmented by the CAEX Attributes Name(required) and
ID(optional).
Specifies the format used for GUIDs. Format "D" is NOT adding {} around the GUID
Initializes a new instance of the class.
Any CAEX object XML node.
Gets and sets a unique identifier of the CAEX object (optional in CAEX). AutomationML requires IDs for some
Elements.
These IDs are automatically set when such elements are created.
Gets and sets the name of the CAEX object (required in CAEX).
Assigns the new unique identifier as a new ID to this CAEX object.
Gets the CAEX path for this object. A path can be used to uniquely reference an object,
for example in inheritances and instances. The path syntax for an object is defined
differently in CAEX 2.15 and CAEX 3.0. The engine uses the to generate
the CAEX path of an object according to the documents CAEX version.
Paths require the definition of separators between different path elements. CAEX 2.15 distinguishes
between 4 separator types:
Alias separator, object separator, interface separator and attribute separator.
In CAEX 3.0 only the separator types Alias separator and object separator are used.
Please note that this method returns a different result than the
method, which always returns
the path including the object names of all ancestor hierarchy levels.
The CAEX path.
Gets a new unique identifier.
Creates a deep copy of this CAEX object, containing all child elements.
The created copy will have replaced unique IDs and updated references, if
the is set to true (default).
When a CAEX class is copied, the nested classes that can exist for AttributeType,
RoleClass, SystemUnitClass, and InterfaceClass are
not included in the created copy.
if set to true a deep copy is created; otherwise only the attributes are included in the
copy. The default value is true.
if set to true all elements with IDs get unique
IDs and the ID references will be updated. The default value is true.
if set to true sub classes of SystemUnitClasses, InterfacesClasses, RoleClasses and AttributeTypes
are included in the copy. The default value is false.
A copy of this CAEX object with unique IDs.
Returns the value of the 'Name' attribute of this CAEX object as the string representation of the object.
A that represents this instance.
Class CAEX_CLASSModel_TagNames.
gets the CAEX-Tag name for the CAEX-wrapper type.
Type of the CAEX wrapper.
System.String.
caexWrapperType
The Name of the CAEX-Element 'AdditionalInformation'. This Element has no special CAEX-Wrapper.
The Name of the CAEX-Attribute 'Alias'. This is a Property in the CAEX-Wrapper
The Name of the CAEX-Element 'NominalScaledType'. CAEX-Wrapper is
The Name of the CAEX-Attribute 'RequiredValue'. This is a Property in the CAEX-Wrapper
The Name of the CAEX-Attribute 'RequiredMaxValue'. This is a Property in the CAEX-Wrapper
The Name of the CAEX-Attribute 'RequiredMinValue'. This is a Property in the CAEX-Wrapper
The Name of the CAEX-Element 'OrdinalScaledType'. CAEX-Wrapper is
The Name of the CAEX-Attribute 'RequiredValue'. This is a Property in the CAEX-Wrapper
The Name of the CAEX-Element 'Constraint'. The CAEX-Wrapper is
The Name of the CAEX-Element 'Requirements'. This is a Child of the CAEX-Wrapper
The Name of the CAEX-Element 'UnknownType'. The CAEX-Wrapper is
The Name of the CAEX-Element 'AttributeDataType' contained in the
The Name of the CAEX-Attribute 'DefaultValue'. This is a Property in the CAEX-Wrapper
The Name of the Attribute 'CorrespondingAttributePath' of the CAEX-Element
The Name of the Attribute 'FileName' of the CAEX-Element
The Name of the CAEX-Attribute 'RefPartnerSideA'. This is a Property in the CAEX-Wrapper
The Name of the CAEX-Attribute 'RefPartnerSideB'. This is a Property in the CAEX-Wrapper
The Name of the CAEX-Attribute 'RefAttributeType'. This is a Property in the CAEX-Wrapper
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'RefBaseClassPath'. This is a Property in all Classes that implement
The Name of the CAEX-Attribute 'RefBaseRoleClassPath'. This is a Property in
The Name of the CAEX-Attribute 'RefBaseSystemUnitPath'. This is a Property in
The Name of the CAEX-Attribute 'RefRoleClassPath'. This is a Property in
The Name of the Xml-Schema Location Attribute 'xsi:noNamespaceSchemaLocation'
The Name of the Xml-Schema Version Attribute 'SchemaVersion' of the CAEX-Element
The Name of the CAEX-Attribute 'RefSemantic'. A Property in .
The Name of the CAEX-Attribute 'RoleAttributeName' in an AttributeNameMapping. The CAEX-Wrapper is
.
The Name of the CAEX-Attribute 'RoleInterfaceID' in an InterfaceIDMapping. The CAEX-Wrapper is
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'RoleInterfaceName' in an InterfaceNameMapping. The CAEX-Wrapper is
.
Changed to in CAEX 3.0
The Name of the CAEX-Element 'Attribute'. The CAEX-Wrapper is .
The Name of the CAEX-Attribute 'SystemUnitAttributeName' in an AttributeNameMapping. The CAEX-Wrapper is
.
The Name of the CAEX-Attribute 'SystemUnitInterfaceID' in an InterfaceIDMapping. The CAEX-Wrapper is
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'SystemUnitInterfaceName' in an InterfaceNameMapping. The CAEX-Wrapper is
.
Changed to in CAEX 3.0
The Name of the CAEX-Attribute 'Unit' of the CAEX-Element
The Name of the CAEX-Element 'AttributeValueRequirement'. This is a Property in the CAEX-Wrapper
The Name of the CAEX-Attribute 'Value'. A Property in the CAEX-Wrapper .
The TypeName of the CAEX-Element 'AttributeType'. The CAEX-Wrapper is for the
Type.
Applicable since CAEX-Version 3.0
The TypeName of the CAEX-Element 'AttributeType'. The CAEX-Wrappers are .
Applicable since CAEX-Version 3.0
The TypeName of the CAEX-Element 'AttributeTypeLib'. The CAEX-Wrappers are .
Applicable since CAEX-Version 3.0
The Name of the CAEX-Element 'CAEXFile'. The CAEX-Wrapper is .
The Type Name of any CAEXBasicObject. The CAEX-Wrapper is .
The Type Name of any CAEXObject. The CAEX-Wrapper is .
The Name of the CAEX-Attribute 'ChangeMode'. This is an attribute of any .
The Name of the CAEX-Element 'Copyright'. This is an element in any Header .
The Name of the CAEX-Element 'Copyright'. This is an element in any Header .
The Name of the CAEX-Element 'ExternalInterface'. The CAEX-Wrapper is .
The Name of the CAEX-Element 'ExternalReference'. The CAEX-Wrapper is .
The Name of the CAEX-Attribute 'ID'. This is defined for every .
The Name of the CAEX-Element 'InstanceHierarchy'. CAEX-Wrapper is .
The Name of the CAEX-Element 'InterfaceClass'. The CAEX-Wrappers are and
The Name of the CAEX-Element 'InterfaceClassLib'. The CAEX-Wrapper is .
The TypeName of the CAEX-Element 'InterfaceClass'. The CAEX-Wrappers are and
for the Type.
The Name of the CAEX-Element 'InternalElement'. The CAEX-Wrapper is .
The Name of the CAEX-Element 'InternalLink'. The CAEX-Wrapper is .
The Name of the CAEX-Attribute 'LastWritingDateTime' defined in
Applicable since CAEX-Version 3.0
The Name of the CAEX-Element 'AttributeNameMapping'. The CAEX-Wrapper is .
The Name of the CAEX-Element 'InterfaceIDMapping'. The CAEX-Wrapper is .
Applicable since CAEX-Version 3.0
The Name of the CAEX-Element 'InterfaceNameMapping'. The CAEX-Wrapper is .
Changed to since CAEX-Version 3.0
The Name of the CAEX-Element 'MappingObject'. The CAEX-Wrapper is .
The Name of the Type of the CAEX-Element 'MappingObject'. The CAEX-Wrapper is .
The Name of the additional AutomationML-CaexFile-Attribute 'AutomationMLVersion'.
Deprecated since CAEX-Version 3.0
The meta attribute name document identifier is used to identify .
The meta attribute name document version is used to identify defined
in the of a .
The Name of the additional AutomationML-CaexFile-Element 'WriterHeader'.
Deprecated since CAEX-Version 3.0
The meta WriterID string
The meta WriterName string
The meta WriterProjectID string
The meta WriterProjectTitle string
The meta WriterRelease string
The meta WriterVendor string
The meta WriterVendorURL string
The meta WriterVersion string
The Name of the CAEX-Attribute 'Name'. This is an Element in every .
The Name of the CAEX-Attribute 'OriginID'. This is an Element in every
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'OriginName'. This is an Element in every
.
The Name of the CAEX-Attribute 'OriginProjectID'. This is an Element in every
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'OriginProjectTitle'. This is an Element in every
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'OriginRelease'. This is an Element in every
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'OriginVendor'. This is an Element in every
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'OriginVendorURL'. This is an Element in every
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'OriginVersion'. This is an Element in every
.
The Name of the CAEX-Attribute 'Path'. This is defined in
The Name of the CAEX-Element 'RefSemantic'. This is a CAEX-Element with the CAEX-Wrapper
The Name of the CAEX-Element 'AuthorName'. This is an element in .
The Name of the CAEX-Element 'Comment'. This is an element in .
The Name of the CAEX-Element 'RevisionDate'. This is an element in .
The Name of the CAEX-Element 'NewVersion'. This is an element in .
The Name of the CAEX-Element 'OldVersion'. This is an element in .
The Name of the CAEX-Element 'Revision'. The CAEX-Wrapper is .
The Name of the CAEX-Element 'RoleClass'. The CAEX-Wrappers are and
.
The Name of the CAEX-Element 'RoleClassLib'. The CAEX-Wrapper is .
The TypeName of the CAEX-Element 'RoleClass'. The CAEX-Wrappers are and
for the Type.
The Name of the CAEX-Element 'RoleRequirements'. The CAEX-Wrapper is .
The Name of the CAEX-Element 'SourceDocumentInformation'. CAEX-Wrapper is
.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Element 'SourceObjectInformation'. CAEX-Wrapper is .
Applicable since CAEX-Version 3.0
The Name of the CAEX-Attribute 'SourceObjID'. This Attribute is defined in
.
Applicable since CAEX-Version 3.0
The TypeName of the CAEX-Element 'SuperiorStandardVersion'.
Applicable since CAEX-Version 3.0
The Name of the CAEX-Element 'SupportedRoleClass'. The CAEX-Wrapper is .
The Name of the CAEX-Element 'SystemUnitClass'. The CAEX-Wrappers are and
.
The Name of the CAEX-Element 'SystemUnitClassLib'. The CAEX-Wrapper is .
The TypeName of the CAEX-Element 'SystemUnitClass'. The CAEX-Wrappers are and
for the Type.
The Name of the CAEX-Element 'Version'. This may be defined in every .
The CAEXNamespace of a CAEX Document
Applicable since CAEX-Version 3.0
Enumeration defining possible ChangeMode values of the ChangeMode Attribute
corresponds to attribute value 'state'
corresponds to attribute value 'create'
corresponds to attribute value 'delete'
corresponds to attribute value 'change'
corresponds to a null attribute value
This Class is a wrapper for the CAEXElement 'InstanceHierarchy' which is a Container element
for a hierarchy of InternalElements.
Initializes a new instance of the class.
An 'nstanceHierarchy' XML node.
The constructor function for the .
Gets the List of wrappers for the InternalElements of the top level of the InstanceHierarchy.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated sequence. The InstanceHierarchy
defines the sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given position. The InstanceHierarchy
defines the sequence.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This Class is a wrapper for the CAEXElement 'InterfaceClass'
Creates a Wrapper for the specified XElement, if it is a CAEX InterfaceClass.
An 'InterfaceClass' or 'ExternalInterface' XML node.
Gets the collection of Attributes for this Instance
Gets the attributes and all nested attributes.
Gets the collection of ExternalInterface objects including all nested descendant interfaces
Gets and sets the ReferencedBaseClass for this instance.
Gets the collection of ExternalInterfaces for this Instance.
Nested Interfaces are allowed only in AMLDocuments based on CAEX Version 3.0 and later.
Gets and sets the path which references a base class
Conversion to get access to specific AutomationML defined Attributes, assigned to the specified InterfaceClass
object.
The CAEX InterfaceClass object.
The InterfaceClass object, converted to an type, which provides access to
specific AML defined attributes.
interfaceClass
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated sequence. The InterfaceClass
defines the and sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given position. The InterfaceClass
defines the and sequence.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This Class is a wrapper for the CAEXElement 'InterfaceFamilyType'
Initializes a new instance of the class.
An 'InterfaceClass' XML node.
The constructor function for the .
Gets and sets the ReferencedBaseClass for this instance.
Gets the collection of InterfaceClass objects contained in this instance.
Gets and sets the path which references a base class.
This property is used to create class to class relations between InterfaceClass objects.
According to CAEX, a class shall not inherit from itself or
from a derivative of itself, therefore any cyclic reference is denied.
Gets the name (not the full path) of the referenced base class.
The name of the referenced class.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Creates an ExternalInterface object as an instance of this InterfaceClass object. All Base-Class references
are resolved to create the instance - copying the Attribute and ExternalInterface objects to the
created ExternalInterface object. The IDs of the ExternalInterface objects are made unique.
The ExternalInterface object
Creates a ExternalInterface object as an instance of this InterfaceClass object.
All Base-Classes are resolved to create the instance.
The CAEXWrapper for the ExternalInterface
Gets the Enumerator for the enumeration of the field.
Enumerator for InterfaceClass
Gets the Enumerator for the enumeration of the field.
Enumerator for InterfaceClass
Gets the reference (Inheritance) hierarchy including this instance in an ordered sequence of ancestors.
Collection of base classes
Gets the reference (Inheritance) hierarchy including this instance in an ordered sequence of ancestors.
Type of the CAEX class in the hierarchy.
a queue of ancestors. this instance is first in the queue
Inserts the specified CAEX object in it's associated sequence. The InterfaceFamilyType
defines the sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence. The InterfaceFamilyType
defines the sequence.
The position
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This Class is a wrapper for the CAEXElement 'InternalElement'.
Initializes a new instance of the class.
An 'InternalElement' XML node.
The constructor function for the .
Gets a value indicating whether this instance is a master.
Determines, if this instance is a Mirror
Gets the MappingObject of an InternalElement
Only valid for CAEX 2.15. Don't use this property for later versions of CAEX.
Gets and sets the Master. A Master is only defined, if this instance is a . Setting a master
will transform this
instance into a mirror.
Gets the master.
Gets the master identifier, if this InternalElement is a mirror .
Gets and sets the RefBaseSystemUnitPath Attribute of an InternalElement.
For Class assignments the property is appropriate.
Gets all role references for the InternalElement. The collection includes all
RoleRequirement objects and SupportedRoleClass objects.
Gets the collection of RoleRequirements objects contained in this instance.
Gets and sets the referenced SystemUnitClass using the
Adds a RoleClass reference to this InternalElement object using the provided
RoleClass object. The RoleClass reference is added as
a object. For CAEX documents which are
based on CAEX version 2.15, only one RoleRequirement is allowed for an InternalElement.
Additional RoleClass references are automatically added as SupportedRoleClass objects.
The RoleClass to be assigned to the InternalElement.
if set to true [add supported role class].
if set to true, the RoleClass reference is not added, if a reference to the
provided RoleClass already exists.
if set to true, the reference is created as am instance of the RoleClass,
containig all ExternalInterfaces and Attributes of the RoleClass.
The new added RoleClass reference, which is either a RoleRequirement
or a SupportedRoleClass.
roleClass
The default behaviour is, that only a reference to the role class is added and no instance of
the class containing all Attributes and ExternalInterface objects. If an instance is required,
set the optional parameter 'addInstance' to true or
use the
and the methods.
This sample shows how to call the method using
a standard base RoleClass from the
var amlBaseRoleClassLib = AutomationMLBaseRoleClassLibType.RoleClassLib (myDocument);
var myIH = myDocument.CAEXFile.InstanceHierarchy.Append ("myIH");
var myIE = myIH.InternalElement.Append("myIH");
myIE.AddRoleClassReference (amlBaseRoleClassLib.AutomationMLBaseRole);
Adds a RoleClass reference to this InternalElement object using the provided
CAEX path, referencing a RoleClass object. The RoleClass reference is added as
a object. For CAEX documents which are
based on CAEX version 2.15, only one RoleRequirement is allowed for an InternalElement.
Additional RoleClass references are added as SupportedRoleClass objects.
The CAEX path referencing a RoleClass to be assigned
to the InternalElement.
if set to true the reference is not added, if the
same reference already exists.
if set to true, the reference is created as an instance of the RoleClass,
identified by the provided roleClassReference,
containig all ExternalInterfaces and Attributes of the RoleClass.
The new added RoleClass reference, which is either a RoleRequirement
or a SupportedRoleClass.
roleClassReference
The default behaviour is, that only a reference to the role class is added
and no instance of the class containing all Attributes and ExternalInterface objects.
If an instance is required, set the optional parameter 'addInstance' to true
or use the and
the methods,
This sample shows how to call the method using
a standard RoleClass path defined in the
var myIH = myDocument.CAEXFile.InstanceHierarchy.Append ("myIH");
var myIE = myIH.InternalElement.Append("myIH");
myIE.AddRoleClassReference (AutomationMLBaseRoleClassLib.AutomationMLBaseRole);
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Creates a new mirror element from this InternalElement
Creates a system unit class from this InternalElement instance. RoleRequirements are transformed to
SupportedRoleClasses.
Attributes and ExternalInterfaces of RoleRequirements are removed.
Determines whether this InternalElement object has an associated reference to
a RoleClass which is a generalization of the specified which means, that the
specified RoleClass
is more specific than any already associated RoleClass of this InternalElement.
The RoleClass object.
true if this InternalElement object has an associated RoleClass,
which is a generalization of the specified RoleClass; otherwise, false.
roleClass
Determines whether this InternalElement object has an associated RoleClass reference
which is a generalization of the specified CAEX path role reference.
The role reference.
true if this InternalElement object has an associated RoleClass reference
which is a generalization of the specified CAEX path role reference; otherwise, false.
roleReference
Determines whether this InternalElement object has an associated reference to
the specified RoleClass. If inheritance relations between role classes should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified RoleClass is either identical
to a referenced RoleClass or a referenced RoleClass is derived from the specified RoleClass.
The RoleClass object.
if set to true inheritance relations
are regarded (default is false).
true if this InternalElement object has an associated reference to
the specified RoleClass; otherwise, false.
roleClass
This sample shows how to call the method using
a standard base RoleClass from the
var amlBaseRoleClassLib = AutomationMLBaseRoleClassLibType.RoleClassLib (myDocument);
InternalElementType internalElement;
...
internalElement.HasRoleClassReference (amlBaseRoleClassLib.AutomationMLBaseRole);
Determines whether this InternalElement object has an associated reference to
the specified SystemUnitClass. If inheritance relations between systemUnitClasses should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified SystemUnitClass is either
identical
to a referenced SystemUnitClass or a referenced SystemUnitClass is derived from the specified SystemUnitClass.
The SystemUnitClass object.
if set to true inheritance relations
are regarded (default is false).
true if this InternalElement object has an associated reference to
the specified SystemUnitClass; otherwise, false.
roleClass
Determines whether this InternalElement object has an associated RoleClass reference
with the specified CAEX path role reference. If inheritance relations between role classes should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified RoleClass is either identical
to a referenced RoleClass or a referenced RoleClass is derived from the specified RoleClass.
The role reference.
if set to true inheritance relations
are regarded (default is false).
true if this InternalElement object has an associated RoleClass reference
with the specified CAEX path role reference; otherwise, false.
roleReference
This sample shows how to call the method using
a standard base RoleClass path from the
InternalElementType internalElement;
...
internalElement.HasRoleClassReference (AutomationMLBaseRoleClassLib.AutomationMLBaseRole);
Inserts the specified CAEX object in it's associated sequence. The InternalElement
defines the sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given position. The InternalElement
defines the sequence.
The position.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Adding a new MappingObject element to this InternalElement.
The new MappingObject element if not existing, otherwise the existing.
An InternalElement object doesn't exist!
Raised if applied to CAEX 3.0 and later versions.
Only valid for CAEX 2.15. Don't use this method for later versions of CAEX. If used for later versions, a
SchemaConformanceException is raised.
Replaces an existing role class reference to the provided role or any generic base role of the provided role
by a new instance of the role class.
The role class.
if set to true a supported role class is created.
roleClass
roleClass
This Class is a wrapper for the CAEXElement 'MappingObject'
Initializes a new instance of the class.
A 'MappingObject' XML node.
Gets the Role reference, which can provide additional RoleClass Mapping elements/>.
Gets the collection of AttributeNameMapping objects contained in this instance.
Gets the collection of InterfaceIDMapping objects contained in this instance.
InterfaceIDMapping Elements are only defined since CAEX Version 3.0.
Gets the collection of InterfaceNameMapping objects contained in this instance.
InterfaceNameMapping Elements are only defined in CAEX Version 2.15.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated sequence. The MappingType
defines the , and
sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence at the given position. The MappingType
defines the , and
sequence.
The position
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This Class is a wrapper for the CAEXElement 'Revision' which contains organizational information about the state of
the revision of a CAEX object
Initializes a new instance of the class.
The 'Revision' XML node.
Gets or sets the name of the author.
The name of the author.
Gets or sets the comment.
The comment.
Gets or sets the new version.
The new version.
Gets and sets the provided CAEX object as the new version.
Gets or sets the old version.
The old version.
Gets and sets the provided CAEX object as the old version.
Gets or sets the revision date.
The revision date.
This Class is a wrapper for the CAEXElement 'RoleClass'
Initializes a new instance of the class.
A 'RoleClass' XML node.
Gets the collection of Attribute objects contained in this instance.
Gets the attributes and all nested attributes.
Gets the collection of ExternalInterface objects including all nested descendant interfaces
Gets the collection of ExternalInterface objects contained in this instance.
Conversion to get access to specific AutomationML defined Attributes
The CAEX object.
The result of the conversion.
caexObject
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Gets the CAEX Container for elements of type T, which is owned by this CAEX object
The CAEX container
Inserts the specified CAEX object in it's associated sequence. The RoleClass
defines the and sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence. The RoleClass
defines the and sequence.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This Class is a wrapper for the CAEXElement 'RoleFamilyType' which defines base structures for role class
definitions.
The RoleFamilyType Type allows the creation of role class trees
Initializes a new instance of the class.
A 'RoleClass' XML node.
The constructor function for the .
Gets and sets the BaseClass for this instance. According to CAEX, a class shall not inherit from itself or
from a derivative of itself, therefore any cyclic reference is denied.
Gets and sets the path which references a base class. According to CAEX, a class shall not inherit from itself or
from a derivative of itself, therefore any cyclic reference is denied.
Gets the name (not the full path) of the referenced base class.
The name of the referenced class.
Gets the collection of RoleClass objects contained in this instance.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Creates a RoleRequirements object as an instance of this RoleClass object. All Base-Class references
are resolved to create the instance - copying the Attribute and ExternalInterface objects to the
created RoleRequirements object. The IDs of the ExternalInterface objects are made unique.
The RoleRequirements object
Creates a RoleRequirement as an instance of this RoleClass object. All Base-Class references
are resolved to create the instance.
The CAEXWrapper as a RoleRequirement
Creates a SupportedRoleClass object from this RoleClass.
The created SupportedRoleClass
Gets the Enumerator for the enumeration of the field.
An enumerator that can be used to iterate through the collection.
Gets the Enumerator for the enumeration of the field.
An enumerator that can be used to iterate through the collection.
Gets the reference (Inheritance) hierarchy including this instance in an ordered sequence of ancestors.
Enumerator of base classes.
Gets the reference (Inheritance) hierarchy including this instance in an ordered sequence of ancestors.
The class type.
A queue of ancestors. this instance is first in the queue
Inserts the specified CAEX object in it's associated sequence. The RoleFamilyType
defines the sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence. The RoleFamilyType
defines the sequence.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This Class is a wrapper for the CAEXElement 'SystemUnitClassLib'.
Gets a collection of SystemUnitClass objects contained in this instance.
Initializes the class.
Initializes a new instance of the class.
A 'SystemUnitClassLib' XML node.
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Inserts the specified CAEX object in it's associated sequence. The SystemUnitClassLibType
defines the sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence. The SystemUnitClassLibType
defines the sequence.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
This Class is a wrapper for the CAEXElement 'SystemUnitClass' that allows definition of child SystemUnitClasses
within the class hierarchy.
The parent child relation between two SystemUnitClasses has no semantic.
Initializes a new instance of the class.
A 'SystemUnitClass' or 'InternalElement' XML node.
Gets the collection of Attribute objects for this instance.
Gets the attributes and all nested attributes.
Gets the collection of ExternalInterface objects including all nested descendant interfaces
Gets a collection of ExternalInterface objects contained in this instance.
Gets the collection of InternalElement objects for this instance.
Gets the collection of InternalLink objects contained in this instance.
Gets all role references for the SystemUnitClass. The collection includes all
RoleRequirement objects and SupportedRoleClass objects.
Gets the collection of SupportedRoleClass objects contained in this instance.
Get the RoleClass from the sequence of with the provided
.
Name of the role class.
The supported RoleClass object with the provided name if existent, otherwise null.
Conversion to get access to specific AutomationML defined Attributes
The CAEX object.
The result of the conversion.
caexObject
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Enumeration of contained InternalElement objects
An enumerator that can be used to iterate through the collection.
Enumeration of contained InternalElement objects
An enumerator that can be used to iterate through the collection.
Inserts the specified CAEX object in it's associated sequence. The SystemUnitClass
defines the , ,
, , and
sequence.
The CAEX object.
if set to true it is inserted as the
first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the specified CAEX object in it's associated sequence. The SystemUnitClass
defines the , ,
, , and
sequence.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted; If a copy of the CAEX
object has been inserted
or the provided CAEX object doesn't represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object and not the original
provided CAEX Object is inserted.
Please keep in mind, that the copied object
contains identical attributes and elements. It might not represent a valid AutomationML object, because IDs and
references are
not automatically modified.
Inserts the provided CAEX object as a new sibling after this CAEX object.
The CAEX object to be inserted.
caexObject
The provided object is not allowed to be a sibling of this instance.
Inserts the provided CAEX object as a new sibling before this CAEX object.
The CAEX object to be inserted
caexObject
The provided object is not allowed to be a sibling of this instance.
Gets the Lowest common parent to this SystemUnitClass and the provided SystemUnitClass. The common parent is used
to
store an InternalLink relating this two SystemUnitClass objects. An InternalLink is not allowed to leave the
boundary of
a SystemUnitClass which means, that no common parent is defined for two different SystemUnitClass objects. If one
Element
is a SystemUnitClass the other one should be an InternalElement descendant of the SystemUnitClass.
The system unit class.
the SystemUnitClass object which is the lowest common parent
systemUnitClass
Determines whether this CAEX Element has an associated reference to
the specified InterfaceClass. If inheritance relations between InterfaceClasses should be regarded, the
optional parameter 'regardInheritance' should be set. In this case the specified InterfaceClass is either identical
to a referenced InterfaceClass or a referenced InterfaceClass is derived from the specified InterfaceClass.
The InterfaceClass object.
if set to true inheritance relations
are regarded (default is false).
true if this CAEX Element object has an associated reference to
the specified InterfaceClass; otherwise, false.
roleClass
This sample shows how to call the method using
a standard base InterfaceClass from the
var amlInterfaceClassLib = AutomationMLInterfaceClassLibType.InterfaceClassLib (myDocument);
InternalElementType internalElement;
...
internalElement.HasInterfaceClassReference (amlInterfaceClassLib.COLLADAInterface);
Adds an InterfaceClass reference to this SystemUnitClass object using the provided
InterfaceClass object. The InterfaceClass reference is added as
a object.
The InterfaceClass to be assigned to the SystemUnitClass.
if set to true, the InterfaceClass reference is not added, if a reference to the
provided InterfaceClass already exists.
if set to true, the reference is created as am instance of the InterfaceClass,
containig all ExternalInterfaces and Attributes of the InterfaceClass.
The new added InterfaceClass reference.
interfaceClass
The default behaviour is, that only a reference to the interface class is added and no instance of
the class containing all Attributes and ExternalInterface objects. If an instance is required,
set the optional parameter 'addInstance' to true or
use the
and the methods.
This sample shows how to call the method using
a standard base InterfaceClass from the
var amlInterfaceClassLib = AutomationMLInterfaceClassLibType.InterfaceClassLib (myDocument);
var myIH = myDocument.CAEXFile.InstanceHierarchy.Append ("myIH");
var myIE = myIH.InternalElement.Append("myIH");
myIE.AddInterfaceClassReference (amlInterfaceClassLib.AutomationMLBaseInterface);
Adds an InterfaceClass reference to this SystemUnitClass object using the provided
CAEX path, referencing an InterfaceClass object. The InterfaceClass reference is added as
a object.
The CAEX path referencing a InterfaceClass to be assigned
to the SystemUnitClass.
if set to true the reference is not added, if the
same reference already exists.
if set to true, the reference is created as an instance of the InterfaceClass,
identified by the provided interfaceClassReference,
containig all ExternalInterfaces and Attributes of the InterfaceClass.
The new added InterfaceClass reference.
interfaceClassReference
The default behaviour is, that only a reference to the interface class is added
and no instance of the class containing all Attributes and ExternalInterface objects.
If an instance is required, set the optional parameter 'addInstance' to true
or use the and
the methods,
This sample shows how to call the method using
a standard InterfaceClass path defined in the
var myIH = myDocument.CAEXFile.InstanceHierarchy.Append ("myIH");
var myIE = myIH.InternalElement.Append("myIH");
myIE.AddInterfaceClassReference (AutomationMLInterfaceClassLib.AutomationMLBaseInterface);
This Class is a wrapper for the CAEXElement 'SystemUnitFamilyType' which defines base
structures for a hierarchical SystemUnitClass tree. The hierarchical structure has
organizational character only. The class supports direct enumeration of the Tree.
Initializes a new instance of the class.
A 'SystemUnitClass' XML node.
Gets and sets the BaseClass for this instance. According to CAEX, a class shall not
inherit from itself or from a derivative of itself, therefore any cyclic reference is denied.
Gets and sets the path which references a base class. According to CAEX, a class shall
not inherit from itself or from a derivative of itself, therefore any cyclic reference
is denied.
Gets the name (not the full path) of the referenced base class.
The name of the referenced class.
Gets a collection of SystemUnitClass objects of this instance.
The constructor function for the .
Adds a RoleClass reference to this SystemUnitClass object using the provided RoleClass
object. The RoleClass reference is added as a object.
The RoleClass to be assigned to the SystemUnitClass.
if set to true, the RoleClass reference is not added, if a reference to the
provided RoleClass already exists.
The new added RoleClass reference.
roleClass
This sample shows how to call the method using a standard base RoleClass from the
var amlBaseRoleClassLib = AutomationMLBaseRoleClassLibType.RoleClassLib (myDocument);
var mySlib = myDocument.CAEXFile.SystemUnitClassLib.Append ("mySlib");
var mySuc = mySlib.SystemUnitClass.Append("mySuc");
mySuc.AddRoleClassReference (amlBaseRoleClassLib.AutomationMLBaseRole);
Adds a RoleClass reference to this SystemUnitClass object using the provided CAEX path,
referencing a RoleClass object. The RoleClass reference is added as a object.
The CAEX path referencing a RoleClass to be assigned to the SystemUnitClass.
if set to true the reference is not added, if the same reference already exists.
The new added RoleClass reference, which is a SupportedRoleClass.
roleClassReference
This sample shows how to call the
method using a standard RoleClass path defined in the
var mySlib = myDocument.CAEXFile.SystemUnitClassLib.Append ("mySlib");
var mySuc = mySlib.SystemUnitClass.Append("mySuc");
mySuc.AddRoleClassReference (AutomationMLBaseRoleClassLib.AutomationMLBaseRole);
Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
The CAEX object, contained in a sequence, owned by this CAEX object.
The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
Creates an InternalElement as an instance of this class. All References to Base classes
are resolved.
If the document is based on CAEX 2.15 and the SystemUnitClass provides only one
Supported role class, the created Internal Element will contain a role requirement
object, representing the role.
The InternalElement
Creates an InternalElement as an instance of this class. All References to Base classes
are resolved.
CAEXWrapper for the InternalElement
Gets the Enumerator for the enumeration of the field.
An enumerator that can be used to iterate through the collection.
Gets the Enumerator for the enumeration of the field.
An enumerator that can be used to iterate through the collection.
Gets a collection of SupportedRoleClasses objects of this SystemUnitClass and of all
inherited BaseClasses. Duplicates are removed from the result.
A collection of SupportedRoleClass objects for this instance and its BaseClasses.
Getting a referenced SystemUnitClass.
Full path to a SystemUnitClass
The referenced SystemUnitClass
systemUnitClassReference
Gets the reference (Inheritance) hierarchy including this instance in an ordered
sequence of ancestors.
Collection of base classes
Gets the reference (Inheritance) hierarchy including this instance in an ordered
sequence of ancestors.
Type of the CAEX class in the hierarchy.
a queue of ancestors. this instance is first in the queue
Determines whether the specified RoleClass is more specific than any already associated
RoleClass of this SystemUnitClass. This method doesn't check inherited RoleClass
references from ancestors. If an assigned RoleClass is identical to the specified
RoleClass, the result is false.
The RoleClass object.
true if this SystemUnitFamilyType object has an associated RoleClass reference
which is a generalization of the specified RoleClass (the RoleClass is more specific);
otherwise, false.
roleClass
Determines whether the specified roleReference is more specific than any already
associated SupportedRoleClass of this SystemUnitClass. This method doesn't check
inherited RoleClass references from ancestors. If an assigned RoleClass is identical to
the specified RoleClass, the result is false.
The RoleReference object.
true if this SystemUnitFamilyType object has an associated SupportedRoleClass
reference which is a generalization of the specified RoleClass (the RoleClass is more
specific); otherwise, false.
roleClass
Determines whether this SystemUnitClass object has a SupportedRoleClass with a reference
to the specified RoleClass. If inheritance relations between role classes should be
regarded, the optional parameter 'regardInheritance' should be set. In this case the
specified RoleClass is either identical to a referenced RoleClass or a referenced
RoleClass is derived from the specified RoleClass. Independently of the value, always the Role assignments to this
SystemUnitClass and any ancestors of this SystemUnitClass are checked, using the method.
The RoleClass object.
if set to true inheritance relations are regarded (default is false).
true if this SystemUnitClass object has a SupportedRoleClass with a reference to
the specified RoleClass; otherwise, false.
roleClass
This sample shows how to call the method using a standard base RoleClass from the
var amlBaseRoleClassLib = AutomationMLBaseRoleClassLibType.RoleClassLib (myDocument);
SystemUnitFamilyType systemUnitClass;
...
systemUnitClass.HasRoleClassReference (amlBaseRoleClassLib.AutomationMLBaseRole);
Determines whether this SystemUnitClass object has a SupportedRoleClass with the
specified CAEX path reference. If inheritance relation should be regarded, the optional
parameter 'regardInheritance' should be set.
The CAEX path to a RoleClass object.
if set to true inheritance relations are regarded (default is false).
true if this SystemUnitClass object has a SupportedRoleClass with the specified
CAEX path reference.
roleClass
This sample shows how to call the
method using a standard base RoleClass path from the
SystemUnitFamilyType systemUnitClass;
...
systemUnitClass.HasRoleReference (AutomationMLBaseRoleClassLib.AutomationMLBaseRole);
Inserts the specified CAEX object in it's associated sequence. The SystemUnitFamilyType
defines the sequence.
The CAEX object.
if set to true it is inserted as the first item in its associated sequence.
true, if a sequence could be identified and the provided CAEX object is inserted;
If a copy of the CAEX object has been inserted or the provided CAEX object doesn't
represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object
and not the original provided CAEX Object is inserted. Please keep in mind, that the
copied object contains identical attributes and elements. It might not represent a valid
AutomationML object, because IDs and references are not automatically modified.
Inserts the specified CAEX object in it's associated sequence. The SystemUnitFamilyType
defines the sequence.
The CAEX object.
true, if a sequence could be identified and the provided CAEX object is inserted;
If a copy of the CAEX object has been inserted or the provided CAEX object doesn't
represent a valid member of any sequence the result is false.
If the provided CAEX object already has an associated parent, a copy of the CAEX object
and not the original provided CAEX Object is inserted. Please keep in mind, that the
copied object contains identical attributes and elements. It might not represent a valid
AutomationML object, because IDs and references are not automatically modified.
Replaces an existing role class reference to the provided role or a generic base role of
the provided role by a new instance of the role class.
The role class.
roleClass
The Aml.Engine.Resources Namespace gives public access to the XSD Datatype resource strings.
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
Sucht eine lokalisierte Zeichenfolge, die xs:anyURI ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:base64Binary ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:boolean ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:byte ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:dateTime ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:date ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:decimal ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:double ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:duration ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:ENTITIES ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:ENTITY ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:float ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:gDay ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:gMonthDay ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:gMonth ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:gYearMonth ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:gYear ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:hexBinary ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:IDREFS ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:IDREF ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:ID ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:integer ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:int ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:language ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:long ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:Name ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:NCName ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:negativeInteger ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:NMTOKENS ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:NMTOKEN ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:nonNegativeInteger ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:nonPositiveInteger ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:normalizedString ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:positiveInteger ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:QName ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:short ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:string ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:time ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:token ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:unsignedByte ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:unsignedInt ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:unsignedLong ähnelt.
Sucht eine lokalisierte Zeichenfolge, die xs:unsignedShort ähnelt.
Extension class which provides an empty lookup table
The type of the key.
The type of the element.
Gets the empty lookup table instance.
This interface is defined for all CAEXObjects to which a split point can be assigned. SplitPoints are
allowed on and .
This is the basic interface for an AML service. This interface has to be implemented
by any AML service
This is a special interface for an AML service, which uses a registry to store data about an XML Document.
Removes the document from the internal registry of the service.
The XML document.
Interface defined for services, which support automatic updates of cross references between AutomationML objects.
Updates are executed, when a referenced object changes its identification (its Name or its ID).
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.
Occurs when any reference has been updated.
Event arguments used to inform about update events in the service.
Initializes a new instance of the class.
The referenced element.
The reference.
Initializes a new instance of the class.
The referenced element.
The reference.
The updated new value for the reference
Gets the updated reference.
Gets the updated new value (used in changing event notifications, if the reference has not updated).
Gets the referenced element which is triggered by the update
This interface is used to query references to CAEXObjects like references using the ID
of objects or references using the CAEXPath of objects like RoleClass or InterfaceClass
objects.
Gets the CAEX object which owns the reference.
Gets the name of the reference attribute which contains the value of the reference.
To get or set the attribute value the
an methods can be used.
Gets the reference attribute value.
This service interface defines methods to resolve external references of an AutomationML document.
If references are resolved, queries will be able to find referenced objects. Be aware, that
the resolved documents will not be merged and the references, containing an alias will not be changed.
Loads the external reference in a new CAEXDocument. The new CAEXDocument is a separate document and no libraries
are merged to the current document.
This Method doesn't change any references, which use the alias of this
external reference. Use the service to achieve this.
the external reference
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 if it is already resolved. If the reference has not been resolved
it is resolved.
The CAEX document.
The path.
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 ExternalRefrence objects.
An enumeration of all resolved documents.
The Query service provides methods to query relations modeled in an AutomationML document. The AMLEngine provides
a default query service based on Linq (System.Xml.Linq). To get a better performance for queries, users can
register a Lookup service which also implements this query interface but uses dictionary based queries.
If ExternalReferences should be queried too, a service should be
registered.
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.
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.
Gets all the elements which are descendants of the provided CAEX object 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.
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.
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.
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.
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.
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
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
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
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
Tries to locate a CAEX object from the specified ID.
If the ID 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 identifier.
if set to true tries to resolve an alias reference with an ExternalReferenceResolver
service.
The CAEX object if it is found; otherwise null.
Tries to locates a CAEX object from the specified CAEX - Path.
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 CAEXObject if it is found; otherwise null.
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
Returns all Mirrors of the specified InternalElement
The master.
An enumeration of mirror InternalElements.
Gets all InternalLinks that reference the specified InternalElement or SystemUnitClass.
The InternalElement or SystemUnitClass.
a collection of InternalLinks.
Gets all InternalLinks that reference the specified ExternalInterface.
The ExternalInterface.
a collection of InternalLinks.
Determines whether the specified InternalElement is referenced by other InternalElement
objects called 'Mirrors'.
The element.
true if the specified element is a 'Master'-InternalElement; otherwise, false.
Determines whether the specified ExternalInterface is referenced by other ExternalInterface
objects called 'Mirrors'.
The element.
true if the specified element is a 'Master'-ExternalInterface; otherwise, false.
Determines whether the specified AttributeType is referenced by other AttributeType
objects called 'Mirrors'.
The attribute type
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.
This service interface is used to get statistic data from a CAEX document.
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 AttributeType objects and returns the result.
The CAEX file.
Total number of all AttributeTypes
Counts all AttributeType reference 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 objects and returns the result.
The CAEX file.
Total number of all RoleClasses
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
This interface 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 AML Engine will
automatically call this service for a unique name generation whenever a new element is added
to the sequence which requires a unique name for its members.
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 a new default name for the generation of unique names for the specified element.
The CAEX Tag name defining the elements which should get the default.
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
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
This interface defines properties for a validation result, generated for a single XML element.
The validation results for XML elements of a CAEX document are generated by the
service.
Gets the element which has been validated.
Gets information about the result of a repair operation for one element.
Gets information about the validation of one element.
This service interface is defined for the validation of an AML document. Additionally the
service can also be used to repair specific invalid properties in a document and to automatically
updated references to objects if the source changes.
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
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
This service interface is defined for the validation of an AML document. The type parameter
of this generic interface defined the validation result type.
The type of the validation result
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 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. 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.
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 for each validation issue.
This interface defines methods for a merge service. A merge service can merge
ExternalReferences into an AML document.
Merges the defined ExternalReference into the provided CAEXDocument. The source is loaded from the file path in the
external reference.
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
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
This interface defines the service interface for a split service. A split service
is able to split one into multiple files using split points.
Removes the split point for the provided CAEX object.
The CAEX object.
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 name used to define the ExternalReference.
The file path to the saved Split parts.
The CAEX document containing the split parts.
Splits the specified document on only the specified split point. The
created library is 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 this SplitPoints any more.
The document.
The split point defining the split content.
The alias name used to define the ExternalReference.
The file path to the saved Split parts.
The CAEX document containing the splitted part.
Gets a collection of all split points for the provided document.
The document.
all split points for this document.
This interface class defines a service interface for a schema transformation 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
Raised from the ShemaTransform service when a transformation has ended.
Raised from the ShemaTransform service when a transformation has started.
Event arguments for schema transformation events
Initializes a new instance of the class.
The source document.
The target schema.
Gets the source document.
Gets or sets the target document.
Gets the target schema.
The UndoRedo service supports undo and redo of all changes made to a CAEXDocument.
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 the specified document; otherwise, false.
Determines, if the service can undo a command
The document.
true if this instance can undo the specified document; otherwise, false.
Clears the undo and redo stacks.
The document.
Ends the current transaction.
The document.
If the transaction ended
Gets the date of the most recently executed command for the specified document.
The document.
if set to true the date of the last undo operation is returned;
otherwise the date of the last redo operation.
Request to not record changes of the specified document. If the recording of document changes is
paused the and methods can not be applied.
The document.
A new command is pushed on the undo stack of this service.
The command.
Redo the most recently operation, which was undone
The document.
Gets all command names of the actions in the redo stack for the provided CAEX document.
The document.
List of command names
Request to resume recording changes of the specified document.
The document.
Undo of the last operation
The document.
Gets all command names of the actions in the undo stack for the provided CAEX document.
The document.
List of command names
This class is used in queries to provide information about objects, which contain references to other objects.
Initializes a new instance of the class.
The element.
Name of the reference attribute.
Gets the CAEX object which contains the reference.
Gets the XML element, which contains the reference.
Gets the name of the reference attribute which contains the value of the reference.
To get or set the attribute value for the attribute with this name
the
and methods can be used.
Gets the reference attribute value.
This class supports the interpretation of the queryResult table which is the result of some queries, defined in
Gets the CAEX objects from the query result.
The queryResult.
An enumeration of all CAEX objects in the query result.
Gets all the elements which are identifiable by a CAEX path. Elements having the same path are grouped together.
Use this method to validate the existence of not unique CAEXPaths.
The document.
Groups of elements which are identifiable by a CAEX path.
Gets all the elements with an alias reference. Elements referencing the same Alias are grouped together.
Use this method to validate the existence of referenced externals.
The document.
group of elements with Alias references. The Alias part of the CAEXPath is used as a group key.
Gets all the elements with a path reference. Elements referencing the same path are grouped together.
Use this method to validate the existence of referenced classes.
The document.
group of elements with path references. The CAEXPath is used as a group key.
Gets all the elements with identifier references. Elements referencing the same ID are grouped together.
Use this method to validate the existence of referenced IDs.
The document.
group of elements with ID references. The ID is used as a group key.
Gets all the elements with IDs. Elements using the same ID are grouped together.
Use this method to validate the uniqueness of IDs.
The document.
group of elements with IDs. The ID is used as a group key.
Gets all the elements with a name reference. Elements referencing the same name are grouped together.
Use this method to validate the existence of referenced elements.
The document.
group of elements with path references. The CAEXPath is used as a group key.
Gets all InternalElement objects from the document which are masters.
The document.
An enumeration of all InternalElement objects which are InternalElement master objects.
Gets all InternalElement objects from the document which are mirrors.
The document.
An enumeration of all InternalElement mirror objects.
Gets the CAEX objects of the specified type from the query result.
Type of the required CAEX object.
The queryResult.
An enumeration of all CAEX objects of the specified type in the query result.
Gets alls the elements from the document which use the provided Alias in a reference
The document.
The Alias.
A collection of elements which use the provided Alias in a reference
Gets alls the elements from the document which have a reference to the provided Path.
The document.
The path.
a collection of elements which have a reference to the provided Path
Gets alls the elements from the document which have a reference to the provided ID.
The document.
The identifier.
a collection of elements which have a reference to the provided ID
Returns all InternalElements and SystemUnitClasses in the defined Document, which are related to others
via InternalLinks.
the Document
A collection of related SystemUnitClass objects
Gets the ExternalInterface objects from the query result.
The queryResult.
An enumeration of all ExternalInterface objects in the query result.
Returns all Mirrors of the specified InternalElement.
The master.
An enumeration of mirror InternalElements.
Gets the InternalElement objects from the query result.
The queryResult.
An enumeration of all InternalElement objects in the query result.
Gets the InternalLink objects from the query result.
The queryResult.
An enumeration of all InternalLink objects in the query result.
Gets all InternalLink referencing the provided SystemUnitClass object.
The SystemUnitClass object.
An enumeration of all InternalLink objects referencing the provided SystemUnitClass.
Gets all InternalLinks that reference the specified ExternalInterface.
The ExternalInterface.
a collection of InternalLinks.
Gets all the references with the provided name from the query result.
The queryResult.
The name.
An enumeration of all references with the provided name in the query result.
This class defines the default query service for a .
The query methods of this service are based on System.Xml.Linq and System.Xml.XPath.
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.
The CAEX object.
Gets all classes which have references to the provided CAEX object and their referencing classes (recursive)
The CAEX object.
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.
Groups of elements which are identifiable by a CAEX path.
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.
The CAEX object.
If parameter is set, only elements with the given element Name are considered.
group of elements with Alias references. The Alias part of the CAEXPath is used as a group 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.
Gets all the elements which are descendants of the provided CAEX object 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.
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 group key.
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.
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.
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 which are
instances of the Interface class defined by the provided .
The document.
The CAEX ClassPath of the InterfaceClassType
Optional parameter. If set only descendants of this object are searched.
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.
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
Gets alls the elements which are descendants of the provided CAEX object
which have a reference to the provided CAEXPath.
The CAEX object.
The path.
If parameter is set, only elements with the given element Name are considered.
a collection of elements 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
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
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
Finds the first element in the defined document, which ID is equal to the provided ID.
The XDocument
The ID to look at
if set to true tries to resolve an alias reference with an ExternalReferenceResolver
service.
the CAEXObject or null, if no element with the specified ID could be found.
doc
This method tries to find the first element in the defined document, which CAEXPath is equal to the provided path.
If the path uses an alias to reference
an object in a external document it is tried to locate an service. If
such a service
is registered, the CAEXObject is tried to be found in the resolved document.
The XDocument
The CAEXPath to look at
if set to true [resolve alias].
the CAEXObject or null, if no element with the specified path could be found.
caexDocument
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
Returns all Mirrors of the specified InternalElement
The master.
An enumeration of mirror InternalElements
Gets all InternalLink objects referencing the provided SystemUnitClass object via an external interface attached to
the SystemUnitClass.
The SystemUnitClass object
An enumeration of InternalLinks.
Gets all InternalLinks that reference the specified ExternalInterface.
The ExternalInterface.
a collection of InternalLinks.
Determines whether the specified InternalElement is referenced by other InternalElement
objects called 'Mirrors'.
The element.
true if the specified element is a 'Master'-InternalElement; otherwise, false.
Determines whether the specified ExternalInterface is referenced by other ExternalInterface
objects called 'Mirrors'.
The element.
true if the specified element is a 'Master'-ExternalInterface; otherwise, false.
Determines whether the specified attribute is a master attribute.
The attribute.
true if the specified attribute is master; otherwise, false.
Determines whether the specified CAEX object is referenced.
The CAEX object.
true if the specified CAEX object is referenced; otherwise, false.
This class provides methods to register and locate services which can support the processing
of AML documents. There can always exist only one service of the same type at one time. The
available service types are recognized to be assignable to the interface.
Initializes the class and registers the default service.
Gets the registered Query-Service. If no Query-Service is registered, a default Query-Service - which is based on
LinqToXml
- is returned. As an alternative, a Query-Service based on Dictionaries for keyed access is available.
The dictionary based service has to be registered to be used. If no such service has been registered, the default
query
service is returned. The actual registered Query-Service is located by the engine and used for all queries.
Gets the registered UndoRedo-Service. The actual registered UndoRedo-Service is located by the engine
and used to push executed commands on the undo stack. If no UndoRedo-Service is registered executed
commands are not pushed and cannot be undone.
Gets the registered UniqueName-Service.The actual registered UniqueName-Service is located by the engine
to automatically assign unique names to CAEXObjects if they are inserted into a sequence. If no
UniqueName-Service is registered no names are generated.
Gets the automatic update service.
Gets a service for the provided service interface
The located service.
Registers a service which will be locatable
The service type.
The service.
Unregisters a service of this type which will afterwards no more locatable
Class AMLSchemaManager extends the XMLSchemaManager. Methods which create
new objects are overridden to add required properties and values to some
objects which is not defined in the underlying CAEX schema but in the
AML standard.
Defines the resource path of the assembly
Constructor for schema manager
Schema stream
Namespace path
The specified node is checked, and made to an AML object, if additional
properties and values are defined for this node.
The XML node.
The node gets a UUID
Method overrides the .
The created node is made to an AML node.
Name of the child's parent
Name of the child
optional parameter to define, that not only required attributes, but all
possible attributes should be created.
The created XML node.
Sets the schema version.
The node.
Singleton Class: Schema manager for CAEX-Schema Version 2.15 used in AutomationML
Singleton private constructor reads the schema from an embedded resource stream
Sets the schema version.
The node.
Called for newly creates XML-Elements to make it an AutomationML object. Here you can add required properties
and dependencies which are not defined in the CAEX-Schema
creates the singleton instance of the Schema manager
Instance of AMLSchemaManager2_15
Gets the static default SchemaManager Instance for the CAEX-Schema Version 2.15 used in AutomationML
SchemaLocation attribute defining noNamespaceSchemaLocation
This method will adjust the provided CAEXFile element to this schema instance.
The method can be used in a schema transformation.
Adjusts the name of the provided XML element and the names of the elements attributes to schema.
The element.
Extracts the schema from the embedded resource and writes it to a file in the specified folder
The folder path.
Returns the name of the created file or null,
if user has no access rights to the folder.
If no schema location is set in the specified root, a new schema location with a relative path
to a schema file is defined. The schema file is extracted from an embedded resource an copied
to the specified folderPath.
The Document root
Folder Path for schema extraction
Singleton Class: Schema manager for CAEX-Schema Version 3.0 used in AutomationML
Singleton private constructor reads the schema from an embedded resource stream
Sets the schema version.
The node.
Called for newly creates XML-Elements to make it an AutomationML object. Here you can add required properties
and dependencies which are not defined in the CAEX-Schema
Gets the Namespace defined for CAEX Version 3.0. The Namespace name is
http://www.dke.de/CAEX.
Gets the static default SchemaManager Instance for the CAEX-Schema Version 3.0 used in AutomationML
Gets the SchemaLocation attribute
This method will adjust the provided CAEXFile element to this schema instance.
The method can be used in a schema transformation.
This method will adjust the name of the provided element to this schema instance.
The method can be used in a schema transformation to add the
to the element's name.
The XML element.
Extracts the schema from the embedded resource and writes it to a file in the specified folder
Returns the name of the created file or null, if user has no access rights to the folder.
If no schema location is set in the specified root, a new schema location with a relative path
to a schema file is defined. The schema file is extracted from an embedded resource an copied
to the specified folderPath.
The Document root
Folder Path for schema extraction
The Aml.Engine.Schema Namespace contains a schema parser which is used to parse the document assigned CAEX schema.
All changes made
to a document with API methods are supported by a schema specific schema manager which assures, that all insertions
and changes are
schema conform. Currently schema managers exist for CAEX version 2.15, which is
and
CAEX version 3.0, which is . The schema managers are made public to supply
methods for schema conform
CAEX document processing capabilities to users who don't like to use the API wrapper-classes and methods.
This class defined methods and properties to access schema information for a schema element.
creates an instance for the defines schema element
The schema element.
Gets the schema elements for all attributes of this instance
Gets the names for all choices defined for this instance.
Gets the maximum occurrence.
Gets the names for all optional elements defined for this instance.
Gets the names for all required elements defined for this instance.
Gets the names for all required attributes defined for this instance.
Gets the defining schema element for this instance
Gets the names of all elements in this instance which don't provide choices
Sets the schema information for this instance and the provided namespace
Class supports the creation of schema conform xml documents for a given schema. It
can be used to create elements with all required attributes and child elements and
default values associated. Insertion of new child elements for a given parent at a
schema is supported, guaranteeing schema conform sequences and occurrences of all children.
The Dictionary of Schema Elements contains all schema elements of child's in a
parent child relationship. The Dictionary Key contains the name of the parent
(fist) and the name of the child (second)
Create an instance of the schema manager for the given schema. The Schema
is compiled and parsed
the parsed Xml-Schema
Registered schema information about an element
The p.
The c.
The information.
Gets the Schema Namespace
Gets the SchemaLocation string
Gets the actual XSD schema set
Determines if the schema element accepts values of any type.
The schema element.
true, if any types are accepted as values.
Creates a new Xml-Element with the provided content and inserts it to the provided parent according to
this schema instance.
The parent XML element.
The name of the child element.
Initial content of the child.
The created XML element.
Creates a new Xml-Element with the provided content and inserts it behind the provided sibling according to
this schema instance.
the sibling of the new added element.
the name of the new added element.
the content of the new added element.
The created XML element.
Gets the Attribute names of the specified child element of the specified parent element.
name of the child's parent
name of the child
optional parameter, defining of only required attributes
Enumeration of attribute names
Gets the Schema Elements for all attributes of the specified child element of
the specified parent element, if the defined parent child relation exists in
the xml schema. If required is set to true, only the required
attributes are returned. The default behaviour is, that all attributes -
optional and required attributes - are returned.
name of the child's parent
name of the child
optional parameter, defining of only required attributes are returned, or all attributes.
Enumeration of attribute definitions
Gets the List of Attribute value restrictions for the attribute with the
defined name. The Attribute should be an attribute of a child defined by
the given name, which exists in the defined parent child relation defined by
the parent name.
The name of the child's parent
the name of the child (owner of the attribute)
Name of the attribute.
list of restrictions for an attribute value - object type has to be
interpreted by the caller
Gets the Attribute value types for the attribute with the defined name of a
child element which belongs to the given parent. If XmlTypeCode.Item is
returned, the value type is equal to the schema internal any type.
Name of the parent.
Name of the child.
Name of the attribute.
The type code defined for the value.
Gets the type code for the schema attribute.
The schema attribute.
The XML type code.
Determines, if a child with the specified name can be added to the parent
node. The method checks the specified minimal and maximal occurrences, defined for
this relation in the xml schema.
The parent node
name of the child
true, if a child with that name can be added; false otherwise
Gets the Names for all elements, which can be added to the child which is
defined with the name of it's parent and the name of itself.
Name of the child's parent.
Name of the child
if set to true [include choice].
Enumeration of all names of possible child elements.
Gets the SchemaDefinition for all elements, which can be added to the child which is
defined with the name of it's parent and the name of itself.
Name of the child's parent.
Name of the child
if set to true [include choice].
Enumeration of all SchemaDefinitions of possible child elements.
Gets the names of all alternative child nodes, which can be added to a parent
node with the given name. The specified child itself is included. Choices only
exists, if returns true for the defined
child name.
Name of the child's parent
Name of the child
Enumeration of names, representing the possible alternatives for child elements.
Creates the attribute with the provided name if this attribute is defined in this schema instance.
The element.
Name of the attribute.
The created XML attribute.
Creates a new node with the specified child name in the given xmlDocument. The
node is created with all required attributes and elements but is not inserted
in the document tree at this point. Use
for insertion or for a combined
creation and insertion.
Name of the child's parent
Name of the child
Optional parameter to define, that not only required attributes, but all
possible attributes should be created.
The created XML element.
The Method can be overridden by specific schema managers, to add additional
properties to the created node, which can not be derived directly from the schema.
Gets the annotation from the schema element.
The schema element.
The annotation of the schema element, as it is defined in the schema.
Gets the annotation from the schema attribute element.
The schema attribute.
The annotation of the schema attribute, as it is defined in the schema.
Gets the annotation from the annotated schema element.
The schema element.
The annotation.
Determines, whether the schema element representing the parent - child relation
has a content, which is restricted to a choice of elements. If onlyOne is set
to true, there can not be more than one element added to the element
Name of the parent.
Name of the child.
if set to true [only one].
true if the specified parent to child relation is restricted to a choice of elements; otherwise,
false.
Determines, if the schema defines a sequence of simple elements for the provided parent child combination.
Name of the parent.
Name of the child.
if set to true [only one].
true if the provided parent child combination consists of a sequence of simple elements; otherwise,
false.
Inserts an existing child node into the collection of child nodes of the
specified parent node.
The parent node
The child node
true, if the node has been inserted; false otherwise.
Creates a new node with the defined child name and inserts the newly created
child into the child nodes collection of the specified parent. Optional, it
can be specified, if the new node should get all attributes, which are defined
in the schema, or only those attributes which are required (default behaviour).
The Method can be overridden by specific schema managers, to add additional
properties to the created node, which can not be derived directly from the schema.
The parent node for insertion.
Name of the child
optional parameter to specify, that all attributes should be added
automatically to the created node.
the created and inserted node.
Determines, whether the occurrence of a child with that name under a parent
with that name is part of a choice (means that there are other exclusive
alternatives for child nodes). If not, the child is defined in a sequence. For
choices, the names of alternatives are available with .
Name of the child's parent
Name of the child
true if the defining collection is a choice; otherwise the collection
of child's is defined as a sequence.
Determines if the schema defines a choice of only one element for the provided schema element.
The schema element.
true if the specified schema element defines a choice of only one element; otherwise, false.
Determines, if the Attribute with the provided is defined for this element
Name of the parent.
Name of the child.
Name of the attribute.
true if the attribute name is an allowed attribute for the child; otherwise, false.
Determines, if the parent is allowed to contain a child with the provided name according to this schema instance.
The parent.
Name of the child.
true if the parent can contain a child element with that name; otherwise, false.
Determines, if the Attribute with the provided name is a required attribute when added to the parent child
combination.
Name of the parent.
Name of the child.
Name of the attribute.
true if the attribute is a required attribute in this parent child combination; otherwise, false.
Returned the maximal occurrence for child nodes with the specified name under a
parent node with the specified name. For unbounded occurrences, the returned
value is . If the occurrence is 0, the
existence of a child with that name under a parent with that name is not allowed.
Name of the child's parent
Name of the child
The maximal occurrence of children with the defined name.
The minimal occurrence for child node with the defined name under a parent node
with the defined name. If 0 is returned, the existence of a child node with
that node is optional. If 1 is returned, the existence is mandatory.
Name of the child's parent
Name of the child
0 for optional occurrence or 1 for mandatory occurrence. A value
of -1 indicates that no occurrences are allowed at all.
Gets the schema information for the provided parent child combination.
name of the parent element
name of the child element
returns null, if no schema information exists for the parent child combination.
This method is a utility method for insert operations. The method will return
the node which should be used as the sibling before a newly added child with
the defined name. The Insertion has to be done after the returned node or
prepended to the parent itself, if no node null is returned.
The parent node
Name of the child.
The child node of the parent, which should be the sibling before a newly added
node, or null, if no node exists.
Validates a document if it is conform to this schema instance.
The source.
The messages.
true, if the validation was without errors; false, otherwise.
Returns the type code for a value that may be associated with the defined child.
Name of the parent
Name of the child
the XML type code.
If no schema location is set in the specified root, a new schema location with a relative path
to a schema file is defined. The schema file is extracted from an embedded resource an copied
to the specified folderPath.
The Document root
Folder Path for schema extraction
Parsing the schema to populate the elements dictionary.
This static class provides extension methods for the interpretation of .
Gets the CLR-Type for the provided typeCode
Source
CLR-Type
Gets the from the W3C XSD schema type string.
W3C XSD schema type, defined as xs:..., like xs:double and others.
the XmlTypeCode. If the schemaType is not recognized,
is returned.
Returns the default value for an XmlTypeCode. The data type of the returned object is the associated CLR type
of the provided type code. The CLR type is available with the method.
the type code
The default CLR type value, according to the provided type code.
Returns the default value for XmlTypeCode
Source
The default value, according to the provided type code.
Converts the default value for the specified typeCode to a valid XML value string
The
The default XML value, according to the provided type code.
Interface for a XDocument Wrapper
Gets the XDocument.
Saves the document to stream.
if set to true pretty print for the document is enabled.
The document stream.
XML related properties of a wrapped instance
Gets the XDocument containing the XML node of this object.
If the object has not been inserted into a document, the XDocument is null.
Direct manipulations of the XML document are not monitored by the AML engine.
Determines, if this instance is wrapped around an existing XML node
Get the XML node of this instance. Direct manipulations of the XML node are not monitored by the AML engine.
Gets the XML parent node of this instance. Direct manipulations of the XML node are not monitored by the AML
engine.
Gets the Schema Tag name of this instance.
This class is an abstract base class for the wrapping of an XDocument, to provide additional schema specific
document processing utilities. This class is used by the AMLEngine to provide a CAEXDocument. Other XML Engines,
supporting different schemas (PLCopen, COLLADA) could also use this base class.
Initializes a new instance of the class.
The x document.
Gets the underlying XDocument
Gets the XDocument wrapper which contains the specified XML node. If the node is not contained in an XML document,
no document is returned.
The XML node.
The XDocument wrapper, containing the XML node.
XML node is null.
Gets the XDocument wrapper which contains the specified object. If the object has not been inserted into a
document,
no document is returned.
The XNodeWrapper object.
The XDocument wrapper .
Saves the document to the specified file path.
The file path to save the document to.
Set to true, if pretty printing is desired.
filename
Saves the document to the specified file path.
Set to true, if pretty printing is desired
The stream, containing the document content.
Gets the correct XName for the provided element name (Tag name).The XName contains a namespace,
if the assigned schema requires a namespace. If no namespace is defined for the assigned schema,
no namespace is added to the XName. The XName has to be used for all Xml.Linq queries,
used to access objects with the element name.
A Tag name which should be transformed to an XName.
The generated XName.
tag name
Unloads this document instance.
This method can be used to unload this instance of the CAEXDocument and remove
it from all current tables of all registered services. The AMLEngine manages weak
references to each created CAEXDocument instance, so explicit unload is
normally not required.
Returns the CAEX ID of a the XElement if such an Attribute exists.
The XElement.
The Name or string.empty if the ID-Attribute is missing
Returns the CAEX Name of a the XElement if such an Attribute exists.
The XElement.
The Name or string.empty if the Name-Attribute is missing
Returns the CAEX Name of a parent XElement if such an Attribute exists.
The XElement.
The Name or string.empty if the Parent or the Name-Attribute is missing
Returns the CAEX path of this object. Examples: "plant/unit/tank" or GUID:interface. If
the full hierarchical Path is required, use the method HierarchyPath
instead which delivers the full node path.
The element.
For classes, it returns the XML full Node Path. For Interface Instances, it
returns GUID:InterfaceName if your document is based on CAEX 2.15. For CAEX 3.0 new
Path specifications exist concerning Instances (only the ID is used) and Attributes.
Attribute Path are combined using the parents CAEX Path followed by the Attribute Name.
Gets the value of the element with the defined name as a DateTime Value
The owner.
Name of the element.
DateTime value of the element
owner
Getting the full path from document root to the specified XmlNode to build a CAEXPath.
As name of an XmlNode is the value of the contained attribute "name" taken.
Hierarchies are separated via the path separator (slash '/').
The name of the document root element CAEXFile is not contained in the path.
The XmlNode to get the full path for
The full path from the document root element to the given XmlNode.
Getting the full path from document root to the specified XmlNode.
As name of an XmlNode is the value of the contained attribute "name" taken.
Hierarchies are separated via the path separator (slash '/').
The name of the document root element CAEXFile is not contained in the path.
The XmlNode to get the full path for
The full path from the document root element to the given XmlNode.
Determines whether Attribute is an inheritance attribute.
The XML attribute.
true if the attribute is an inheritance attribute; otherwise, false.
Getting all CAEX path parts from document root to the specified XmlNode.
As name of an XmlNode is the value of the contained attribute "name" taken.
Hierarchies are separated via the path separator (slash '/').
The name of the document root element CAEXFile is not contained in the path.
The XmlNode to get the full path for
if set to true separators are added to the path part names.
The full path from the document root element to the given XmlNode stored in an array of path part names.
The path contains values of the "name" attribute of the XmlNodes.
xmlNode
Getting all CAEX path parts from document root to the specified XmlNode.
As name of an XmlNode is the value of the contained attribute "name" taken.
Hierarchies are separated via the path separator (slash '/').
The name of the document root element CAEXFile is not contained in the path.
The XmlNode to get the full path for
if set to true separators are added to the path part names.
The full path from the document root element to the given XmlNode stored in an array of path part names.
The path contains values of the "name" attribute of the XmlNodes.
xmlNode
Getting the path from the defined root to the specified XmlNode. As name of an XmlNode is the value of the
contained attribute "name" taken.
Hierarchies are separated via the path separator (slash '/').
The name of the root element is not contained in the path.
The XmlNode to get the full path for
The root.
The full path from the root element to the given XmlNode. The path contains of values of the "name" attribute of
the XmlNodes. If no
such attribute exists in the current node, the xml tag name is used instead.
xmlNode
Gets the XML node with the provided elementName from the specified owner and returns its value
The owner.
Name of the element.
The node value as a string.
owner
Gets the value of a CAEX 'Value' element.
The XML node.
The value of the CAEX 'Value' element.
Gets the MasterID of a potential mirror ExternalInterface
The XML node.
The ID of the master ExternalInterface.
Get the IDReferences if this is an InterfaceIDMapping object.
The XML node.
Enumeration of the ID-references in the InterfaceIDMapping. The returned value tuple contains the
name of the attribute and the attribute value.
Get the IDReferences if this is an InternalLink.
The XML node.
Enumeration of the ID-references in an InternalLink. The returned value tuple contains the
name of the attribute and the attribute value.
Gets the MasterID of a potential mirror InternalElement.
The XML node.
The ID of the master InternalElement. It is not checked, if this is a GUID.
Gets the InternalElementID of a potential mirror Attribute.
The XML node.
The ID of the master InternalElement to which the Attribute belongs. It is not checked, if this is a GUID.
Get the ID of the Master InterfaceClass if this is a Mirror.
The element.
System.String.
Get the ID of the Master InternalElement if this is a Mirror.
The element.
System.String.
Get the RoleReference if this XML node is a RoleRequirement or a SupportedRoleClass
The XML node.
The value of the role reference attribute of the XML node
Sets a date time value for a child-element with the defined name of the defined owner
Owner of the element with the defined name
Name of the child element
DateTime value
owner
is not a valid element
Sets a string value for a child-element with the defined name of the defined owner
Owner of the element with the defined name
Name of the child element
string value
Get the SystemUnitClass reference if this is an InternalElement
.
The element.
System.String.
Gets the base class for the specified CAEX class, if a class to class relation exists and can
be resolved in the current document.
The CAEX class.
The base class for the specified CAEX class.
Gets the reference (Inheritance) hierarchy including the provided CAEX class in an ordered sequence of ancestors.
The CAEX class XML node.
Enumeration of base classes.
Determines whether the specified elementWithDerivedAttributes has a child Element, which has the same ElementName
and AttributeValue for the named
Attribute as the specified elementWithAttribute
The element With Attribute which is tested for derivations.
The element With Derived Attributes.
Name of the element.
Name of the attribute.
true if the specified attribute element is derived; otherwise, false.
Determines whether the specified element is a descendant of the ancestor.
The element.
The tested ancestor.
true if the specified element is a descendant of the ancestor; otherwise, false.
Determines whether this instance is overridden. This can occur in inheritance relations and facet relations.
In a facet relation the faceted element has to be detected. In an inheritance relation, the inheritance
hierarchy has to be detected.
The XML node.
true if the specified node is overridden; otherwise, false.
Determines whether this XML node represents an overridden CAEX object and returns the overridden elements.
This can occur in inheritance relations and facet relations.
In a facet relation the faceted element has to be detected. In an inheritance relation, the inheritance
hierarchy has to be detected.
The XML node.
The attribute value, used to define the overridden object.
the collection of overridden elements if the specified node is overridden; otherwise,
Enumerable.Empty.
Gets the name of the path, defining a role reference for the defined mapping element.
The mapping element.
The path to the RoleClass.
This method is designed for CAEX 2.15 where no direct association between
a RoleClass and a mapping element exists.
Gets the CAEX path of a referenced SystemUnitClass for a Mapping element
The mapping element.
The path to the SystemUnitClass.
Gets the referenced element of this mapping Attribute. The result is an Attribute for Attribute-Mappings or an
Interface for
Interface-Mappings. If no reference is found, the result is null.
The mapping.
The referenced element.
Gets the RoleRequirement element to which this mapping attribute is assigned.
The mapping.
The RoleRequirement element or null, if it doesn't exist.
Gets the RoleReference for a mapping.
The mapping attribute.
XElement.
Gets the SystemUnitClass element to which this mapping attribute is assigned.
The mapping.
The SystemUnitClass element or null, if it doesn't exist.
Gets the SystemUnitClass-Reference for a mapping.
The mapping attribute.
XElement.
Class, defining extension methods, related to the interpretation of the Schema version of a CAEX file.
Gets the correct CAEX schema version for the specified XML node
The XML node.
The CAEX schema version.
Gets the names of the Attributes of the provided node, which can contain an ID reference.
The XML node.
Array of attribute names of the ID-reference attributes.
Determines, if the XML-Element is an Additional Information element
XML-Element from a CAEX-Document
true, if the XML-Element is an Additional Information element
Determines, if the XML-Element is an Attribute
XML-Element from a CAEX-Document
true, if the XML-Element is an Attribute
Determines, if the XML-Element is an Attribute (Basic or Type)
XML-Element from a CAEX-Document
true, if the XML-Element is an Attribute
Determines whether the specified element is a mirror of an Attribute.
The element.
true if the specified element is a mirror of an Attribute; otherwise, false.
Determines, if the XML-Element is an AttributeNameMapping
XML-Element from a CAEX-Document
true, if the XML-Element is an AttributeNameMapping
Determines, if the XML-Element is an AttributeType
XML-Element from a CAEX-Document
true, if the XML-Element is an AttributeType
Determines whether the Element is a CAEXClass: RoleClass, SystemUnitClass
or InterfaceClass
The element.
if library types should be handled as classes
true if the specified element is a CAEXClass; otherwise, false.
Determines whether the XML node is an element with an ID.
The node.
true if the specified node is an element with identifier reference; otherwise, false.
Determines whether the XML node is an element with an ID reference.
The node.
true if the specified node is an element with identifier reference; otherwise, false.
Determines whether the XML node is an element with an ID reference to the provided ID
The node.
The ID
true if the specified node is an element with identifier reference; otherwise, false.
Determines whether the XML node is an element which references another element using the name of the element
The node.
true if the specified node is an element which references another element using the name of the element;
otherwise, false.
Determines whether the XML node is an element with a path reference
The node.
true if the specified node is an element with path reference; otherwise, false.
Determines whether the XML node is an element with a path reference to the provided path
The node.
The Path
true if the specified node is an element with this path reference; otherwise, false.
Determines whether the specified element is an ExternalInterface.
The element.
true if the specified element is an ExternalInterface; otherwise, false.
Determines whether the specified element is an ExternalReference element
The element.
true if the specified element is an ExternalReference; otherwise, false.
Determines whether this instance is an AMLFacet.
The node.
true if the specified node is a facet; otherwise, false.
Determines whether the specified element is a mirror of an ExternalInterface.
The element.
true if the specified element is a mirror of an ExternalInterface; otherwise, false.
Determines whether the specified element is a mirror of an InternalElement.
The element.
true if the specified element is a mirror of an InternalElement; otherwise, false.
Determines whether the specified element is an InterfaceClass.
The XML node.
true if the specified element is an InterfaceClass; otherwise, false.
Determines whether the specified element is an InterfaceClass.
The XML node.
true if the specified element is an InstanceHierarchy; otherwise, false.
Determines whether the specified element is an InterfaceIDMapping.
The XML node.
true if the specified element is an InterfaceIDMapping; otherwise, false.
Determines whether the specified element is an InterfaceNameMapping.
The XML node.
true if the specified element is an InterfaceNameMapping; otherwise, false.
Determines whether the specified element is an InternalElement.
The XML node.
true if the specified element is an InternalElement; otherwise, false.
Determines whether the specified element is an AttributeTypeLib.
The XML node.
true if the specified element is an AttributeTypeLibrary; otherwise, false.
Determines whether the specified element is a SystemUnitClassLib.
The XML node.
true if the specified element is an SystemUnitClassLib; otherwise, false.
Determines whether the specified element is a RoleClassLib.
The XML node.
true if the specified element is a RoleClassLib; otherwise, false.
Determines whether the specified element is a InterfaceClassLib.
The XML node.
true if the specified element is a InterfaceClassLib; otherwise, false.
Determines whether the specified element is an InternalLink.
The XML node.
true if the specified element is an InternalLink; otherwise, false.
Determines whether the specified XML object is an InternalLink attribute.
The XML attribute object.
true if the specified XML object is an InternalLink attribute; otherwise, false.
Determines whether the specified element is a CAEX Library.
The XML node.
true if the specified element is a Library; otherwise, false.
Determines whether the specified element defines a Mapping which means, the element is
either a , a or
a .
The XML node.
true if the specified element defines a Mapping; otherwise, false.
Determines whether the Element can define a mirror object.
The element.
true if whether the Element can define a mirror object; otherwise, false.
Determines whether the specified element is a RoleClass .
The XML node.
true if the specified element is a RoleClass; otherwise, false.
Determines whether the specified element is a RoleRequirement .
The XML node.
true if the specified element is a RoleRequirement; otherwise, false.
Determines whether the specified element is a SupportedRoleClass .
The XML node.
true if the specified element is a SupportedRoleClass; otherwise, false.
Determines whether the specified element is a SystemUnitClass .
The XML node.
true if the specified element is a SystemUnitClass; otherwise, false.
Gets the names of the Attributes of the provided node, which can contain an ID reference.
The XML node.
An array of attribute names, which are used to reference objects using the objects name.
Gets the name of the path reference attribute of the specified element.
The XML node.
For an the result is .
For all other classes, the result is .
Gets the names of the Attributes of the provided XML node, which can contain a path reference.
The XML node.
An array of attribute names, which can contain a path reference.
Gets the element which is referenced by the specified attribute.
The attribute, defining the reference.
The referenced element
Gets the schema manager, used to manage any modifications of the provided XML node.
The XML node.
The schema manager, used to manage any modifications of the provided XML node.
Gets the correct XName for the provided CAEX Tag name. The XName may contain a namespace, according to
the default namespace of the provided node.
A Node used to get the namespace information
A CAEX Tag name which should be transformed to an XName.
The XName build from the provided tag name.
This class defines extension methods for XElements. These methods are useful, if any XElement should be queried
for some CAEX properties without using a CAEXWrapper for this element.
Wraps the provided Xml-Element into an element specific CAEXWrapper object.
the Xml-Element
The specific CAEXWrapper object if the element is a CAEX element; otherwise null
Gets the elements with the specified CAEX element name (Tag-name) from the provided caexClass and all its
base classes in the inheritance tree.
If the EqualityComparer is specified, only those elements of a base class are added which are unequal to any
element in the derived class. The returned collection contains also those inherited elements, which are
marked as deleted. Deletion is possible, when an element is overridden.
a derived class
The CAEX element name (Tag-name)
Equality comparer to exclude equal elements of a base class
All inherited elements including those, which are marked as deleted.
Gets the elements with the specified CAEX element name (Tag-name) from the provided caexClass and all its
base classes in the inheritance tree.
If the EqualityComparer is specified, only those elements of a base class are added which are unequal to any
element in the derived class. The returned collection contains only inherited elements, which are
not marked as deleted. Deletion is possible, when an element is overridden.
a derived class
The CAEX element name (Tag-name)
Equality comparer to exclude equal elements of a base class
All inherited elements not including those, which are marked as deleted.
Gets the first element of the provided parent
The parent.
First element if one exists; otherwise null.
Gets the first element of the provided parent with the provided local name
The parent.
The local name of the child element.
First element if one exists; otherwise null.
Tries to get the element from the owner with the specified element name. If no such element
could be found it is appended as a new child with the provided content.
The owner of the element.
The element name.
Some content, which is added to the element, if it is created.
if true, element has been deleted when content is null and element is not required.
the element
owner
Gets the Interface from the provided InternalLink Attribute value.
The internal link attribute.
The XML node of the ExternalInterface.
internalLinkAttribute
Gets the Master Attribute from the provided RefAttributeType value.
The attribute reference.
The XML node of the Attribute.
refAttribute
Gets the last child element of the defined parent
The parent.
the last child or null, if no child exists.
Gets the last child element of the defined parent with the defined local name
The parent.
the name of the child node to look at.
the last child or null, if no child exists with this name.