<?xml version="1.0"?>
<doc>
    <assembly>
        <name>AML.Engine</name>
    </assembly>
    <members>
        <member name="T:Aml.Engine.Adapter.AMLEngineAdapter">
            <summary>
                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.
            </summary>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.AllElementsWithInternalLinks(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Getting an enumerable of all Elements with InternalLinks of all
                InstanceHierarchies and SystemUnitClassLibraries in the CAEXFile. The
                enumeration may return InternalElements or SystemUnitClass elements.
            </summary>
            <returns>An IEnumerable with SystemUnitClasses is returned.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.AllInternalElementsWithInternalLinks(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Getting an enumerable of InternalElements with InternalLinks of all
                InstanceHierarchies and SystemUnitClassLibraries in the CAEXFile.
            </summary>
            <returns>An IEnumerable with InternalElements is returned.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Ancestors(Aml.Engine.CAEX.SystemUnitClassType)">
            <summary>
                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.
            </summary>
            <returns>IEnumerable&lt;SystemUnitClassType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.AssignNewGUIDs(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Assigns new GUIDs to this InternalElement and all of its child InternalElements
            </summary>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.AssignNewGUIDsAndRedirectExistingInternalLinks(Aml.Engine.CAEX.SystemUnitClassType,System.Boolean)">
            <summary>
                Assigns the new GUIds  and redirect existing internal links.
            </summary>
            <remarks>
                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.
            </remarks>
            <param name="systemUnitClass">The system unit class.</param>
            <param name="includeSystemUnitClasses">if set to <c>true</c> [include system unit classes].</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.AssignNewGUIDsAndRedirectExistingInternalLinksAndMirrorObjects(Aml.Engine.CAEX.SystemUnitClassType,System.Boolean)">
            <summary>
                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.
            </summary>
            <remarks>
                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.
            </remarks>
            <param name="systemUnitClass">The system unit class.</param>
            <param name="includeSystemUnitClasses">if set to <c>true</c> [include system unit classes].</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Attributes(Aml.Engine.CAEX.IObjectWithAttributes)">
            <summary>
                Enumeration Method for direct Children of Type <see cref="T:Aml.Engine.CAEX.AttributeType" />
            </summary>
            <returns>IEnumerable&lt;AttributeType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.clone(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                <see cref="M:Aml.Engine.CAEX.CAEXWrapper.Copy(System.Boolean,System.Boolean,System.Boolean)" />
            </summary>
            <returns>A clone copy of this object</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.CloneNode(Aml.Engine.CAEX.CAEXBasicObject,System.Boolean,System.Boolean)">
            <summary>
                Clones the node.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="deepClone">if set to <c>true</c> [deep clone].</param>
            <param name="assignNewGuidsToIEs">if set to <c>true</c> [assign new GUIDs to IEs].</param>
            <returns>
                The cloned node CAEXWrapper.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.ConsistencyCheck_ClassReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                Check if the given classPath is a valid path to an existent class in the AML file.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="classPath">The class path to check for validity.</param>
            <returns>
                True if a class at the given path exists, else false.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Create_UniqueCopy(Aml.Engine.CAEX.InternalElementType,System.Boolean)">
            <summary>
                Creates a copy with a unique ID.
            </summary>
            <param name="internalElement">The internal element.</param>
            <param name="deepClone">if set to <c>true</c> [deep clone].</param>
            <returns>
                InternalElementType.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.ExternalInterfaces(Aml.Engine.CAEX.IObjectWithExternalInterface)">
            <summary>
                Enumeration Method for direct Children of Type <see cref="T:Aml.Engine.CAEX.InterfaceClassType" />
            </summary>
            <returns>IEnumerable&lt;InterfaceClassType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.ExternalReferences(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Enumeration Method for all ExternalReferences of the CAEXFile.
            </summary>
            <returns>IEnumerable&lt;ExternalReferenceType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.findExternalInterface(Aml.Engine.CAEX.IObjectWithExternalInterface,System.String)">
            <summary>
                Searches for an ExternalInterface in this InternalElement
            </summary>
            <param name="systemUnitClass">The system unit class.</param>
            <param name="interfaceName">Name of the ExternalInterface to search for</param>
            <returns>
                An ExternalInterface of the given element with name attribute equal to interfaceName
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.findInternalElement(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                Resolve a reference to an InternalElement and return the referenced element if found.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="referenceGUID">The GUID of the InternalElement</param>
            <returns>
                The InternalElement with the specified GUID
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.GetAllElementsWithInternalLinks(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Getting a List of all Elements with InternalLinks of all
                InstanceHierarchies and SystemUnitClassLibraries in the CAEXFile. The List
                may contain InternalElements and SystemUnitClass elements.
            </summary>
            <returns>A List with InternalElements is returned.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.getAttributeField(Aml.Engine.CAEX.IObjectWithAttributes)">
            <summary>
                Get the whole attribute field containing a collection of all attributes of this object.
            </summary>
            <param name="objectWithAttributes">The object with attributes.</param>
            <returns>
                CAEX_ClassModel.MemberElement_Attribute.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.GetClassName(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Gets the name of the referenced SystemUnit class.
            </summary>
            <param name="internalElement">The InternalElement.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.GetClassName(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Gets the name of the referenced InterfaceClass.
            </summary>
            <param name="interfaceClass">The InterfaceClass.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.GetExternalInterfaces(Aml.Engine.CAEX.IObjectWithExternalInterface,System.String)">
            <summary>
                Gets the external interfaces.
            </summary>
            <returns>IEnumerable&lt;InterfaceClassType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.getLinkedObjects(Aml.Engine.CAEX.SystemUnitClassType)">
            <summary>
                Getting a List of LinkedObjects object of this SystemUnitClass containing references to the concrete referenced
                InternalElements via an InternalLink.
            </summary>
            <param name="systemUnitClass">The system unit class.</param>
            <returns>
                A list of linkedObjects for this SystemUnitClass. This list is empty if no InternalLink exists
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Name(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Get the Name of the specified object.
            </summary>
            <param name="caexObject">
                The CAEX object.
            </param>
            <returns>
                If the caexObject is of type CAEXObject, the name is returned; otherwise <c>string.Empty</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.GetParent(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                This method returns the parent CAEXBasicObject of the current CAEXBasicObject.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <param name="obj">the CAEX Basic Object</param>
            <returns>
                the parent CAEXBasicObject
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.getReferencedClass(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                Getting the XML Node for a class path.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="referencedClassPath">The full path to the referenced class. Hierarchies are separated via slash "/"</param>
            <returns>
                The XML Node of the desired class, or null if none found. Use FindFastByID for speed optimizations.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.getReferencedGUID(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                Parsing a string of form GUID:Interface and returning the GUID
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="reference">A reference in form GUID:InterfaceClass</param>
            <returns>
                The GUID
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.GetAttributeValue(Aml.Engine.CAEX.IObjectWithAttributes,System.String)">
            <summary>
                Returns an attribute value of a given attribute name.
            </summary>
            <param name="objWithAttr">
                Object with attributes
            </param>
            <param name="attName">
                name of attribute
            </param>
            <returns>
                attribute value, "" if attribute does not exist
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.getReferencedInterfaceClass(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                Getting a referenced InterfaceClass. Use FindFastByPath for speed optimizations.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="interfaceClassReference">Full path to an InterfaceClass</param>
            <returns>
                The referenced InterfaceClass.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.getReferencedInterfaceName(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                Getting the name of the referenced Interface.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="reference">A reference to a interface class in form GUID:InterfaceClass</param>
            <returns>
                The name of the referenced interface class or string.empty if separator char not found in string
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.getReferencedSystemUnitClass(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Gets the referenced SystemUnitClass using the <see cref="P:Aml.Engine.CAEX.InternalElementType.RefBaseSystemUnitPath" />.
            </summary>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Insert_Element(Aml.Engine.CAEX.CAEXBasicObject,Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementToInsert">The element to insert.</param>
            <param name="asFirst">Inserted at first element (true) or appended as last (false),</param>
            <returns>
                <c>true</c> if inserted, <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Insert_MappingObject(Aml.Engine.CAEX.InternalElementType,Aml.Engine.CAEX.MappingType)">
            <summary>
                Adding a MappingObject element to this InternalElement. It is only allowed to add one
                MappingObject node.
            </summary>
            <param name="internalElement">The internal element.</param>
            <param name="mappingObject">The mapping object.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Insert_MappingObject(Aml.Engine.CAEX.SupportedRoleClassType,Aml.Engine.CAEX.MappingType)">
            <summary>
                Adding a MappingObject element to this Supported Role.
            </summary>
            <param name="supportedRoleClass">The supported role element.</param>
            <param name="mappingObject">The mapping object.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Insert_NewInstance(Aml.Engine.CAEX.CAEXBasicObject,Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="newInstanceObject">The instance of a class to be inserted at this object. The instance can be of type</param>
            <param name="asFirst">if <c>true</c>, inserted as first (default), otherwise at last</param>
            <see cref="T:Aml.Engine.CAEX.InternalElementType" />
            ,
            <see cref="T:Aml.Engine.CAEX.InterfaceClassType" />
            <returns>
                True if insertion was successful, else false.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Insert_RoleRequirements(Aml.Engine.CAEX.InternalElementType,Aml.Engine.CAEX.RoleRequirementsType)">
            <summary>
                Inserting a RoleRequirement to this InternalElement. An exception is thrown if a
                RoleRequirements is already existent.
            </summary>
            <param name="internalElement">The internal element.</param>
            <param name="roleRequirement">The RoleRequirement to insert</param>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">
                A RoleRequirements node is already existent. It is not allowed to add more
                than one RoleRequirements node to current element according to CAEX Schema
            </exception>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Insert_SystemUnitFamilyType(Aml.Engine.CAEX.SystemUnitFamilyType,Aml.Engine.CAEX.SystemUnitFamilyType)">
            <summary>
                Appending the  <paramref name="systemUnitFamilyType" /> object into this object.
            </summary>
            <param name="systemUnitClass">The system unit class.</param>
            <param name="systemUnitFamilyType">The inserted system unit family.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.Insert_TypeBaseElement(Aml.Engine.CAEX.CAEXBasicObject,Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                <see cref="M:Aml.Engine.CAEX.CAEXBasicObject.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)" />
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementToInsert">an object to be inserted</param>
            <param name="asFirst">if <c>true</c>, the element is inserted as the first of it's type, otherwise as the last.</param>
            <returns>
                <c>true</c> if successfully inserted, <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.InstanceHierarchies(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Enumeration Method for all InstanceHierarchies of the CAEXFile.
            </summary>
            <returns>IEnumerable&lt;InstanceHierarchyType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.InterfaceClassLibraries(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Enumeration Method for all InterfaceClass Libraries of the CAEXFile.
            </summary>
            <returns>IEnumerable&lt;InterfaceClassLibType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.InternalElementChildren(Aml.Engine.CAEX.IInternalElementContainer)">
            <summary>
                Enumeration Method for direct Children of Type <see cref="T:Aml.Engine.CAEX.InternalElementType" />
            </summary>
            <returns>IEnumerable&lt;InternalElementType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.IsFacet(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the InternalElement instance is an AMLFacet.
            </summary>
            <param name="internalElement">The internal element.</param>
            <returns>
                <c>true</c> if the specified internal element is an AMLFacet; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.IsGroup(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the InternalElement instance is an AMLGroup.
            </summary>
            <param name="internalElement">The internal element.</param>
            <returns>
                <c>true</c> if the specified internal element is an AMLGroup; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.IsPort(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the InternalElement instance is an AMLPort.
            </summary>
            <param name="internalElement">The internal element.</param>
            <returns>
                <c>true</c> if the specified internal element is an AMLPort; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_RoleRequirements(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Adding a new RoleRequirements element to this InternalElement. It is only allowed to add
                one RoleRequirements node in CAEX 2.15.
            </summary>
            <returns>The new RoleRequirements element</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_RoleRequirements(Aml.Engine.CAEX.InternalElementType,System.String)">
            <summary>
                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.
            </summary>
            <param name="internalElement">The internal element.</param>
            <param name="roleClassPath">The role class path.</param>
            <returns>
                RoleRequirementsType.
            </returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_RequiredValue(Aml.Engine.CAEX.NominalScaledTypeType,System.String)">
            <summary>
                Adds a new required value to the NominalScaledType Constraint.
            </summary>
            <param name="nominalScaledType">Type of the nominal scaled.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_RequiredMaxValue(Aml.Engine.CAEX.OrdinalScaledTypeType,System.String)">
            <summary>
                Adding a new RequiredMaxValue to this ordinal scaled constraint
            </summary>
            <param name="ordinalScaledType">Type of the ordinal scaled.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_RequiredMinValue(Aml.Engine.CAEX.OrdinalScaledTypeType,System.String)">
            <summary>
                Adding a new RequiredMinValue to this ordinal scaled constraint
            </summary>
            <param name="ordinalScaledType">Type of the ordinal scaled.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_OldVersion(Aml.Engine.CAEX.RevisionType,System.String)">
            <summary>
                Adding a new OldVersion node to this revision.
            </summary>
            <param name="revision">The revision.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_NewVersion(Aml.Engine.CAEX.RevisionType,System.String)">
            <summary>
                Adding a new NewVersion node to this revision.
            </summary>
            <param name="revision">The revision.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_Comment(Aml.Engine.CAEX.RevisionType,System.String)">
            <summary>
                Adding a new Comment node to this revision.
            </summary>
            <param name="revision">The revision.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.New_RequiredValue(Aml.Engine.CAEX.OrdinalScaledTypeType,System.String)">
            <summary>
                Adding a new RequiredValue to this ordinal scaled constraint
            </summary>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.RoleClassLibraries(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Enumeration Method for all RoleClass Libraries of the CAEXFile.
            </summary>
            <returns>IEnumerable&lt;RoleClassLibType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.SystemUnitClassChildren(Aml.Engine.CAEX.SystemUnitFamilyType)">
            <summary>
                Gets all Children <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType" /> Objects of this SystemUnitClass.
            </summary>
            <returns>IEnumerable&lt;SystemUnitFamilyType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.Adapter.AMLEngineAdapter.SystemUnitClassLibraries(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Enumeration Method for all SystemUnitClass Libraries of the CAEXFile.
            </summary>
            <returns>IEnumerable&lt;SystemUnitClassLibType&gt;.</returns>
        </member>
        <member name="T:Aml.Engine.Adapter.LinkedObjects">
            <summary>
                This class can be used to access InternalLink data.
            </summary>
        </member>
        <member name="M:Aml.Engine.Adapter.LinkedObjects.#ctor(Aml.Engine.CAEX.InternalLinkType)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.Adapter.LinkedObjects" /> class.
            </summary>
            <param name="internalLink">The internal link.</param>
        </member>
        <member name="M:Aml.Engine.Adapter.LinkedObjects.ToString">
            <summary>
                Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="P:Aml.Engine.Adapter.LinkedObjects.InternalLink">
            <summary>
                Gets or sets the Internal Link.
            </summary>
            <value>The Internal Link.</value>
        </member>
        <member name="P:Aml.Engine.Adapter.LinkedObjects.RefPartnerSideAElement">
            <summary>
                Gets the reference partner side A Internal Element.
            </summary>
            <value>The reference partner side a element.</value>
        </member>
        <member name="P:Aml.Engine.Adapter.LinkedObjects.RefPartnerSideAExternalInterface">
            <summary>
                Gets or sets the reference partner side A External Interface.
            </summary>
            <value>The reference partner side a external interface.</value>
        </member>
        <member name="P:Aml.Engine.Adapter.LinkedObjects.RefPartnerSideBElement">
            <summary>
                Gets or sets the reference partner side b Internal Element.
            </summary>
            <value>The reference partner side b element.</value>
        </member>
        <member name="P:Aml.Engine.Adapter.LinkedObjects.RefPartnerSideBExternalInterface">
            <summary>
                Gets or sets the reference partner side B External Interface.
            </summary>
            <value>The reference partner side b external interface.</value>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AutomationMLContainer">
            <summary>
                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.
            </summary>
            <seealso cref="T:System.IDisposable" />
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.AutomationMLMimeType">
            <summary>
                The AutomationML MIME type
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer._disposed">
            <summary>
                The disposed flag
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.Dispose(System.Boolean)">
            <summary>
                Releases unmanaged and - optionally - managed resources. All streams, used to
                save the packages, are closed.
            </summary>
            <param name="disposing">
                <c>true</c> to release both managed and unmanaged resources; <c>false</c> to
                release only unmanaged resources.
            </param>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType">
            <summary>
                Class RelationshipType describes the distinguished package part relationship
                types. This class cannot be inherited.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.#ctor(System.String,System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType" /> class
                with the specified name and the specified mime type.
            </summary>
            <param name="name">
                The name.
            </param>
            <param name="mimeType">
                The mime type.
            </param>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.AnyContent">
            <summary>
                relationship type for package to part or root part to part relations to any content.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.CAEXSchema">
            <summary>
                relationship type for package to part relation to the CAEX schema part.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Collada">
            <summary>
                relationship type for package to part or root part to part relations to a COLLADA part.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.ColladaSchema">
            <summary>
                relationship type for package to part relation to the COLLADA schema.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Library">
            <summary>
                relationship type for package to part or root part to part relations to a part, containing an AutomationML library.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.PLCopenXml">
            <summary>
                relationship type for package to part or root part to part relations to a PLCopenXml part.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.PLCopenXmlSchema">
            <summary>
                relationship type for package to part relation to the PLCopenXml schema.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Root">
            <summary>
                relationship type for the package to part relation to the part containing the root document.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.MimeType">
            <summary>
                Gets the mime type of the relationship
            </summary>
            <value>
                The mime type.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Name">
            <summary>
                Gets the name of the relationship.
            </summary>
            <value>
                The name.
            </value>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.GetAnyContent(System.String)">
            <summary>
                Creates a RelationshipType for any content. If no mime type is defined,
                the relationship type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.AnyContent" /> is used.
            </summary>
            <param name="mimeType">
                The mime type.
            </param>
            <returns>
                RelationshipType.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.CompareTo(Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType)">
            <summary>
                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.
            </summary>
            <param name="other">An object to compare with this instance.</param>
            <returns>
                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 <paramref name="other" />.
                Zero: This instance occurs in the sort order at the same position as <paramref name="other" />.
                Greater than zero: This instance follows in the sort order<paramref name="other" />.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.ToString">
            <summary>
                Returns the <see cref="P:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Name" /> as the string representation of this instance.
            </summary>
            <returns>
                A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLContainer" /> class
                using the specified container file to load or save the package.
            </summary>
            <param name="containerFilePath">
                The file path of the container file. The file should have the extension <c>.amlx</c>.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.#ctor(System.String,System.IO.FileMode)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLContainer" /> class
                using the specified container file to load or save the package.
            </summary>
            <param name="containerFilePath">
                The file path of the container file.
            </param>
            <param name="packageMode">
                The file mode for the package file.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.#ctor(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLContainer" /> class
                using the specified container file to load or save the package.
            </summary>
            <param name="containerFilePath">
                The file path of the container file.
            </param>
            <param name="packageMode">
                The file mode for the package file.
            </param>
            <param name="packageAccess">
                The file access mode for the package file.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.#ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLContainer" /> class
                using the specified container file to load or save the package.
            </summary>
            <param name="containerFilePath">
                The file path of the container file.
            </param>
            <param name="packageMode">
                The file mode for the package file.
            </param>
            <param name="packageAccess">
                The file access mode for the package file.
            </param>
            <param name="packageShare">
                The file share access mode for the package file, which controls access of
                other file streams to the same file.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.#ctor(System.IO.Stream)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLContainer" /> class
                using the specified stream resource.
            </summary>
            <param name="packageStream">
                The stream resource for the package.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.#ctor(System.IO.Stream,System.IO.FileMode)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLContainer" /> class
                using the specified stream resource.
            </summary>
            <param name="packageStream">
                The stream resource for the package.
            </param>
            <param name="packageMode">
                The package mode.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.#ctor(System.IO.Stream,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLContainer" /> class
                using the specified stream resource.
            </summary>
            <param name="packageStream">
                The stream resource for the package.
            </param>
            <param name="packageMode">
                The package mode.
            </param>
            <param name="packageAccess">
                The package access.
            </param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLContainer.CompressionMode">
            <summary>
                Gets or sets the compression mode which is
                <see
                    cref="F:System.IO.Packaging.CompressionOption.Normal" />
                by default.
            </summary>
            <value>
                The compression mode.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLContainer.ContainerFilename">
            <summary>
                Gets the full path of the used container file.
            </summary>
            <value>
                The filename.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLContainer.ExtractionDirectory">
            <summary>
                Gets the full path of the directory, used for extraction.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLContainer.Package">
            <summary>
                Gets the underlying package of this instance.
            </summary>
            <value>
                The package.
            </value>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddAnyContent(System.IO.Packaging.PackagePart,System.String,System.Uri,System.String)">
            <summary>
                Adds any content to the package creating relationships to the package and to
                the part, containing the root document using the relationship type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.AnyContent" />.
            </summary>
            <param name="rootDocument">
                package part, containing the parent root document
            </param>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <param name="mimeType">
                optional mime type, the default mime type for the relationship is used if empty
            </param>
            <returns>
                PackagePart.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddAnyContent(System.IO.Packaging.PackagePart,System.IO.Stream,System.Uri,System.String)">
            <summary>
                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 <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.AnyContent" />.
            </summary>
            <param name="rootDocument">
                package part, containing the parent root document
            </param>
            <param name="inStream">
                any content stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <param name="mimeType">
                optional mime type, the default mime type for the relationship is used if empty
            </param>
            <returns>
                PackagePart.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddCAEXSchema(System.String,System.Uri)">
            <summary>
                Adds a CAEX schema file to the package and creates a package - part
                relationship to the package using the relationship type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.CAEXSchema" />
            </summary>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddCAEXSchema(System.IO.Stream,System.Uri)">
            <summary>
                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 <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.CAEXSchema" />.
            </summary>
            <param name="inStream">
                collard stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddCollada(System.IO.Packaging.PackagePart,System.String,System.Uri)">
            <summary>
                Adds a COLLADA file to the package and creates relationships to the package
                and to the root document using the <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Collada" />.
            </summary>
            <param name="rootDocument">
                package part, containing the parent root document
            </param>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddCollada(System.IO.Packaging.PackagePart,System.IO.Stream,System.Uri)">
            <summary>
                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 <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Collada" />.
            </summary>
            <param name="rootDocument">
                package part, containing the parent root document
            </param>
            <param name="inStream">
                COLLADA file stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddColladaSchema(System.String,System.Uri)">
            <summary>
                Adds a COLLADA schema file to the package and creates a package - part
                relationship to the package using <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.ColladaSchema" />.
            </summary>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddColladaSchema(System.IO.Stream,System.Uri)">
            <summary>
                Adds a COLLADA schema part from the stream resource to the package and creates
                a package - part relationship to the package using <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.ColladaSchema" />.
            </summary>
            <param name="inStream">
                COLLADA stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddLibrary(System.IO.Packaging.PackagePart,System.String,System.Uri)">
            <summary>
                Adds a library file to the package and creates relationships to the package
                and to the package containing the root document using the <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Library" />.
            </summary>
            <param name="rootDocument">
                package part, containing the parent root document
            </param>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddLibrary(System.String,System.Uri)">
            <summary>
                Adds a library file to the package and creates a package - part relationship
                of type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Library" />.
            </summary>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddLibrary(System.IO.Stream,System.Uri)">
            <summary>
                Adds a library stream to the package and creates a package - part relationship
                of type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Library" />.
            </summary>
            <param name="inStream">
                library stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddLibrary(System.IO.Packaging.PackagePart,System.IO.Stream,System.Uri)">
            <summary>
                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 <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Library" />.
            </summary>
            <param name="rootDocument">
                package part, containing the parent root document
            </param>
            <param name="inStream">
                library stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddPLCopenXml(System.IO.Packaging.PackagePart,System.String,System.Uri)">
            <summary>
                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 <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.PLCopenXml" />.
            </summary>
            <param name="rootDocument">
                package part, containing the parent root document
            </param>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddPLCopenXml(System.IO.Packaging.PackagePart,System.IO.Stream,System.Uri)">
            <summary>
                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 <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.PLCopenXml" />.
            </summary>
            <param name="rootDocument">
                package part, containing the parent root document
            </param>
            <param name="inStream">
                PLCopenXml stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddPLCopenXmlSchema(System.String,System.Uri)">
            <summary>
                Adds a PLCopenXml schema file to the package and creates a package - part
                relationship of type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.PLCopenXmlSchema" /> to the package.
            </summary>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddPLCopenXmlSchema(System.IO.Stream,System.Uri)">
            <summary>
                Adds a PLCopenXml schema part from a stream resource to the package and
                creates a package - part relationship of type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.PLCopenXmlSchema" />.
            </summary>
            <param name="inStream">
                COLLADA file stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddRoot(System.String,System.Uri)">
            <summary>
                Adds a root AML file to the package and creates a package - part relationship
                of type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Root" />.
            </summary>
            <param name="fileName">
                full name of the file which should be added
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddRoot(System.IO.Stream,System.Uri)">
            <summary>
                Adds a root AML file from a stream resource to the package and creates a
                package - part relationship of type <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Root" />.
            </summary>
            <param name="inStream">
                root document stream
            </param>
            <param name="partUri">
                package internal name of the part
            </param>
            <returns>
                added part
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.Close">
            <summary>
                Saves and closes the package and all part streams.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.Dispose">
            <summary>
                Performs application-defined tasks associated with the release, return or
                resetting of unmanaged resources.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.Extract(System.IO.DirectoryInfo)">
            <summary>
                Extracts all parts in the package to the specified directory
            </summary>
            <param name="dirInfo">
                directory info defining the target directory for extraction
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.Extract(System.IO.DirectoryInfo,System.IO.Packaging.PackagePart)">
            <summary>
                Extracts the specified part in the package to the specified directory.
            </summary>
            <param name="dirInfo">
                directory info defining the target directory for extraction.
            </param>
            <param name="part">
                The part to extract to the specified folder.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.ExtractAllFiles(System.String)">
            <summary>
                Extracts all parts in the package to the specified directory
            </summary>
            <param name="path">
                Full path to the target directory.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.Flush">
            <summary>
                Saves the contents of all parts and relationships, contained in the package.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.GetPart(System.Uri)">
            <summary>
                Returns the part with the given URI.
            </summary>
            <param name="partUri">
                The part URI.
            </param>
            <returns>
                PackagePart.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.GetParts">
            <summary>
                Returns an enumeration of all parts inside the package.
            </summary>
            <returns>
                IEnumerable&lt;PackagePart&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.GetPartsByRelationShipType(Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType)">
            <summary>
                Returns an enumeration of all parts with the given relationship type from the package.
            </summary>
            <param name="relationShipType">
                The relationship type.
            </param>
            <returns>
                IEnumerable&lt;PackagePart&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.GetRelatedPartByUri(System.Uri,Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType)">
            <summary>
                Gets the related part by URI.
            </summary>
            <param name="refUri">
                The reference URI.
            </param>
            <param name="relationShipType">
                The relationship type.
            </param>
            <returns>
                PackagePart.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.GetRelatedParts(System.IO.Packaging.PackagePart)">
            <summary>
                Returns an enumeration of all related parts for the given part.
            </summary>
            <param name="part">
                The part.
            </param>
            <returns>
                IEnumerable&lt;PackagePart&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.GetRelatedParts(System.IO.Packaging.PackagePart,Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType)">
            <summary>
                Returns an enumeration of the related parts for the specified part and
                relationship type.
            </summary>
            <param name="part">
                The part.
            </param>
            <param name="relationShipType">
                The relationship type.
            </param>
            <returns>
                IEnumerable&lt;PackagePart&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.CheckRelatedParts(System.IO.Packaging.PackagePart,Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType)">
            <summary>
                Returns an enumeration of the related parts for the specified part and
                relationship type.
            </summary>
            <param name="part">
                The part.
            </param>
            <param name="relationShipType">
                The relationship type.
            </param>
            <returns>
                IEnumerable&lt;PackagePart&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.GetRelationShips">
            <summary>
                Returns an enumeration of all contained relationships of this instance.
            </summary>
            <returns>
                IEnumerable&lt;PackageRelationship&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.GetRelationShipsByType(Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType)">
            <summary>
                Returns an enumeration of all relationships with the given relationship type.
            </summary>
            <param name="relationType">
                Type of the relation.
            </param>
            <returns>
                IEnumerable&lt;PackageRelationship&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.PartExists(System.Uri)">
            <summary>
                Determines, if a part with the specified part URI exists.
            </summary>
            <param name="partUri">
                The part URI.
            </param>
            <returns>
                <c>true</c> if the part exists, <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RelationShipExists(Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType)">
            <summary>
                Determines, if the specified relationship type exists.
            </summary>
            <param name="relationShipType">
                Type of the relation.
            </param>
            <returns>
                <c>true</c> if relationship type exists, <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RootDocumentPath(System.IO.DirectoryInfo)">
            <summary>
                Gets the file path to the first root AML document when the container is already
                extracted. <see cref="M:Aml.Engine.AmlObjects.AutomationMLContainer.Extract(System.IO.DirectoryInfo)" /> If the container is created
                from a stream source or no root document is found, the return value is <c>string.Empty</c>.
            </summary>
            <param name="dirInfo">
                The directory which was used for extraction.
            </param>
            <returns>
                System.String.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RootDocumentStream">
            <summary>
                Gets the stream of the first root AML document. If no root document is found, the return value is <c>null</c>.
            </summary>
            <returns>
                System.String.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.Save">
            <summary>
                Saves the package and all part streams, the package is still open.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RelativePath(System.Uri)">
            <summary>
                To get the file path from a relative Uri, the unescaped data string without
                the start '/' is needed
            </summary>
            <param name="uri">
                The URI.
            </param>
            <returns>
                System.String.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddPackagePart(System.String,System.Uri,Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType,System.Boolean,System.IO.Packaging.PackagePart)">
            <summary>
                Adds the package part.
            </summary>
            <param name="fullPath">
                The full path.
            </param>
            <param name="partUri">
                The part URI.
            </param>
            <param name="relationShipType">
                Type of the relation ship.
            </param>
            <param name="createPackageRelation">
                if set to <c>true</c> [create package relation].
            </param>
            <param name="part">
                The part.
            </param>
            <returns>
                PackagePart.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.AddPackagePart(System.IO.Stream,System.Uri,Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType,System.Boolean,System.IO.Packaging.PackagePart)">
            <summary>
                Adds the package part.
            </summary>
            <param name="stream">
                The stream.
            </param>
            <param name="partUri">
                The part URI.
            </param>
            <param name="relationShipType">
                Type of the relation ship.
            </param>
            <param name="createPackageRelation">
                if set to <c>true</c> [create package relation].
            </param>
            <param name="part">
                The part.
            </param>
            <returns>
                PackagePart.
            </returns>
            <exception cref="T:System.Exception">
                Part with Uri + partUri + not found
            </exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLContainer.RelinkPart(System.Uri,System.Uri)">
            <summary>
            Changes the uri of a package part. The part is removed and readded with the provided
            <paramref name="newPartUri"/>. All relationships of the part are updated.
            </summary>
            <param name="oldPartUri"></param>
            <param name="newPartUri"></param>
            <returns><c>true</c> if a part with the provided <paramref name="oldPartUri"/> exists; otherwise false</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AMLFile">
            <summary>
                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).
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXFileType" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AMLFile" /> class.
            </summary>
            <param name="node">The node.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFile.AutomationMLVersion">
            <summary>
                Gets or sets the AutomationML version. It is not allowed to set an AMLVersion which is higher than the
                <see cref="P:Aml.Engine.AmlObjects.AMLFile.MaximalAMLVersion" />. If this is tried, the maximal known version is used for this document.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFile.DocumentVersion">
            <summary>
                Gets the collection of defined document version information of the AMLFile
            </summary>
            <value>
                The collection of document version information.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFile.GenericAdditionalInformation">
            <summary>
                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.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.IsDocumentVersion(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified XML element represents an AdditionalInformation object, using the specific
                DocumentVersion syntax.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a DocumentVersion element; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.IsAutomationMLVersion(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified XML element represents an AdditionalInformation object, representing the
                AutomationMLVersion.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is the AutomationML version element; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.IsWriterHeader(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified XML element represents an AdditionalInformation object, using the specific
                WriterHeader syntax.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a WriterHeader element; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.IsGenericAdditionalInformation(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified XML element represents an AdditionalInformation object, not using any specific
                syntax as the
                <see cref="P:Aml.Engine.AmlObjects.AMLFile.DocumentVersion" /> or <see cref="P:Aml.Engine.AmlObjects.AMLFile.WriterHeader" /> elements.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a generic AdditionalInformation element; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFile.MaximalAMLVersion">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFile.WriterHeader">
            <summary>
                Gets the collection of defined writer headers of the AMLFile
            </summary>
            <value>
                The collection writer header.
            </value>
            <remarks>
                valid only for AutomationML Version 2.0 using CAEX 2.15
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.ClearMetaInformation">
            <summary>
                Removes all "Writer Header" specific meta information out of this CAEX file.
            </summary>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.DeleteMetaInformation(System.String)">
            <summary>
                This function deletes any existing meta information corresponding to the writerID.
            </summary>
            <param name="writerID">Writer ID</param>
            <returns>
                true if delete succeeded, false if writerID has not been found
            </returns>
            <exception cref="T:System.ArgumentException">writerID</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.GetMetaInformation">
            <summary>
                This methods returns an Enumeration of all "WriterHeader" meta information out of an
                existing AutomationML file.
            </summary>
            <returns>
                Enumerable with element containing all meta information, or null if no meta information
                is existing
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
            <remarks>
                Extension Method originally designed for AutomationML Versions based on CAEX 2.15.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.GetMetaInformation(System.String)">
            <summary>
                This function returns the MetaInformation corresponding to the writerID, otherwise null.
            </summary>
            <param name="writerID">the writerID</param>
            <returns>
                This function returns the MetaInformation corresponding to the writerID, otherwise null.
            </returns>
            <exception cref="T:System.ArgumentException">writerID</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.IsValidAutomationMLVersion(System.String)">
            <summary>
                Determines whether the specified AML version is a valid version string for this AMLFile
            </summary>
            <param name="amlVersion">The version string.</param>
            <returns>
                <c>true</c> if specified AML version is a valid version string for this AMLFile; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.ReplaceMetaInformation(System.String,Aml.Engine.AmlObjects.MetaInformation)">
            <summary>
                This function replaces any existing meta information corresponding to the identical
                oldWriterID with the new meta information defined in the new Meta information
            </summary>
            <param name="oldWriterID">writerID of the old meta information</param>
            <param name="newMetainformation">substitute for the old version of meta information</param>
            <returns>
                true if succeeded, false if meta information about the oldWriterID is not found
            </returns>
            <exception cref="T:System.ArgumentException">oldWriterID</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.SetMetaInformation(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="writerName">the name of the writing tool</param>
            <param name="writerID">an ID of the writing tool</param>
            <param name="writerVendor">the tool vendors name</param>
            <param name="writerVendorURL">the tools vendors URL</param>
            <param name="writerVersion">the version of the writing tool</param>
            <param name="writerRelease">the release number of the writing tool</param>
            <param name="lastWritingDateTime">the date of the last writing time</param>
            <param name="writerProjectTitle">the title of the written project</param>
            <param name="writerProjectID">an ID of the written project</param>
            <exception cref="T:System.ArgumentException">writerID</exception>
            <remarks>
                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 <see cref="M:Aml.Engine.AmlObjects.AMLFile.SetSourceDocumentInformation(System.String,System.String,System.String,System.String,System.String,System.String,System.DateTime,System.String,System.String)" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.SetMetaInformation(Aml.Engine.AmlObjects.MetaInformation)">
            <summary>
                This method is a short version of the setMetaInformation. Meta data with identical
                WriterID is replaced.
            </summary>
            <param name="metaInformation">the structure MetaInformation</param>
            <exception cref="T:System.ArgumentNullException">
                metaInformation
            </exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.SetMetaInformationStandardAutomationMLLibrary">
            <summary>
                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.
            </summary>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFile.SetSourceDocumentInformation(System.String,System.String,System.String,System.String,System.String,System.String,System.DateTime,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="originName">the name of the writing tool</param>
            <param name="originID">an ID of the writing tool</param>
            <param name="originVendor">the tool vendors name</param>
            <param name="originVendorURL">the tools vendors URL</param>
            <param name="originVersion">the version of the writing tool</param>
            <param name="originRelease">the release number of the writing tool</param>
            <param name="lastWritingDateTime">the date of the last writing time</param>
            <param name="originProjectTitle">the title of the written project</param>
            <param name="originProjectID">an ID of the written project</param>
            <exception cref="T:System.ArgumentException">originID</exception>
            <remarks>
                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
                <see cref="M:Aml.Engine.AmlObjects.AMLFile.SetMetaInformation(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)" />.
            </remarks>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AMLFacet">
            <summary>
                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)]
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.InternalElementType" />
        </member>
        <member name="F:Aml.Engine.AmlObjects.AMLFacet.FacetName">
            <summary>
                The Facet name
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AMLFacet" /> class.
            </summary>
            <param name="internalElementNode">An 'InternalElement' XML node.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFacet.Attribute">
            <summary>
                Gets the collection of Attribute objects for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFacet.ExternalInterface">
            <summary>
                Gets a collection of ExternalInterface objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFacet.FacetAttribute">
            <summary>
                Gets the collection of Attribute objects for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFacet.FacetExternalInterface">
            <summary>
                Gets a collection of ExternalInterface objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFacet.InternalElement">
            <summary>
                The collection of InternalElement objects for an AMLFacet is always <c>null</c>.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLFacet.IsFacet">
            <summary>
                Gets a value indicating whether this instance is an AMLFacet
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.Create(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                Creates an AMLFacet AML object with this name, using the provided document.
            </summary>
            <param name="document">The CAEX document.</param>
            <param name="name">The name of the new AMLFacet.</param>
            <returns>The created AMLFacet.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.op_Implicit(Aml.Engine.AmlObjects.AMLFacet)~Aml.Engine.AmlObjects.ObjectWithAMLAttributes">
            <summary>
                Conversion to get access to specific AutomationML defined Attributes
            </summary>
            <param name="facet">The 'AMLFacet' CAEX object.</param>
            <returns>
                The AMLFacet object, converted to an <see cref="T:Aml.Engine.AmlObjects.ObjectWithAMLAttributes" /> type, which provides access to
                specific AML defined attributes.
            </returns>
            <exception cref="T:System.ArgumentNullException">attributeType</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.AssignedParentAttributes">
            <summary>
                Get the original parent attributes which are already assigned with the AMLFacet
            </summary>
            <returns>A collection of already assigned Attribute objects of the parent.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.AssignedParentInterfaces">
            <summary>
                Get the original parent interfaces which are already assigned with the AMLFacet
            </summary>
            <returns>A collection of already assigned ExternalInterface objects of the parent.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.HasAttributeOfParent(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Determines whether the AMLFacet contains this attribute of the parent AML object.
            </summary>
            <param name="attribute">An attribute of the parent.</param>
            <returns><c>true</c> if this attribute of the parent is assigned to the AMLFacet;
            otherwise, <c>false</c>.
            </returns>
            <remarks>
            In CAEX 3.0 the Attribute of the AMLFacet has to be a Mirror Attribute. 
            CAEX 2.15 identifies Attributes with identical names. 
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.HasInterfaceOfParent(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Determines whether the AMLFacet contains this interface of the parent AML object.
            </summary>
            <param name="externalInterface">The external interface.</param>
            <returns><c>true</c> if this interface of the parent is assigned to the AMLFacet; 
            otherwise, <c>false</c>.</returns>
            <remarks>
            In CAEX 3.0 the Interface of the AMLFacet has to be a Mirror Interface. 
            CAEX 2.15 identifies Interfaces with identical names. 
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                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 <c>false</c>.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">if set to <c>true</c> the element is inserted at the first position in it's container.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.NotAssignedParentAttributes">
            <summary>
                Get the parent attributes which are yet not assigned with the AMLFacet
            </summary>
            <returns>A collection of not assigned Attribute objects.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.NotAssignedParentInterfaces">
            <summary>
                Get the parent interfaces which are yet not assigned with the AMLFacet
            </summary>
            <returns>A collection of not assigned ExternalInterface objects.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.SourceAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Gets the original Attribute from the <see cref="M:Aml.Engine.AmlObjects.AMLFacet.AssignedParentAttributes" /> which is related to this Facet
                Attribute.
            </summary>
            <param name="facetAttribute">The facet attribute.</param>
            <returns>An Attribute from the parent with the same name.</returns>
            <remarks>
            In CAEX 3.0 the Source Attribute is the Master Attribute of the <paramref name="facetAttribute"/>. 
            CAEX 2.15 the Source Attribute is the first identified Attribute of the parent with an identical name.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLFacet.SourceInterface(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Gets the original ExternalInterface from the <see cref="M:Aml.Engine.AmlObjects.AMLFacet.AssignedParentInterfaces" /> which is related to this Facet
                Interface.
            </summary>
            <param name="facetInterface">The facet ExternalInterface.</param>
            <returns>An ExternalInterface from the parent with the same name.</returns>
            <remarks>
            In CAEX 3.0 the Source Interface is the Master Interface of the <paramref name="facetInterface"/>. 
            CAEX 2.15 the Source Interface is the first identified Interface of the parent with an identical name.
            </remarks>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AMLGroup">
            <summary>
                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)]
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.InternalElementType" />
        </member>
        <member name="F:Aml.Engine.AmlObjects.AMLGroup.GroupName">
            <summary>
                The Group name
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLGroup.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AMLGroup" /> class.
            </summary>
            <param name="internalElementNode"> An InternalElement node</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLGroup.AMLGroupInternalElement">
            <summary>
                Gets a collection of InternalElement objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLGroup.AssociatedFacet">
            <summary>
                Gets or sets the associated facet for the AMLGroup object
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLGroup.InternalElement">
            <summary>
                Gets the collection of InternalElement objects for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLGroup.IsGroup">
            <summary>
                Gets a value indicating whether the defining InternalElement instance is an AMLGroup
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLGroup.Create(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                Creates an AMLGroup AML object with this name, using the provided document.
            </summary>
            <param name="document">The CAEX document.</param>
            <param name="name">The name of the new AMLGroup object.</param>
            <returns>The new AMLGroup object.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLGroup.AssociableFacets">
            <summary>
                Returns the names of the facets, defined in the master InternalElements of all mirrors in this group.
            </summary>
            <returns>Enumeration of distinct names of facets.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLGroup.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLGroup.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                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
                <c>false</c>.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">if set to <c>true</c> the element is inserted at the first position in it's container.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AMLLibraryType`1">
            <summary>
                This class is a generic type definition for CAEX libraries, which are defined by AutomationML and contain
                standardized classes.
            </summary>
            <typeparam name="T">Type of the library items.</typeparam>
            <seealso cref="T:Aml.Engine.CAEX.CAEXLibrary`1" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLLibraryType`1.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AMLLibraryType`1" /> class.
            </summary>
            <param name="libraryNode">A CAEX library XML node.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLLibraryType`1.AutomationMLClass(System.String)">
            <summary>
                Gets the AutomationML class from this library, which can be identified by the provided CAEX path.
            </summary>
            <param name="caexPath">The CAEX path.</param>
            <returns>The CAEX class from this library, which was identified by the CAEX path.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLLibraryType`1.LoadExternalLibrary(Aml.Engine.CAEX.CAEXDocument,System.String,System.Func{Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.CAEXLibrary{`0}})">
            <summary>
                Loads an AutomationML library from an external source.
            </summary>
            <param name="document">The document.</param>
            <param name="resourceName">Name of the resource.</param>
            <param name="ImportLibrary">The import library.</param>
            <returns>The imported library.</returns>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">
                The current document and the imported library use different
                CAEX Versions; To do a schema transformation the service needs to be registered
            </exception>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AMLPort">
            <summary>
                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)
            </summary>
            <remarks>The AML Port object has been replaced in AutomationML version 2.10 with an Interface only</remarks>
            <seealso cref="T:Aml.Engine.CAEX.InternalElementType" />
        </member>
        <member name="F:Aml.Engine.AmlObjects.AMLPort.PortName">
            <summary>
                The Port name
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLPort.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AMLPort" /> class.
            </summary>
            <param name="internalElementNode">An InternalElement node</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLPort.InternalElement">
            <summary>
                The collection of InternalElement objects for an AMLPort is always <c>null</c>.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLPort.IsPort">
            <summary>
                Gets a value indicating whether the defining InternalElement instance is an AMLGroup
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLPort.Create(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                Creates an AMLPort AML object with this name, using the provided document.
            </summary>
            <param name="document">The CAEX document.</param>
            <param name="name">The name of the new AMLPort object.</param>
            <returns>The created AMLPort object.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLPort.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                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 <c>false</c>.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">if set to <c>true</c> the element is inserted at the first position in it's container.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AMLSystemUnitClass">
            <summary>
                An AMLSystemUnitClass is a SystemUnitClass which can contain <see cref="T:Aml.Engine.AmlObjects.AMLPort" /> AML objects.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.SystemUnitClassType" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLSystemUnitClass.#ctor(System.Xml.Linq.XElement)">
            <inheritdoc />
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AMLSystemUnitClass" /> class.
            </summary>
            <param name="systemUnitClassNode">A SystemUnitClass node</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLSystemUnitClass.#ctor(Aml.Engine.CAEX.SystemUnitClassType)">
            <inheritdoc />
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AMLSystemUnitClass" /> class.
            </summary>
            <param name="systemUnitClass">The system unit class.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLSystemUnitClass.AMLFacets">
            <summary>
                Gets the Collection of AMLFacet objects.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLSystemUnitClass.AMLGroups">
            <summary>
                Gets the Collection of AMLGroup objects.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AMLSystemUnitClass.AMLPorts">
            <summary>
                Gets the Collection of AMLPort objects.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLSystemUnitClass.AddFacet(System.String)">
            <summary>
                Adds an AMLFacet object to the AMLSystemUnitClass with the provided name.
            </summary>
            <param name="name">The name of the new AMLFacet.</param>
            <returns>The added new AMLFacet.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLSystemUnitClass.AddGroup(System.String)">
            <summary>
                Adds an AMLGroup object to the AMLSystemUnitClass with the provided name.
            </summary>
            <param name="name">The name of the new AMLGroup.</param>
            <returns>The added new AMLGroup.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLSystemUnitClass.AddPort(System.String)">
            <summary>
                Adds an AMLPort object to the AMLSystemUnitClass with the provided name.
            </summary>
            <param name="name">The name of the new AMLPort.</param>
            <returns>The added new AMLPort-</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib">
            <summary>
                Contains definitions and access methods of standard base AttributeType objects.
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.AssociatedExternalValue">
            <summary>
                The 'AssociatedExternalValue' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.AssociatedFacet">
            <summary>
                The 'AssociatedFacet' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.AutomationMLBaseAttributeTypeLibName">
            <summary>
                The 'AutomationMLBaseAttributeTypeLib' library name
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.Cardinality">
            <summary>
                The 'Cardinality' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.Category">
            <summary>
                The 'Category' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.Direction">
            <summary>
                The 'Direction' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.DocLang">
            <summary>
                The 'DocLang' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.Frame">
            <summary>
                The 'Category' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.ListType">
            <summary>
                The 'ListType' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.LocalizedAttribute">
            <summary>
                The 'LocalizedAttribute' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.MIMEType">
            <summary>
                The 'MIMEType' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.OrderedListType">
            <summary>
                The 'OrderedListType' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.RefURI">
            <summary>
                The 'RefURI' AttributeType path
            </summary>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsAssociatedExternalValue(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                AssociatedExternalValue AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsAssociatedFacet(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                AssociatedFacet AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsCardinality(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                Cardinality AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsCategory(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                Category AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsDirection(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                Direction AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsDocLang(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                DocLang AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsFrame(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                Frame AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsListType(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                ListType AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsLocalizedAttribute(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                LocalizedAttribute AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsMIMEType(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                MIMEType AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsOrderedListType(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                OrderedListType AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLib.IsRefUri(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Determines whether the specified attribute reference defines an inheritance relation from the
                RefURI AttributeType
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType">
            <summary>
                This Class is a wrapper for the AutomationML standard 'AutomationMLBaseAttributeTypeLib' which is the
                container for a hierarchy of standard AttributeType definitions.
            </summary>
            <seealso cref="T:Aml.Engine.AmlObjects.AMLLibraryType`1" />
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType" /> class.
            </summary>
            <param name="attributeTypeLib">The attribute type library.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.AssociatedExternalValue">
            <summary>
                Gets the AssociatedExternalValue Attribute Type.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.AssociatedFacet">
            <summary>
                Gets the AssociatedFacet.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.Cardinality">
            <summary>
                Gets the Cardinality attribute type.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.Category">
            <summary>
                Gets the Category Attribute Type
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.Direction">
            <summary>
                Gets the Direction Attribute Type.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.ListType">
            <summary>
                Gets the ListType Attribute type
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.LocalizedAttribute">
            <summary>
                Gets the LocalizedAttribute attribute type.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.MIMEType">
            <summary>
                Gets the MIMEType attribute type.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.OrderedListType">
            <summary>
                Gets the OrderedListType attribute type.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.RefURI">
            <summary>
                Gets the RefURI attribute Type.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.AttributeTypeLib(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <param name="document">The CAEX document.</param>
            <returns>The AutomationMLBaseAttributeTypeLib</returns>
            <remarks>Not available for CAEX version 2.15</remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseAttributeTypeLibType.IsLoaded(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Determines if the AutomationMLBaseAttributeTypeLib exists in the document.
            </summary>
            <param name="document">The document.</param>
            <returns>
                <c>true</c> if the AutomationMLBaseAttributeTypeLib is loaded; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib">
            <summary>
                Contains definitions and access methods of standard base InterfaceClass objects.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.AttachmentInterface">
            <summary>
                The AttachmentInterface  class path (a Part 3 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.AutomationMLBaseInterface">
            <summary>
                The AutomationML base interface class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.AutomationMLInterfaceClassLibName">
            <summary>
                The AutomationML base interface class library name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.BehaviourLogicInterface">
            <summary>
                The behaviour logic interface class path (a Part 4 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.COLLADAInterface">
            <summary>
                The COLLADA interface class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.Communication">
            <summary>
                The communication interface class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.ExternalDataConnector">
            <summary>
                The external data connector (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.InterlockingConnector">
            <summary>
                The interlocking connector  interface class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.InterlockingLogicInterface">
            <summary>
                The interlocking logic interface class path (a Part 4 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.InterlockingVariableInterface">
            <summary>
                The interlocking variable interface class path (a Part 4 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.LogicElementInterface">
            <summary>
                The logic element interface class path (a Part 4 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.LogicInterface">
            <summary>
                The logic interface class path (a Part 4 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.Order">
            <summary>
                The order  interface class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.PLCopenXMLInterface">
            <summary>
                The PLCopenXML  interface class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.PortConnector">
            <summary>
                The port connector  interface class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.PPRConnector">
            <summary>
                The PPR connector  interface class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.SequencingBehaviourLogicInterface">
            <summary>
                The sequencing behaviour logic interface class path (a Part 4 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.SequencingLogicInterface">
            <summary>
                The sequencing logic interface class path (a Part 4 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.SignalInterface">
            <summary>
                The signal interface  class path (a Part 1 Interface)
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.VariableInterface">
            <summary>
                The variable interface class path (a Part 4 Interface)
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsAutomationMLBaseInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                AutomationMLBase interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsBehaviourLogicInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                BehaviourLogicInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsCOLLADAInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                COLLADAInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsCommunicationInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                Communication interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsExternalDataConnector(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                ExternalDataConnector interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsInterlockingConnector(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                InterlockingConnector interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsInterlockingLogicInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                InterlockingLogicInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsInterlockingVariableInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                InterlockingVariableInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsLogicElementInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                LogicElementInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsLogicInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                LogicInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsOrderInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                Order interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsPLCopenXMLInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                PLCopenXMLInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsPortConnector(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                PortConnector interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsPPRConnector(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                PPRConnector interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsSequencingBehaviourLogicInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                SequencingBehaviourLogicInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsSequencingLogicInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                SequencingLogicInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsSignalInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                SignalInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.IsVariableInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Determines whether the specified interface class is derived from the
                VariableInterface interface class. The method can resolve alias references anywhere
                in the inheritance hierarchy.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <returns>
                <c>true</c> if an inheritance relation could be resolved;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakeAutomationMLBaseInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the AutomationML base interface.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakeCOLLADAInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the COLLADA interface.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakeCommunicationInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the communication interface.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakeExternalDataConnector(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the external data connector.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakeInterlockingConnector(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the interlocking connector.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakeOrderInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the order interface.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakePLCopenXMLInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the PLCopen XML interface.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakePortConnector(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the port connector.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakePPRConnector(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the PPR connector.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.MakeSignalInterface(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Makes the signal interface.
            </summary>
            <param name="interfaceClass">The interface class.</param>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLibType">
            <summary>
                This Class is a wrapper for the AutomationML standard 'AutomationMLInterfaceClassLib' which is the
                container for a hierarchy of standard InterfaceClass definitions.
            </summary>
            <seealso cref="T:Aml.Engine.AmlObjects.AMLLibraryType`1" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLibType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLibType" /> class.
            </summary>
            <param name="roleClassLib">The role class library.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLibType.InterfaceClassLib(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <param name="document">The CAEX document.</param>
            <returns>The AutomationMLBaseRoleClassLib</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLibType.IsLoaded(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Determines if the AutomationMLInterfaceClassLib exists in the document.
            </summary>
            <param name="document">The document.</param>
            <returns>
                <c>true</c> if the AutomationMLInterfaceClassLib is loaded; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType">
            <summary>
                This Class is a wrapper for the AutomationML standard 'AutomationMLBaseRoleClassLib' which is the
                container for a hierarchy of standard RoleClass definitions.
            </summary>
            <seealso cref="T:Aml.Engine.AmlObjects.AMLLibraryType`1" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType" /> class.
            </summary>
            <param name="roleClassLib">The role class library.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.AutomationMLBaseRole">
            <summary>
                Gets the automation ml base role.
            </summary>
            <value>
                The automation ml base role.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.Facet">
            <summary>
                Gets the facet.
            </summary>
            <value>
                The facet.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.Frame">
            <summary>
                Gets the frame.
            </summary>
            <value>
                The frame.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.Group">
            <summary>
                Gets the group.
            </summary>
            <value>
                The group.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.InterlockingSourceGroup">
            <summary>
                Gets the interlocking source group.
            </summary>
            <value>
                The interlocking source group.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.InterlockingTargetGroup">
            <summary>
                Gets the interlocking target group.
            </summary>
            <value>
                The interlocking target group.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.LogicObject">
            <summary>
                Gets the logic object.
            </summary>
            <value>
                The logic object.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.Port">
            <summary>
                Gets the port.
            </summary>
            <value>
                The port.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.Process">
            <summary>
                Gets the process.
            </summary>
            <value>
                The process.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.ProcessStructure">
            <summary>
                Gets the process structure.
            </summary>
            <value>
                The process structure.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.Product">
            <summary>
                Gets the product.
            </summary>
            <value>
                The product.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.ProductStructure">
            <summary>
                Gets the product structure.
            </summary>
            <value>
                The product structure.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.PropertySet">
            <summary>
                Gets the property set.
            </summary>
            <value>
                The property set.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.Resource">
            <summary>
                Gets the resource.
            </summary>
            <value>
                The resource.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.ResourceStructure">
            <summary>
                Gets the resource structure.
            </summary>
            <value>
                The resource structure.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.Structure">
            <summary>
                Gets the structure.
            </summary>
            <value>
                The structure.
            </value>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.IsLoaded(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Determines if the AutomationMLBaseRoleClassLib exists in the document.
            </summary>
            <param name="document">The document.</param>
            <returns>
                <c>true</c> if the AutomationMLBaseRoleClassLib is loaded; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.RoleClassLib(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <param name="document">The CAEX document.</param>
            <returns>The AutomationMLBaseRoleClassLib</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib">
            <summary>
                Contains definitions and access methods of standard base RoleClass objects.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.AutomationMLBaseRole">
            <summary>
                The 'AutomationMLBaseRole' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.AutomationMLBaseRoleClassLibName">
            <summary>
                The 'AutomationMLBaseRoleClassLib' library name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.Facet">
            <summary>
                The 'Facet' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.Frame">
            <summary>
                The 'Frame' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.Group">
            <summary>
                The 'Group' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.InterlockingSourceGroup">
            <summary>
                The 'InterlockingSourceGroup' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.InterlockingTargetGroup">
            <summary>
                The 'InterlockingTargetGroup' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.LogicObject">
            <summary>
                The 'LogicObject' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.Port">
            <summary>
                The 'Port' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.Process">
            <summary>
                The 'Process' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.ProcessStructure">
            <summary>
                The 'ProcessStructure' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.Product">
            <summary>
                The 'Product' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.ProductStructure">
            <summary>
                The 'ProductStructure' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.PropertySet">
            <summary>
                The 'PropertySet' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.Resource">
            <summary>
                The 'Resource' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.ResourceStructure">
            <summary>
                The 'ResourceStructure' RoleClass path
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.Structure">
            <summary>
                The 'Structure' RoleClass path
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsAutomationMLBaseRole(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                AutomationMLBaseRole RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsFacet(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                Facet RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsFrame(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                Frame RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsGroup(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                Group RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsInterlockingSourceGroup(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                InterlockingSourceGroup RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsInterlockingTargetGroup(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                InterlockingTargetGroup RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsLogicObject(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                LogicObject RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsPort(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                Port RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsProcess(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                Process RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsProcessStructure(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                ProcessStructure RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsProduct(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                Product RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsProductStructure(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                ProductStructure RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsPropertySet(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                PropertySet RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsResource(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                Resource RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsResourceStructure(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                ResourceStructure RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.IsStructure(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Determines whether the specified role reference defines an inheritance relation from the
                Structure RoleClass
            </summary>
            <param name="role">The role.</param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeAutomationMLBaseRole(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the AutomationML base role.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeFacet(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the facet.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeGroup(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the group.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakePort(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the port.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeProcess(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the process.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeProcessStructure(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the process structure.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeProduct(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the Product.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeProductStructure(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the product structure.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakePropertySet(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the property set.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeResource(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the resource.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeResourceStructure(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the resource structure.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib.MakeStructure(Aml.Engine.CAEX.IObjectWithRoleReference)">
            <summary>
                Makes the structure.
            </summary>
            <param name="usedRole">The used role.</param>
        </member>
        <member name="T:Aml.Engine.AmlObjects.DocumentVersions">
            <summary>
                The Class DocumentVersions defines extension methods for the <see cref="T:Aml.Engine.CAEX.CAEXFileType" /> 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"
                <seealso cref="T:Aml.Engine.AmlObjects.DocumentVersionInformation" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.DocumentVersions.DocumentElementName">
            <summary>
                The document element name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.DocumentVersions.DocumentIdentifierAttributeName">
            <summary>
                The document identifier attribute name used in the Document element
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.DocumentVersions.DocumentVersionsAttributeName">
            <summary>
                The document versions attribute name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.DocumentVersions.DocumentVersionsAttributeValue">
            <summary>
                The document versions attribute value
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.DocumentVersions.VersionAttributeName">
            <summary>
                The version attribute name used in the document element
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersions.AppendDocumentVersionInformation(Aml.Engine.CAEX.CAEXFileType,System.String,System.String,System.String@)">
            <summary>
                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.
            </summary>
            <param name="myCAEXFile">
                the CAEXFile of the AutomationML document
            </param>
            <param name="documentIdentifier">
                The "DocumentIdentifier" shall define the name of the referenced document.
            </param>
            <param name="documentVersion">
                The "Version" shall define the version range of the referenced document. The
                version number shall have three numbers separated by ".".
            </param>
            <param name="error">
                Out parameter with error information if provided values are not valid or null.
                Possibles errors are:
                <list type="bullet">
                    <item>
                        <description>No Document Identifier defined</description>
                    </item>
                    <item>
                        <description>DocumentVersion to be parsed is null</description>
                    </item>
                    <item>
                        <description>Negative value in version string</description>
                    </item>
                    <item>
                        <description>Bad number of components in version string</description>
                    </item>
                    <item>
                        <description>Non-integer value in version string</description>
                    </item>
                    <item>
                        <description>Number out of range in version string</description>
                    </item>
                </list>
            </param>
            <returns>
                true, if information is added, false otherwise.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersions.AppendDocumentVersionInformation(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.AmlObjects.DocumentVersionInformation,System.String@)">
            <summary>
                Appends the provided document version information to the AutomationML document
            </summary>
            <param name="myCAEXFile">
                The CAEX file of the AutomationML document.
            </param>
            <param name="versionInformation">
                The version information.
            </param>
            <param name="error">
                Out parameter containing error information if the method returns false.
                Possibles errors are:
                <list type="bullet">
                    <item>
                        <description>No Document Identifier defined</description>
                    </item>
                    <item>
                        <description>DocumentVersion to be parsed is null</description>
                    </item>
                    <item>
                        <description>Negative value in version string</description>
                    </item>
                    <item>
                        <description>Bad number of components in version string</description>
                    </item>
                    <item>
                        <description>Non-integer value in version string</description>
                    </item>
                    <item>
                        <description>Number out of range in version string</description>
                    </item>
                </list>
            </param>
            <returns>
                true if the version information could be added, false otherwise.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersions.CreateDocumentVersionsHeader(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Creates the additional information representing a document versions header and
                appends it to the AutomationML document.
            </summary>
            <param name="myCAEXFile">
                The CAEX file of the AutomationML document.
            </param>
            <returns>
                XElement.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersions.DeleteDocumentVersionInformation(Aml.Engine.CAEX.CAEXFileType,System.String)">
            <summary>
                This function deletes all existing DocumentVersion information from the
                AutomationML document corresponding to the documentID.
            </summary>
            <param name="myCAEXFile">
                this CAEX file of the AutomationML document
            </param>
            <param name="documentIdentifier">
                Document Identifier of the document version information, which should be deleted
            </param>
            <returns>
                true if delete succeeded, false if documentID has not been found
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersions.DocumentVersionsHeader(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Get the Additional Information XML-Node from the CAEXFile, which represents
                the Document Versions node.
            </summary>
            <param name="myCAEXFile">
                The CAEX file.
            </param>
            <returns>
                If the Document Version Node exists, the XElement is returned, otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersions.GetAllDocumentVersionInformation(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                This methods returns an Enumeration of all Information related to document
                versions defined in the "DocumentVersions" information of an AutomationML document.
            </summary>
            <param name="myCAEXFile">
                the CAEX file of the AutomationML document.
            </param>
            <returns>
                Enumerable containing all Documents in the DocumentVersion information, or
                null if no DocumentVersion information exists.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersions.GetDocumentVersionInformation(Aml.Engine.CAEX.CAEXFileType,System.String)">
            <summary>
                This function returns the DocumentVersion Information from the AutomationML
                document with the specified document Identifier, otherwise null.
            </summary>
            <param name="myCAEXFile">
                this CAEX file of the AutomationML document.
            </param>
            <param name="documentIdentifier">
                the Document Identifier
            </param>
            <returns>
                This function returns the DocumentVersion - Information corresponding to the
                document Identifier, otherwise null.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersions.ReplaceDocumentVersionInformation(Aml.Engine.CAEX.CAEXFileType,System.String,Aml.Engine.AmlObjects.DocumentVersionInformation,System.String@)">
            <summary>
                This function replaces any existing DocumentVersion information corresponding
                to the identical oldDocumentID with the provided new DocumentVersion information.
            </summary>
            <param name="myCAEXFile">
                The CAEX file of the AutomationML document.
            </param>
            <param name="oldDocumentID">
                Document identifier of the old DocumentVersion information
            </param>
            <param name="newDocumentVersionInformation">
                substitute for the old version of DocumentVersion information
            </param>
            <param name="error">
                error information if provided values are invalid
            </param>
            <returns>
                true if succeeded, false if DocumentVersion information corresponding to the
                oldDocumentID is not found
            </returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.DocumentVersionInformation">
            <summary>
                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". <see cref="T:Aml.Engine.AmlObjects.DocumentVersions" /> are stored
                as <see cref="P:Aml.Engine.CAEX.CAEXBasicObject.AdditionalInformation" /> attached to the CAEXFile Node of the AMLDocument.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersionInformation.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.DocumentVersionInformation" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.DocumentVersionInformation.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.DocumentVersionInformation" /> class
                using the provided XML node (this should be an
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ADDITIONALINFORMATION_STRING" />), containing document content.
            </summary>
            <param name="element">The element.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.DocumentVersionInformation.DocumentIdentifier">
            <summary>
                The document attribute "DocumentIdentifier" shall define the name of the
                referenced document.
            </summary>
            <value>
                The "DocumentIdentifier" of the document should not be changed.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.DocumentVersionInformation.Version">
            <summary>
                The document attribute "Version" shall define the version range of the
                referenced document.
            </summary>
            <value>
                The version number shall have three numbers separated by ".". The three
                numbers define "main version", "minor version" and "revision".
            </value>
        </member>
        <member name="T:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions">
            <summary>
                This class provides extensions methods for the identification of properties of AML objects, using CAEX objects.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.AMLAttributes(Aml.Engine.CAEX.IObjectWithAttributes)">
            <summary>
                Conversion of any object which has an attribute collection to get access
                to specific AutomationML defined attributes.
            </summary>
            <param name="caexObject">The CAEX object, providing the attribute collection.</param>
            <returns>The ObjectWithAMLAttributes which provides accessors for AutomationML defined attributes.</returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.AMLFacet(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Converts an InternalElementType to an AMLFacet.
            </summary>
            <param name="internalElement">The InternalElement object.</param>
            <returns>An AMLFacet object.</returns>
            <remarks>
                The conversion doesn't create the AMLFacet.
                Use <see cref="M:Aml.Engine.AmlObjects.AMLFacet.Create(Aml.Engine.CAEX.CAEXDocument,System.String)" /> method to create a Facet.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.AMLFile(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Converts a CAEX file to an AML file.
            </summary>
            <param name="caexFile">The CAEX file object.</param>
            <returns>An AMLFile object.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.AMLGroup(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Converts an InternalElementType to an AMLGroup.
            </summary>
            <param name="internalElement">The InternalElement object.</param>
            <returns>An AMLGroup object.</returns>
            <remarks>
                The conversion doesn't create the AMLGroup if the internalElement is not an AMLGroup
                Use <see cref="M:Aml.Engine.AmlObjects.AMLGroup.Create(Aml.Engine.CAEX.CAEXDocument,System.String)" /> method to create a Group.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.AMLPort(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Converts an InternalElementType to an AMLPort.
            </summary>
            <param name="internalElement">The InternalElement object.</param>
            <returns>An AMLPort object.</returns>
            <remarks>
                The conversion doesn't create the AMLPort.
                Use <see cref="M:Aml.Engine.AmlObjects.AMLPort.Create(Aml.Engine.CAEX.CAEXDocument,System.String)" /> method to create a Port.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.AMLSystemUnitClass(Aml.Engine.CAEX.SystemUnitClassType)">
            <summary>
                Converts an SystemUnitClassType to an AMLSystemUnitClass.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object.</param>
            <returns>An AMLSystemUnitClass object.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.AutomationMLVersion(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Gets the AutomationML version for this CAEXFile object.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>The AutomationML version assigned to the CAEXFile.</returns>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.ClearMetaInformation(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Removes all "Writer Header" specific meta information out of this CAEX file.
            </summary>
            <param name="caexFile">the CAEXFile</param>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.DeleteMetaInformation(Aml.Engine.CAEX.CAEXFileType,System.String)">
            <summary>
                This function deletes any existing meta information corresponding to the writerID.
            </summary>
            <param name="caexFile">this CAEX file</param>
            <param name="writerID">Writer ID</param>
            <returns>
                true if delete succeeded, false if writerID has not been found
            </returns>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.FrameAttribute(Aml.Engine.CAEX.IObjectWithAttributes)">
            <summary>
                Gets a defined FrameAttribute from the <see cref="P:Aml.Engine.CAEX.IObjectWithAttributes.Attribute" />
                collection of the <see cref="T:Aml.Engine.CAEX.IObjectWithAttributes" />.
                If no such attribute exists, <c>null</c> is returned.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>The FrameAttribute.</returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.GetMetaInformation(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                This methods returns an Enumeration of all "WriterHeader" meta information out of an
                existing AutomationML file.
            </summary>
            <param name="caexFile">the CAEX file</param>
            <returns>
                Enumerable with element containing all meta information, or null if no meta information
                is existing
            </returns>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.GetMetaInformation(Aml.Engine.CAEX.CAEXFileType,System.String)">
            <summary>
                This function returns the MetaInformation corresponding to the writerID, otherwise null.
            </summary>
            <param name="caexFile">this CAEX file</param>
            <param name="writerID">the writerID</param>
            <returns>
                This function returns the MetaInformation corresponding to the writerID, otherwise null.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.IsAMLFacet(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the InternalElement instance is an AMLFacet.
            </summary>
            <param name="internalElement">The internal element.</param>
            <returns>
                <c>true</c> if the specified internal element is an AMLFacet; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.IsAMLGroup(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the InternalElement instance is an AMLGroup.
            </summary>
            <param name="internalElement">The internal element.</param>
            <returns>
                <c>true</c> if the specified internal element is an AMLGroup; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.IsAMLObject(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c> if the CAEX object is an AutomationML object; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.IsAMLPort(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the InternalElement instance is an AMLPort.
            </summary>
            <param name="internalElement">The internal element.</param>
            <returns>
                <c>true</c> if the specified internal element is an AMLPort; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.IsFacetAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Determines, if the attribute is an attribute of an AMLFacet.
            </summary>
            <param name="facetAttribute">The facet attribute.</param>
            <returns>
                <c>true</c>, if the Attribute belongs to an AMLFacet.
            </returns>
            <exception cref="T:System.ArgumentNullException">facetAttribute</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.IsFacetInterface(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Determines, if the ExternalInterface object is an ExternalInterface of an AMLFacet.
            </summary>
            <param name="facetInterface">The facet Interface.</param>
            <returns>
                <c>true</c>, if the ExternalInterface belongs to an AMLFacet.
            </returns>
            <exception cref="T:System.ArgumentNullException">facetInterface</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.IsRefTypeAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Gets a value indicating whether this instance is a RefType attribute.
            </summary>
            <value>
                <c>true</c> if this instance is a RefType attribute; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.IsRefURIAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Gets a value indicating whether this instance is a RefURI attribute.
            </summary>
            <value>
                <c>true</c> if this instance is a RefURI attribute; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.New_FrameAttribute(Aml.Engine.CAEX.IObjectWithAttributes,Aml.Engine.AmlObjects.FrameValues)">
            <summary>
                Creates a new Frame attribute for the <see cref="T:Aml.Engine.CAEX.IObjectWithAttributes" /> if no Frame
                attribute exists.
                The provided values are used to initialize the Frame attribute values.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="frameValues">The frame values.</param>
            <returns>
                the new FrameAttributeType.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.RefTypeAttribute(Aml.Engine.CAEX.IObjectWithAttributes)">
            <summary>
                Gets the RefTypeAttribute from the <paramref name="objectWithAttributes" /> if one exists.
            </summary>
            <param name="objectWithAttributes">The object with attributes.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.RefURIAttribute(Aml.Engine.CAEX.IObjectWithAttributes)">
            <summary>
                Gets the RefURIAttribute from the <paramref name="objectWithAttributes" /> if one exists.
            </summary>
            <param name="objectWithAttributes">The object with attributes.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.ReplaceMetaInformation(Aml.Engine.CAEX.CAEXFileType,System.String,Aml.Engine.AmlObjects.MetaInformation)">
            <summary>
                This function replaces any existing meta information corresponding to the identical
                oldWriterID with the new meta information defined in the newMetainformation
            </summary>
            <param name="caexFile">My CAEX file.</param>
            <param name="oldWriterID">writerID of the old meta information</param>
            <param name="newMetainformation">substitute for the old version of meta information</param>
            <returns>
                true if succeeded, false if meta information about the oldWriterID is not found
            </returns>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.SetMetaInformation(Aml.Engine.CAEX.SourceDocumentInformationType,Aml.Engine.AmlObjects.MetaInformation)">
            <summary>
                Sets the properties for the specified SourceDocumentInformation object using the provided MetaInformation
            </summary>
            <param name="sourceDocumentInformation">The source document information.</param>
            <param name="metaInformation">The meta information.</param>
            <exception cref="T:System.ArgumentNullException">
                sourceDocumentInformation
                or
                metaInformation
            </exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.SetMetaInformation(Aml.Engine.CAEX.CAEXFileType,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="caexFile">the CAEXFile</param>
            <param name="writerName">the name of the writing tool</param>
            <param name="writerID">an ID of the writing tool</param>
            <param name="writerVendor">the tool vendors name</param>
            <param name="writerVendorURL">the tools vendors URL</param>
            <param name="writerVersion">the version of the writing tool</param>
            <param name="writerRelease">the release number of the writing tool</param>
            <param name="lastWritingDateTime">the date of the last writing time</param>
            <param name="writerProjectTitle">the title of the written project</param>
            <param name="writerProjectID">an ID of the written project</param>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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 <see cref="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.SetSourceDocumentInformation(Aml.Engine.CAEX.CAEXFileType,System.String,System.String,System.String,System.String,System.String,System.String,System.DateTime,System.String,System.String)" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.SetMetaInformation(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.AmlObjects.MetaInformation)">
            <summary>
                This method is a short version of the setMetaInformation. Meta data with identical
                WriterID is replaced.
            </summary>
            <param name="caexFile">the CAEXFile</param>
            <param name="metaInformation">the structure MetaInformation</param>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.SetMetaInformationStandardAutomationMLLibrary(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                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.
            </summary>
            <param name="caexFile">the CAEXFile</param>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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 <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.SetSourceDocumentInformation(Aml.Engine.CAEX.CAEXFileType,System.String,System.String,System.String,System.String,System.String,System.String,System.DateTime,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="caexFile">the CAEXFile</param>
            <param name="originName">the name of the writing tool</param>
            <param name="originID">an ID of the writing tool</param>
            <param name="originVendor">the tool vendors name</param>
            <param name="originVendorURL">the tools vendors URL</param>
            <param name="originVersion">the version of the writing tool</param>
            <param name="originRelease">the release number of the writing tool</param>
            <param name="lastWritingDateTime">the date of the last writing time</param>
            <param name="originProjectTitle">the title of the written project</param>
            <param name="originProjectID">an ID of the written project</param>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <remarks>
                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
                <see
                    cref="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.SetMetaInformation(Aml.Engine.CAEX.CAEXFileType,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)" />
                .
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.ToRefTypeAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Converts an AttributeType to a RefTypeAttribute.
            </summary>
            <param name="attribute">The AttributeType object.</param>
            <returns>An RefTypeAttributeType object.</returns>
            <remarks>
                The conversion doesn't create the RefTypeAttributeType.
                Use <see cref="M:Aml.Engine.AmlObjects.RefTypeAttributeType.Create(Aml.Engine.CAEX.CAEXDocument)" /> method to create a RefTypeAttributeType.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.Extensions.AmlObjectsExtensions.ToRefURIAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Converts an AttributeType to a RefUriAttribute.
            </summary>
            <param name="attribute">The AttributeType object.</param>
            <returns>An RefURIAttributeType object.</returns>
            <remarks>
                The conversion doesn't create the RefURIAttributeType.
                Use <see cref="M:Aml.Engine.AmlObjects.RefURIAttributeType.Create(Aml.Engine.CAEX.CAEXDocument)" /> method to create a RefURIAttributeType.
            </remarks>
        </member>
        <member name="T:Aml.Engine.AmlObjects.ExternalDataReference">
            <summary>
                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.
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ExternalDataReference.AutomationMLBPRInterfaceClassLibName">
            <summary>
                The name of the library containing interface classes specified in BPR documents
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ExternalDataReference.AutomationMLBPRRoleClassLibName">
            <summary>
                The name of the library containing role classes specified in BPR documents
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataReferenceInterfaceClassName">
            <summary>
                The name for the ExternalDataReference interface class
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataReferenceInterfaceClassPath">
            <summary>
                The class path for the ExternalDataReference interface class
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataRoleClassName">
            <summary>
                The name for the ExternalData role class
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataRoleClassPath">
            <summary>
                The class path for the ExternalData role class
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ExternalDataReference.LanguageAttributeName">
            <summary>
                The language attribute name
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AddAutomationMLBPRInterfaceClassLib(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Adds the AutomationMLBPRInterfaceClassLib containing all interface classes
                used to model external document references to the AMLDocument.
            </summary>
            <param name="caexFile">The CAEX file of the AMLDocument.</param>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">
                Different CAEX Versions used;
                register the SchemaTransform service to import the AutomationMLBPRInterfaceClassLib in your current document.
            </exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AddAutomationMLBPRRoleClassLib(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Adds the AutomationMLBPRRoleClassLib containing all role classes used to model
                external document references to the AMLDocument.
            </summary>
            <param name="caexFile">The CAEX file of the AMLDocument.</param>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">
                Different CAEX Version used;
                register the SchemaTransform service to import the AutomationMLBPRRoleClassLib in your current document.
            </exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AddDocumentElement(Aml.Engine.CAEX.SystemUnitClassType,System.String,System.String)">
            <summary>
                Adds a document element to the defined internalElement. A Document Element is semantically described
                with an attached role defined with the base role class <see cref="F:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataRoleClassPath" /> 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 <see cref="F:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataRoleClassPath" />
                no document element is added (returns null).
            </summary>
            <param name="internalElement">
                The internalElement.
            </param>
            <param name="name">
                The name of the document element.
            </param>
            <param name="externalDataRoleClassPath">
                The Role class path to a role class, derived from the ExternalData Role Class
                <see cref="F:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataRoleClassPath" />
            </param>
            <returns>
                created InternalElementType document element or <c>null</c> if the role class is invalid
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AddDocumentElementRole(Aml.Engine.CAEX.InternalElementType,System.String)">
            <summary>
                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 <see cref="F:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataRoleClassPath" />
                no role reference is added (returns false).
            </summary>
            <param name="internalElement">The internalElement.</param>
            <param name="externalDataRoleClassPath">path to the role class</param>
            <returns>
                true, if a supported role class with the defined path is added <c>false</c> if the role class is invalid
            </returns>
            <exception cref="T:System.NullReferenceException">InternalElement not contained in CAEXDocument</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AddDocumentReference(Aml.Engine.CAEX.InternalElementType,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="documentElement">The document element.</param>
            <param name="referenceName">The name for the referencing interface.</param>
            <param name="externalDataReferenceInterfaceClassPath">The external data reference interface class path.</param>
            <returns>
                The InterfaceClass which is created as a reference to the external data.
            </returns>
            <exception cref="T:System.NullReferenceException">Element is not contained in a CAEXDocument</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AddExternalDataReferenceLibraries(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                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.
            </summary>
            <param name="caexFile">The CAEX file of the AMLDocument.</param>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AddLanguage(Aml.Engine.CAEX.InternalElementType,System.String)">
            <summary>
                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.
            </summary>
            <param name="internalElement">The internal element.</param>
            <param name="language">The language specification.</param>
            <exception cref="T:System.ArgumentNullException">internalElement</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AutomationMLBPRInterfaceClassLib(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Gets the AutomationMLBPRInterfaceClassLib containing all interface classes
                used to model external document references to the AMLDocument.
            </summary>
            <param name="caexFile">The CAEX file of the AMLDocument.</param>
            <returns>The AutomationMLBPRInterfaceClassLib</returns>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.AutomationMLBPRRoleClassLib(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Gets the AutomationMLBPRRoleClassLib containing all role classes used to model
                external document references to the AMLDocument.
            </summary>
            <param name="caexFile">The CAEX file of the AMLDocument.</param>
            <returns>The AutomationMLBPRRoleClassLib.</returns>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.DocumentElements(Aml.Engine.CAEX.SystemUnitClassType)">
            <summary>
                Gets all Internal Element Children from the specified internal element which
                are document elements.
            </summary>
            <param name="internalElement">The internal element.</param>
            <returns>
                Enumeration of InternalElement objects, which are document elements.
            </returns>
            <exception cref="T:System.ArgumentNullException">internalElement</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataReferenceInterfaceClass(Aml.Engine.CAEX.InterfaceClassLibType)">
            <summary>
                Gets the ExternalDataReference InterfaceClass from the AutomationMLBPRInterfaceClassLib.
            </summary>
            <param name="automationMLBPRInterfaceClassLib">The AutomationMLBPRInterfaceClassLib.</param>
            <returns>The 'ExternalDataReference' InterfaceClass.</returns>
            <exception cref="T:System.ArgumentNullException">automationMLBPRInterfaceClassLib</exception>
            <exception cref="T:System.NullReferenceException">
                Couldn't locate the ExternalDataReference InterfaceClass
                or Couldn't locate the CAEX file of the InterfaceClass.
            </exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataReferenceInterfaceClass(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Gets the 'ExternalDataReference' InterfaceClass from the AML document.
            </summary>
            <param name="caexFile">The CAEX file of the AML document.</param>
            <returns>The 'ExternalDataReference' InterfaceClass.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataRoleClass(Aml.Engine.CAEX.RoleClassLibType)">
            <summary>
                Gets the 'ExternalData' RoleClass from the AutomationMLBPRRoleClassLib.
            </summary>
            <param name="automationMLBPRRoleClassLib">The AutomationMLBPRRoleClassLib.</param>
            <returns>The ExternalData RoleClass.</returns>
            <exception cref="T:System.NullReferenceException">Couldn't locate the ExternalData role class</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.ExternalDataRoleClass(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Gets the ExternalData RoleClass from the AML document.
            </summary>
            <param name="caexFile">The CAEX file of the AML document.</param>
            <returns>The ExternalData RoleClass</returns>
            <exception cref="T:System.ArgumentNullException">caexFile</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.GetLanguages(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Gets the languages, defined for the document element. If the given internal element is not
                a document element, the collection is empty.
            </summary>
            <param name="documentElement">The document element.</param>
            <returns>
                IEnumerable&lt;System.String&gt;.
            </returns>
            <exception cref="T:System.ArgumentNullException">documentElement</exception>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ExternalDataReference.IsDocumentElement(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the specified internal element is a document element.
            </summary>
            <param name="documentElement">The internal element.</param>
            <returns><c>true</c> if [is document element] [the specified internal element]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.FacetAttributeSequence">
            <summary>
                This class defines a sequence of Attributes which belong to an <see cref="T:Aml.Engine.AmlObjects.AMLFacet" />. 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)]
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.AttributeSequence" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetAttributeSequence.#ctor(System.Xml.Linq.XElement,System.Func{System.Xml.Linq.XElement,Aml.Engine.CAEX.AttributeType})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.FacetAttributeSequence" /> class.
            </summary>
            <param name="owner">The owner.</param>
            <param name="create">The constructor function to create an Attribute wrapper.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetAttributeSequence.Append">
            <summary>
                This method is not applicable if the owner is an <see cref="T:Aml.Engine.AmlObjects.AMLFacet" />.
            </summary>
            <returns>
                The created and appended CAEX object if the owner is not an <see cref="T:Aml.Engine.AmlObjects.AMLFacet" />.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetAttributeSequence.Append(System.String)">
            <summary>
                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 <see cref="T:Aml.Engine.AmlObjects.AMLFacet" />.
                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.
            </summary>
            <param name="name">The name of the Attribute.</param>
            <returns>The created and appended Attribute, if the conditions were fulfilled; otherwise <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetAttributeSequence.Insert(Aml.Engine.CAEX.AttributeType,System.Boolean)">
            <summary>
                Inserts the specified attribute into this sequence. Before the attribute is inserted, it is checked,
                if it is a valid Facet attribute.
            </summary>
            <param name="attribute">The Attribute.</param>
            <param name="asFirst">
                optional parameter, if set to <c>true (default)</c> the element is prepended to already existing ones,
                otherwise it is appended.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetAttributeSequence.Prepend">
            <summary>
                This method is not applicable for Facet attributes.
            </summary>
            <returns>The created and prepended Attribute, if the owner is not an <see cref="T:Aml.Engine.AmlObjects.AMLFacet" />.</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.FacetExternalInterfaceSequence">
            <summary>
                This class defines a sequence of ExternalInterfaces which belong to an <see cref="T:Aml.Engine.AmlObjects.AMLFacet" />. 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)]
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ExternalInterfaceSequence" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetExternalInterfaceSequence.#ctor(System.Xml.Linq.XElement,System.Func{System.Xml.Linq.XElement,Aml.Engine.CAEX.ExternalInterfaceType})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.FacetExternalInterfaceSequence" /> class.
            </summary>
            <param name="owner">The owner.</param>
            <param name="create">The constructor function to create an ExternalInterface object.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetExternalInterfaceSequence.Append">
            <summary>
                This method is not applicable for ExternalInterfaces, if the owner is an AMLFacet.
            </summary>
            <returns>
                The created ExternalInterface object, if the method is applied.
            </returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetExternalInterfaceSequence.Append(System.String)">
            <summary>
                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.
            </summary>
            <param name="name">The name of the new ExternalInterface object.</param>
            <returns>The appended ExternalInterface.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetExternalInterfaceSequence.Insert(Aml.Engine.CAEX.ExternalInterfaceType,System.Boolean)">
            <summary>
                Inserts the specified ExternalInterface  into this sequence. Before the ExternalInterface  is inserted, it is
                checked,
                if it is a valid Facet-ExternalInterface.
            </summary>
            <param name="extInterface">The ExternalInterface.</param>
            <param name="asFirst">
                optional parameter, if set to <c>true (default)</c> the element is prepended to already existing ones,
                otherwise it is appended.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FacetExternalInterfaceSequence.Prepend">
            <summary>
                This method is not applicable for ExternalInterfaces, if the owner is an AMLFacet.
            </summary>
            <returns>The prepended ExternalInterface.</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.FrameAttributeType">
            <summary>
                This class is a wrapper for the AutomationML Attribute 'Frame'. To get access
                to instances of this type, use the <see cref="T:Aml.Engine.AmlObjects.ObjectWithAMLAttributes" /> implicit
                type conversion operator, defined for all CAEX objects which are allowed to
                contain Attribute objects.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.AttributeType" />
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameAttributeType.FRAME_NAME">
            <summary>
                The frame name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameAttributeType.RX_Name">
            <summary>
                The rx name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameAttributeType.RY_Name">
            <summary>
                The ry name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameAttributeType.RZ_Name">
            <summary>
                The rz name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameAttributeType.X_Name">
            <summary>
                The x name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameAttributeType.Y_Name">
            <summary>
                The y name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameAttributeType.Z_Name">
            <summary>
                The z name
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameAttributeType.FormatInfo">
            <summary>
                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
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameAttributeType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Creates a wrapper for the specified Frame Attribute. It is not checked, if the provided attribute Node
                represents a valid Frame attribute.
            </summary>
            <param name="attributeNode">An 'Attribute' XML node.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameAttributeType.#ctor(System.Xml.Linq.XElement,Aml.Engine.AmlObjects.FrameValues)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.FrameAttributeType" /> 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.
            </summary>
            <param name="init">The initialize.</param>
            <param name="frameValues">The frame values.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameAttributeType.Frame">
            <summary>
                Gets and sets the frame values for this FrameAttribute
            </summary>
            <value>The frame.</value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameAttributeType.RxAttribute">
            <summary>
                The Rx-attribute
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameAttributeType.RyAttribute">
            <summary>
                The Ry-attribute
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameAttributeType.RzAttribute">
            <summary>
                The Rz-attribute
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameAttributeType.XAttribute">
            <summary>
                The X-attribute
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameAttributeType.YAttribute">
            <summary>
                The Y-attribute
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameAttributeType.ZAttribute">
            <summary>
                The Z-attribute
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameAttributeType.Create(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Creates a new FrameAttribute using the specified document.
            </summary>
            <param name="doc">The document.</param>
            <returns>The Frame attribute</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameAttributeType.IsFrame(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified node models an AutomationML Frame-Attribute.
            </summary>
            <param name="node">The node.</param>
            <returns><c>true</c> if the specified node is frame; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameAttributeType.IsFrameAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Gets a value indicating whether the attribute is a Frame attribute.
            </summary>
            <value>
                <c>true</c> if the attribute is a frame attribute; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameAttributeType.ValidateAndRepairFrameDatatypes(System.Xml.Linq.XElement)">
            <summary>
                Validates and repairs the frame data types if the data type is not defined or not of type 'xs:double'
            </summary>
            <param name="node">The node.</param>
            <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameAttributeType.CreateFrameAttributes">
            <summary>
                Creates a new (sub-)attribute for each frame value if not already existing
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameAttributeType.FramePropertyChanged(Aml.Engine.AmlObjects.FrameValues,System.String)">
            <summary>
                Event handler for the PropertyChanged event when an attribute value of the frame has been updated
            </summary>
            <param name="frameValues">The FrameValues object</param>
            <param name="propertyName">The name of the property that changed</param>
        </member>
        <member name="T:Aml.Engine.AmlObjects.FrameValues">
            <summary>
                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.
            </summary>
        </member>
        <member name="E:Aml.Engine.AmlObjects.FrameValues.PropertyChanged">
            <summary>
                occurs, when a property changed
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameValues.NotifyPropertyChanged(System.String)">
            <summary>
                Notifies the property changed.
            </summary>
            <param name="info">The information.</param>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameValues._rx">
            <summary>
                Rotation around x-axis
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameValues._ry">
            <summary>
                Rotation around y-axis
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameValues._rz">
            <summary>
                Rotation around z-axis
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameValues._x">
            <summary>
                X position
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameValues._y">
            <summary>
                Y position
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.FrameValues._z">
            <summary>
                Z position
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameValues.#ctor">
            <summary>
                Creating a new FrameValues object with initially all values set to 0.0
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.FrameValues.#ctor(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
                Creating a new FrameValues object with the given frame values
            </summary>
            <param name="x">The x value</param>
            <param name="y">The y value</param>
            <param name="z">The z value</param>
            <param name="rx">The rx value</param>
            <param name="ry">The ry value</param>
            <param name="rz">The rz value</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameValues.Rx">
            <summary>
                Gets or sets the rx.
            </summary>
            <value>The rx.</value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameValues.Ry">
            <summary>
                Gets or sets the ry.
            </summary>
            <value>The ry.</value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameValues.Rz">
            <summary>
                Gets or sets the rz.
            </summary>
            <value>The rz.</value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameValues.X">
            <summary>
                Gets or sets the x.
            </summary>
            <value>The x.</value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameValues.Y">
            <summary>
                Gets or sets the y.
            </summary>
            <value>The y.</value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.FrameValues.Z">
            <summary>
                Gets or sets the z.
            </summary>
            <value>The z.</value>
        </member>
        <member name="T:Aml.Engine.AmlObjects.ListAttribute">
            <summary>
                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
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ListAttribute.ListTypeName">
            <summary>
                The list type name used as a semantic ref type for unordered list attributes
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.ListAttribute.OrderedListTypeName">
            <summary>
                The list type name used as a semantic ref type for ordered list attributes
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.AddListItem(Aml.Engine.CAEX.AttributeType,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="attribute">The List attribute.</param>
            <param name="itemType">Type of the new item (ignored for a list attribute containing items)</param>
            <param name="itemName">Name of the item (ignored for an ordered list attribute).</param>
            <returns>the added list item Attribute.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.ConvertToListAttribute(Aml.Engine.CAEX.AttributeType,System.String)">
            <summary>
                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.
            </summary>
            <param name="attribute">The attribute.</param>
            <param name="itemName">The name of the converted item</param>
            <returns>true, if the conversion was done, otherwise false.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.CreateListAttribute(Aml.Engine.CAEX.IObjectWithAttributes,System.String,System.Int32,System.String,System.String,System.Boolean)">
            <summary>
                Creates a new list attribute for an element which can have attributes.
            </summary>
            <param name="element">The element.</param>
            <param name="attributeName">Name of the new list attribute.</param>
            <param name="itemsCount">The items count for initialization of the containing attribute items.</param>
            <param name="itemType">Type of the item (unique for all items).</param>
            <param name="itemName">
                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.
            </param>
            <param name="isOrderedList">if set to <c>true</c> the list is an ordered list.</param>
            <returns>The list AttributeType.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.IsListAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Determines whether the specified attribute is a list attribute. This can be ordered or unordered.
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if [is list attribute] [the specified attribute]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.IsOrderedListAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Determines whether the specified attribute is an ordered list attribute.
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if [is list attribute] [the specified attribute]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.IsUnOrderedListAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Determines whether the specified attribute is an unordered list attribute.
            </summary>
            <param name="attribute">The attribute.</param>
            <returns><c>true</c> if [is list attribute] [the specified attribute]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.ListItems(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Gets the values of all items in the list attribute
            </summary>
            <param name="attribute">The attribute.</param>
            <returns>Enumeration of the list items.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.ListItemValues(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Gets the values of all items in the list attribute
            </summary>
            <param name="attribute">The attribute.</param>
            <returns>Enumeration of the values of the list items.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ListAttribute.MakeListAttribute(Aml.Engine.CAEX.AttributeType,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="attribute">The attribute.</param>
            <param name="isOrdered">If set to <c>true</c> the attribute is converted to an ordered list attribute</param>
            <returns>true, if the conversion was done, otherwise false.</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.MetaInformation">
            <summary>
                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
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
                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.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.MetaInformation.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.MetaInformation" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.MetaInformation.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.MetaInformation" /> class, using a WriterHeader node
                to populate the properties.
            </summary>
            <param name="writerHeader">The writer header.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.MetaInformation.#ctor(Aml.Engine.CAEX.SourceDocumentInformationType)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.MetaInformation" /> class using the information
                provided from the specified SourceDocumentInformation
            </summary>
            <param name="sourceDocumentInformation">The SourceDocumentInformation object.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.LastWritingDateTime">
            <summary>
                time stamp of the AutomationML export
            </summary>
            <value>
                The last writing date time.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.WriterID">
            <summary>
                the ID of the writer tool, maybe identical to the tools name if it is not subject of change
            </summary>
            <value>
                The writer identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.WriterName">
            <summary>
                the name of the writer tool (e.g. CoDeSys)
            </summary>
            <value>
                The name of the writer.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.WriterProjectID">
            <summary>
                ID of the project that contains the source engineering data
            </summary>
            <value>
                The writer project identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.WriterProjectTitle">
            <summary>
                name of the project that contains the source engineering data
            </summary>
            <value>
                The writer project title.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.WriterRelease">
            <summary>
                release information about the writer tool, e.g. "beta12"
            </summary>
            <value>
                The writer release.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.WriterVendor">
            <summary>
                the vendor of the writer tool, e.g. "3S"
            </summary>
            <value>
                The writer vendor.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.WriterVendorURL">
            <summary>
                the web URL of the vendor - helps to get in contact to the vendor
            </summary>
            <value>
                The writer vendor URL.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.MetaInformation.WriterVersion">
            <summary>
                version of the writer tool, e.g. "3.4"
            </summary>
            <value>
                The writer version.
            </value>
        </member>
        <member name="T:Aml.Engine.AmlObjects.AMLGroupInternalElementSequence">
            <summary>
                This class is used to support the AMLGroup concept. An AMLGroup object shall only contain InternalElements which
                are
                AMLMirrorObjects and/or further AMLGroup objects.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.InternalElementSequence" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLGroupInternalElementSequence.#ctor(System.Xml.Linq.XElement,System.Func{System.Xml.Linq.XElement,Aml.Engine.CAEX.InternalElementType})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.AMLGroupInternalElementSequence" /> class.
            </summary>
            <param name="owner">The owner.</param>
            <param name="create">Function to create an <see cref="T:Aml.Engine.CAEX.InternalElementType" />.</param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.AMLGroupInternalElementSequence.Insert(Aml.Engine.CAEX.InternalElementType,System.Boolean)">
            <summary>
                Inserts the specified InternalElement  into this sequence. Before the InternalElement  is inserted, it is checked,
                if it is a valid Group-InternalElement.
            </summary>
            <param name="internalElement">The InternalElement.</param>
            <param name="asFirst">
                optional parameter, if set to <c>true (default)</c> the element is prepended to already existing ones,
                otherwise it is appended.
            </param>
        </member>
        <member name="M:Aml.Engine.AmlObjects.MimeType.MimeTypeMap.GetMimeType(System.String)">
            <summary>
                Gets the MIME.
            </summary>
            <param name="extension">The file extension.</param>
            <returns>List&lt;System.String&gt;Mime List.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.MimeType.MimeTypeMap.GetExtension(System.String)">
            <summary>
                Gets the extension.
            </summary>
            <param name="mimeType">Type of the MIME.</param>
            <returns>List&lt;System.String&gt;file extension.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.MimeType.MimeTypeMap.GetKnownExtensions(System.String)">
            <summary>
                Gets the known extensions.
            </summary>
            <param name="mimeType">Type of the MIME.</param>
            <returns>IEnumerable&lt;System.String&gt; All known file extensions.</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.NamespaceDoc">
            <summary>
                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.
            </summary>
        </member>
        <member name="T:Aml.Engine.AmlObjects.ObjectWithAMLAttributes">
            <summary>
                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
                <see cref="T:Aml.Engine.CAEX.IObjectWithAttributes" /> interface.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXObject" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithAttributes" />
        </member>
        <member name="M:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.#ctor(Aml.Engine.CAEX.IObjectWithAttributes)">
            <summary>
                Creates a wrapper to access specific AML Attributes for the provides object with attributes
            </summary>
            <param name="caexObject">The CAEX object.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.Attribute">
            <summary>
                Get the collection of all attributes of this object. Inherited Attributes are not included.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.CAEXBase">
            <summary>
                The CAEXWrapper of the base CAEXObject which contains the here defined AML attributes
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.AttributeAndDescendants">
            <summary>
                Gets the attributes and all nested attributes.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.FrameAttribute">
            <summary>
                Gets a defined FrameAttribute from the <see cref="P:Aml.Engine.CAEX.IObjectWithAttributes.Attribute" /> collection of the
                <see cref="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.CAEXBase" />.
                If no such attribute exists, <c>null</c> is returned.
            </summary>
            <value>
                The frame attribute.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.RefTypeAttribute">
            <summary>
                Gets a defined RefTypeAttribute from the <see cref="P:Aml.Engine.CAEX.IObjectWithAttributes.Attribute" />  collection of the
                <see cref="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.CAEXBase" />.
                If no such attribute exists, <c>null</c> is returned.
            </summary>
        </member>
        <member name="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.RefURIAttribute">
            <summary>
                Gets a defined RefURIAttribute from the <see cref="P:Aml.Engine.CAEX.IObjectWithAttributes.Attribute" />  collection of the
                <see cref="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.CAEXBase" />.
                If no such attribute exists, <c>null</c> is returned.
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.New_FrameAttribute(Aml.Engine.AmlObjects.FrameValues)">
            <summary>
                Creates a new Frame attribute for the <see cref="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.CAEXBase" /> if no Frame
                attribute exists.
                The provided values are used to initialize the Frame attribute values.
            </summary>
            <param name="frameValues">The frame values for initialization.</param>
            <returns>the new FrameAttributeType.</returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.New_RefUriAttribute(System.String)">
            <summary>
                Creates a new RefURI attribute for the <see cref="P:Aml.Engine.AmlObjects.ObjectWithAMLAttributes.CAEXBase" /> object if none exists.
                The RefURI attribute value is set to the provided Uri.
            </summary>
            <param name="uri">The Uri string.</param>
            <returns>the RefURIAttributeType.</returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.AmlObjects.RefTypeAttributeType">
            <inheritdoc />
            <summary>
                RefType attribute is an Attribute of a ColladaInterface
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.RefTypeAttributeType.REF_TYPE_ATTRIBUTE">
            <summary>
                The ref type attribute
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefTypeAttributeType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.RefTypeAttributeType" /> class.
            </summary>
            <param name="init">The initialize.</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.RefTypeAttributeType.IsRefTypeAttribute">
            <summary>
                Gets a value indicating whether this instance is a RefURI attribute.
            </summary>
            <value>
                <c>true</c> if this instance is a RefURI attribute; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="F:Aml.Engine.AmlObjects.RefTypeAttributeType.EXPLICIT">
            <summary>
                The explicit ref type
            </summary>
        </member>
        <member name="F:Aml.Engine.AmlObjects.RefTypeAttributeType.IMPLICIT">
            <summary>
                The implicit ref type
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefTypeAttributeType.Create(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Creates a new RefURIAttribute using the specified document.
            </summary>
            <param name="doc">The document.</param>
            <returns>The RefTypeAttributeType attribute</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefTypeAttributeType.IsExplicit">
            <summary>
                Determines whether this is an 'explicit' RefType
            </summary>
            <returns><c>true</c> if this instance is explicit; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefTypeAttributeType.IsImplicit">
            <summary>
                Determines whether this is an 'implicit' RefType
            </summary>
            <returns><c>true</c> if this instance is implicit; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:Aml.Engine.AmlObjects.RefURIAttributeType">
            <summary>
                This class is a wrapper for the AutomationML defined Attribute 'RefURI'. To get access
                to instances of this type, use the <see cref="T:Aml.Engine.AmlObjects.ObjectWithAMLAttributes" /> implicit
                type conversion operator, defined for all CAEX objects which are allowed to
                contain Attribute objects.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.AttributeType" />
        </member>
        <member name="F:Aml.Engine.AmlObjects.RefURIAttributeType.REF_URI_ATTRIBUTE">
            <summary>
                The ref Uri attribute
            </summary>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefURIAttributeType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.AmlObjects.RefURIAttributeType" /> class.
            </summary>
            <param name="attributeNode">An 'Attribute' XML node</param>
        </member>
        <member name="P:Aml.Engine.AmlObjects.RefURIAttributeType.FilePath">
            <summary>
                Gets the pure file path of this external reference attribute without the identifier.
            </summary>
            <value>The file path.</value>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefURIAttributeType.UriReferencesAreEqual(System.String)">
            <summary>
            Determines, ob the refUri is equal to the attributes value
            </summary>
            <param name="refUri"></param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.AmlObjects.RefURIAttributeType.IsRefURIAttribute">
            <summary>
                Gets a value indicating whether this instance is a RefURI attribute.
            </summary>
            <value>
                <c>true</c> if this instance is a RefURI attribute; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.RefURIAttributeType.ReferencedNode">
            <summary>
                Gets the referenced node.
            </summary>
            <value>The referenced node.</value>
        </member>
        <member name="P:Aml.Engine.AmlObjects.RefURIAttributeType.TheUri">
            <summary>
                Gets or sets the URI.
            </summary>
            <value>The URI.</value>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefURIAttributeType.Create(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Creates a new RefURIAttribute using the specified document.
            </summary>
            <param name="doc">The document.</param>
            <returns>The RefURIAttribute attribute</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefURIAttributeType.IsAbsoluteUri">
            <summary>
                Determines whether [is absolute URI].
            </summary>
            <returns><c>true</c> if [is absolute URI]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.AmlObjects.RefURIAttributeType.IsFile">
            <summary>
                Determines whether this instance is file.
            </summary>
            <returns><c>true</c> if this instance is file; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXException">
            <summary>
                The CAEX exception class.
            </summary>
            <seealso cref="T:System.Exception" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXException" /> class.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo" />, which contains the serialized
                object data for the thrown exception.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext" />, containing context
                information about the source or destination.
            </param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXException.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXException" /> class.
            </summary>
            <param name="message">The message describing the error.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXException.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXException" /> class.
            </summary>
            <param name="message">The error message explaining the cause of the exception.</param>
            <param name="innerException">
                The exception that caused the current exception, or a null reference (
                <see langword="Nothing" /> in Visual Basic) if no inner exception is specified.
            </param>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1">
            <summary>
                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.
            </summary>
            <typeparam name="T">this is any CAEX object type</typeparam>
            <seealso cref="T:Aml.Engine.CAEX.CAEXSequence`1" />
            <seealso cref="T:Aml.Engine.CAEX.CAEXObject" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1.CreateElement(System.Xml.Linq.XElement)">
            <summary>
                Creates a new XML node and assigns the provided name to the CAEX 'Name' attribute.
            </summary>
            <param name="owner">The owner.</param>
            <returns>The created XML node.</returns>
            <exception cref="T:System.ArgumentNullException">owner</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1.#ctor(System.Xml.Linq.XElement,System.String,System.Func{System.Xml.Linq.XElement,`0})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1" /> class.
            </summary>
            <param name="owner">The owner.</param>
            <param name="caexName">The CAEX element name.</param>
            <param name="create">The constructor function to create a wrapper.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1.#ctor(System.Xml.Linq.XElement,System.String,System.Func{System.Xml.Linq.XElement,`0},System.Predicate{System.Xml.Linq.XElement})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1" /> class with condition.
            </summary>
            <param name="owner"></param>
            <param name="caexName"></param>
            <param name="create"></param>
            <param name="condition"></param>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1.Item(System.String)">
            <summary>
                Gets the first CAEX object with this name from the sequence of elements.
            </summary>
            <param name="name">the name of the CAEX object.</param>
            <returns>
                a CAEX object
            </returns>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1.Item(System.String[])">
            <summary>
                Gets the CAEX object which can be identified with a CAEX path, where the path parts are defined
                in the provided array of names.
            </summary>
            <param name="caexObjectNames">The names extracted from a CAEX path.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1.Append(System.String)">
            <summary>
                Creates a new CAEX object with the specified name and appends it to the sequence.
            </summary>
            <param name="name">the name of the CAEX object. If a <see cref="T:Aml.Engine.Services.Interfaces.IUniqueName" /></param>
            service
            is registered, the name may be altered to be unique in this sequence.
            <returns>the created CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1.Insert(`0,System.Boolean)">
            <summary>
                Inserts the specified element into this sequence. If nothing is specified the element is added.
                If the asFirst is set to <c>true</c>, 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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                optional parameter, if set to <c>true (default)</c> the element is prepended to already existing ones,
                otherwise it is appended.
            </param>
            <returns>
                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.
            </returns>
            <remarks>
                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.
            </remarks>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1.Prepend(System.String)">
            <summary>
                Creates a new CAEX object with the specified name and prepends it to the sequence.
            </summary>
            <param name="name">the name of the CAEX object. If a <see cref="T:Aml.Engine.Services.Interfaces.IUniqueName" /></param>
            service
            is registered, the name may be altered to be unique in this sequence.
            <returns>the created CAEX object.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CaexValue">
            <summary>
                This class can be used for a type based access to the value attributes of a CAEX element. It is required, that the
                <see cref="P:Aml.Engine.CAEX.AttributeTypeType.AttributeDataType" /> is set according to the XSD Schema types.
                If the AttributeDataType is not defined, the type <c>xs:string</c> is assumed and the value is not encoded/decoded.
                CAEX Elements, which use this feature are <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" />,
                <see cref="T:Aml.Engine.CAEX.NominalScaledTypeType" />
                and <see cref="T:Aml.Engine.CAEX.AttributeTypeType" /> and their derivations.
                The interface <see cref="T:Aml.Engine.CAEX.IAttributeValueType" /> is implemented by these classes. The type based conversion is
                implemented, using XML specific decoding and encoding methods,
                defined in the .NET class <see cref="T:System.Xml.XmlConvert" />. The decoded/encoded value for an attribute can be accessed via
                the <see cref="P:Aml.Engine.CAEX.Extensions.CaexValue.Value" /> property.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.#ctor">
            <summary>
                prevents public instantiation
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Extensions.CaexValue.DefaultValue">
            <summary>
                Gets a default decoded value according to the defined AttributeDataType
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Extensions.CaexValue.FriendlyValueString">
            <summary>
                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.
            </summary>
            <value>
                The friendly string.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.Extensions.CaexValue.TypeAttribute">
            <summary>
                Gets the Attribute, which defines the AttributeDataType.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Extensions.CaexValue.TypeCodeOfAttribute">
            <summary>
                Gets the .NET Type code which is converted from the XSD Schema attribute defined in the
                <see cref="P:Aml.Engine.CAEX.Extensions.CaexValue.TypeAttribute" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Extensions.CaexValue.Value">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Extensions.CaexValue.ValueElement">
            <summary>
                Gets the Element, which contains the Attribute value.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Extensions.CaexValue.ValueAttributeName">
            <summary>
                Gets the Name of the defining value attribute.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.TypeCode(System.String)">
            <summary>
                Translates an XSd schema type to an XmlTypeCode.
            </summary>
            <param name="xsdSchemaType"></param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.CompareTo(System.Object)">
            <summary>
                Type based comparison of attribute values.
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.Equals(System.Object)">
            <summary>
                Determines whether the specified <see cref="T:System.Object" />, is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
            <returns>
                <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.GetHashCode">
            <summary>
                Returns a hash code for this instance.
            </summary>
            <returns>
                A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.IsDateTimeType">
            <summary>
                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:
                <list type="bullet">
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Time" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Date" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.DateTime" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.GYearMonth" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.GMonthDay" />
                    </item>
                </list>
            </summary>
            <remarks>
                The AttributeDataType 'duration' is not marked as a DateTime Type, because it should be transformed into
                a <see cref="T:System.TimeSpan" /> CLR type.
            </remarks>
            <returns><c>true</c>, if the type code is a  date time type; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.IsNumericOrBooleanValue">
            <summary>
                Determines if the type code derived from the Attribute datatype is a numeric or boolean type.
                For a lit of numeric types <seealso cref="M:Aml.Engine.CAEX.Extensions.CaexValue.IsNumericValue" />.
            </summary>
            <returns><c>true</c>, if the type code is a numeric or boolean type; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.IsNumericValue">
            <summary>
                Determines if the type code derived from the Attribute datatype is a numeric type.
                The following type codes are recognized as numeric types:
                <list type="bullet">
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Double" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Float" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Long" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.UnsignedShort" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.UnsignedLong" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.UnsignedInt" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.UnsignedByte" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Int" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.UnsignedShort" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Short" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NegativeInteger" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.PositiveInteger" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Decimal" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NonPositiveInteger" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NonNegativeInteger" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Byte" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Integer" />
                    </item>
                </list>
            </summary>
            <returns><c>true</c>, if the type code is a numeric type; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.IsPartOfDateValue">
            <summary>
                Determines if the type code derived from the Attribute datatype defined a part of a date.
                The datatype <c>ushort</c> is used for a date part.
                The following type codes are recognized as date parts:
                <list type="bullet">
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.GMonth" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.GDay" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.GYear" />
                    </item>
                </list>
            </summary>
            <returns><c>true</c>, if the type code is a date part; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.IsStringValue">
            <summary>
                Determines if the type code derived from the Attribute datatype is a string type.
                The following type codes are recognized as string types:
                <list type="bullet">
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NmToken" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.AnyAtomicType" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NormalizedString" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Language" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.String" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Token" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NCName" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.QName" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Name" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Text" />
                    </item>
                </list>
            </summary>
            <returns><c>true</c>, if the type code is a string type; <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.IsBinaryValue">
            <summary>
            Determines if the type code derived from the Attribute datatype is a binary type.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.IsValidStringValue(System.String)">
            <summary>
                Checks for all string data types, if the provided string is valid according to the defined data type
                <see cref="P:Aml.Engine.CAEX.Extensions.CaexValue.TypeCodeOfAttribute" />.
                The supported types are :
                <list type="bullet">
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NmToken" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Name" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NormalizedString" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.NCName" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.QName" />
                    </item>
                    <item>
                        <see cref="F:System.Xml.Schema.XmlTypeCode.Token" />
                    </item>
                </list>
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.GetDecodedValue">
            <summary>
                Gets the Decoded Value of the Attribute. This may be null, if no attribute value is defined.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.GetEncodedValue(System.Object)">
            <summary>
                Gets the encoded value which can be used to set the attribute value in an XML encoded way.
            </summary>
            <param name="value">the type based value</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CaexValue.SetEncodedValue(System.Object)">
            <summary>
                Writes the encoded value into the CAEX document. If no AttributeDataType is set, the value is encoded as a string.
            </summary>
            <param name="value">the type based value</param>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.AttributeTypeTypeExtensions">
            <summary>
                Extension methods for class <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.AttributeTypeTypeExtensions.New_RefSemantic(Aml.Engine.CAEX.AttributeTypeType,System.String)">
            <summary>
                Appends a new RefSemantic object with the defined semantics to the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object</param>
            <param name="semantic">A string, defining some external defined semantic source.</param>
            <returns>The new RefSemantic object</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.AttributeTypeTypeExtensions.IsMaster(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Determines whether the specified Attribute is referenced by other Attribute
                objects called 'Mirrors'.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a 'Master'-Attribute; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions">
            <summary>
                This class provides extension methods for all types of CAEX objects.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.AMLSchemaManager(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the associated CAEX schema manager of the CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The SchemaManager associated to the CAEX object.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.Ancestors``1(Aml.Engine.CAEX.ICAEXWrapper,System.Boolean)">
            <summary>
                Finds the ancestors of the provided CAEX object which have  the given type.
            </summary>
            <typeparam name="T">CAEX element type of the ancestors.</typeparam>
            <param name="caexObject">The CAEX object.</param>
            <param name="includeSelf"></param>
            <returns>
                The ancestors of the CAEX object which are of the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.CAEXDocument(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEX document which contains this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The CAEX document, containing the CAEX object.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.CAEXFile(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEX file which contains this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The CAEX file, containing the CAEX object.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.CAEXSchema(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the associated CAEX schema of the CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The Schema associated to the CAEX object.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.CreateCaexWrapper``1(System.Xml.Linq.XElement)">
            <summary>
                Creates a CAEX object of the given type from the specified XML element.
            </summary>
            <typeparam name="T">CAEX element type.</typeparam>
            <param name="xmlNode">The XML node.</param>
            <returns>CAEX object in the given type.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.Descendants``1(Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Finds the descendants of the provided CAEX object which are of the given type.
            </summary>
            <typeparam name="T">CAEX element type of the descendants.</typeparam>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The descendants of the CAEX object which are of the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.Descendants(Aml.Engine.CAEX.CAEXWrapper,System.Type)">
            <summary>
                Finds the descendants of the provided CAEX object which are of the given type.
            </summary>.
            <param name="caexObject">The CAEX object.</param>
            <param name="caexType">CAEX element type of the descendants.</param>
            <returns>
                The descendants of the CAEX object which are of the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.Descendants``1(Aml.Engine.CAEX.ICAEXWrapper,System.Boolean)">
            <summary>
                Finds the descendants of the provided CAEX object which are of the given type.
            </summary>
            <typeparam name="T">CAEX element type of the descendants.</typeparam>
            <param name="caexObject">The CAEX object.</param>
            <param name="includeSelf">if <c>true</c>, the provided caex object is included in the enumeration.</param>
            <returns>
                The descendants of the CAEX object which are of the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.FindCaexObjectFromId``1(Aml.Engine.CAEX.ICAEXWrapper,System.String)">
            <summary>
                Finds the CAEX object with the specified id and the specified Type.
            </summary>
            <typeparam name="T">CAEX element type of the searched CAEX object.</typeparam>
            <param name="caexObject">CAEX object, used to identify the document for the search.</param>
            <param name="id">Id of the CAEX object.</param>
            <returns>
                CAEX object with the given id or <c>null</c>, if not found.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.FindReferencedClass``1(Aml.Engine.CAEX.ICAEXWrapper,System.String)">
            <summary>
                Finds the CAEX object with the specified CAEX path and the specified Type.
            </summary>
            <typeparam name="T">CAEX element type of the searched CAEX object.</typeparam>
            <param name="caexObject">CAEX object, used to identify the document for the search.</param>
            <param name="caexPath">The CAEX path of the searched CAEX object.</param>
            <returns>
                CAEX object with the given path or <c>null</c>, if not found.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.FirstAncestor``1(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Finds the first ancestor of the specified CAEX object in the given Type.
            </summary>
            <typeparam name="T">CAEX element type of the ancestor.</typeparam>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                First ancestor of the specified CAEX object or <c>null</c>, if no ancestor
                with this Type exists.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.FirstAncestor(Aml.Engine.CAEX.ICAEXWrapper,System.String)">
            <summary>
                Finds the first ancestor of the specified CAEX object with the given Tag name
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="tagName">Name of the tag.</param>
            <returns>
                First ancestor of the specified CAEX object or <c>null</c>, if no ancestor
                with this Tag name exists.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.FirstAncestor(Aml.Engine.CAEX.ICAEXWrapper,System.Predicate{Aml.Engine.CAEX.ICAEXWrapper})">
            <summary>
                Finds the first ancestor of the specified CAEX object which fulfils the specified predicate
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="predicate">The condition for the ancestor object.</param>
            <returns>
                First ancestor of the specified CAEX object or <c>null</c>, if no ancestor
                meeting the condition exists.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.GetParent``1(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                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 <c>null</c>.
            </summary>
            <typeparam name="T">The expected type of the parent.</typeparam>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The parent with the specified Type or <c>null</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.Library(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the Library which contains this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The containing Library.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.Name(Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
            Gets a names for the specified caex wrapper object. If the specified object is
            a <see cref="T:Aml.Engine.CAEX.CAEXObject"/>, the Name is returned; otherwise the TagName of the
            CAEX item.
            </summary>
            <param name="caexObject">The caex object.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.New_Copyright(Aml.Engine.CAEX.ICAEXBasicObject)">
            <summary>
                Adds an new Copyright node to this object if it doesn't exists.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                A new Copyright node
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.New_Description(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Adds an new Description node to this object if it doesn't exists.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                A new Description node
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXBasicObjectExtensions.New_Version(Aml.Engine.CAEX.ICAEXBasicObject)">
            <summary>
                Adds an new Version node to this object if it doesn't exists.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                A new Version node
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CAEXDocumentExtensions">
            <summary>
                This class defines extension methods for the <see cref="T:Aml.Engine.CAEX.CAEXDocument" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXDocumentExtensions.FindByID(Aml.Engine.CAEX.CAEXDocument,System.String,System.Boolean)">
            <summary>
                Tries to locate a CAEX object from the specified ID.
                If the ID uses an alias reference and an <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> can be located,
                it is tried to resolve the external reference and to get the object from the external source.
            </summary>
            <param name="document">The document.</param>
            <param name="id">The identifier.</param>
            <param name="resolveAlias">
                if set to <c>true</c> tries to resolve an alias reference with an ExternalReferenceResolver
                service.
            </param>
            <returns>
                The CAEXObject if it is found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXDocumentExtensions.FindByPath(Aml.Engine.CAEX.CAEXDocument,System.String,System.Boolean)">
            <summary>
                Tries to locates a CAEX object from the specified CAEX path.
                If the path uses an alias reference and an <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> can be located,
                it is tried to resolve the external reference and to get the object from the external source.
            </summary>
            <param name="document">The document.</param>
            <param name="caexPath">The CAEX path.</param>
            <param name="resolveAlias">
                if set to <c>true</c> tries to resolve an alias reference with an ExternalReferenceResolver
                service.
            </param>
            <returns>The CAEXObject if it is found; otherwise <c>null</c>.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.ExternalInterfaceTypeExtensions">
            <summary>
                Extension methods for the CAEX element "ExternalInterface"
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ExternalInterfaceTypeExtensions.IsMaster(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Determines whether the specified ExternalInterface is referenced by other ExternalInterface
                objects called 'Mirrors'.
            </summary>
            <param name="externalInterface">The ExternalInterface CAEX element.</param>
            <returns>
                <c>true</c> if the specified element is a 'Master'-ExternalInterface; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ExternalInterfaceTypeExtensions.IsRelated(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Determines whether the specified ExternalInterface is related to other ExternalInterfaces using InternalLinks.
            </summary>
            <param name="externalInterface">The external interface.</param>
            <returns>
                <c>true</c> if the specified external interface is related; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ExternalInterfaceTypeExtensions.OfInterfaceClass(Aml.Engine.CAEX.IObjectWithExternalInterface,System.String)">
            <summary>
                Gets all ExternalInterface objects from the specified <paramref name="objectWithExternalInterface" />, which are
                derived from an
                InterfaceClass, identified with the given <paramref name="interfaceClassPath" />.
            </summary>
            <param name="objectWithExternalInterface">The object with external interface.</param>
            <param name="interfaceClassPath">The interface class path.</param>
            <returns>An enumeration of selected ExternalInterfaces of the given object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ExternalInterfaceTypeExtensions.RelatedExternalInterfaces(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Gets the related external interfaces of the specified ExternalInterface connected with InternalLinks.
                Either the <see cref="P:Aml.Engine.CAEX.InternalLinkType.AInterface" /> or the <see cref="P:Aml.Engine.CAEX.InternalLinkType.BInterface" /> of the
                InternalLink is equal to the specified ExternalInterface.
            </summary>
            <param name="externalInterface">The ExternalInterface CAEX element.</param>
            <returns>An enumeration of related ExternalInterface elements</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ExternalInterfaceTypeExtensions.RelatedInstances(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Gets the related instances (SystemUnitClass or InternalElement) of the specified ExternalInterface connected with
                InternalLinks.
                Either the <see cref="P:Aml.Engine.CAEX.InternalLinkType.AInterface" /> or the <see cref="P:Aml.Engine.CAEX.InternalLinkType.BInterface" /> of the
                InternalLink is equal to the specified ExternalInterface.
            </summary>
            <param name="externalInterface">The ExternalInterface CAEX element.</param>
            <returns>An enumeration of related Instances</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ExternalInterfaceTypeExtensions.RelatedInternalElementsWithRoleReference(Aml.Engine.CAEX.ExternalInterfaceType,System.String)">
            <summary>
                Gets the related InternalElements of the specified ExternalInterface connected with InternalLinks, which have a
                role reference to the provided
                <paramref name="roleClassPath" />. Inheritance is considered here.
                Either the <see cref="P:Aml.Engine.CAEX.InternalLinkType.AInterface" /> or the <see cref="P:Aml.Engine.CAEX.InternalLinkType.BInterface" /> of the
                InternalLink is equal to the specified ExternalInterface.
            </summary>
            <param name="externalInterface">The ExternalInterface CAEX element.</param>
            <param name="roleClassPath">The role class path.</param>
            <returns>
                An enumeration of selected related InternalElements.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.ObjectWithExternalInterface">
            <summary>
                Extension methods for all objects with ExternalInterface collections.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithExternalInterface.HasInterfaceClassReference(Aml.Engine.CAEX.IObjectWithExternalInterface,Aml.Engine.CAEX.InterfaceFamilyType,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="objectWithExternalInterface"></param>
            <param name="interfaceClass">The InterfaceClass object.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                <c>true</c> if this CAEX Element object has an associated reference to
                the specified InterfaceClass; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">InterfaceClass</exception>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.Extensions.ObjectWithExternalInterface.HasInterfaceClassReference(Aml.Engine.CAEX.IObjectWithExternalInterface,Aml.Engine.CAEX.InterfaceFamilyType,System.Boolean)" /> method using
                a standard base InterfaceClass from the
                <see cref="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLibType.InterfaceClassLib(Aml.Engine.CAEX.CAEXDocument)" />
                <code>
            var amlInterfaceClassLib = AutomationMLInterfaceClassLibType.InterfaceClassLib (myDocument);
            InternalElementType internalElement;
            ...
            internalElement.HasInterfaceClassReference (amlInterfaceClassLib.COLLADAInterface);
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithExternalInterface.HasInterfaceClassReference(Aml.Engine.CAEX.IObjectWithExternalInterface,System.String,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="objectWithExternalInterface"></param>
            <param name="interfaceReference">The interface reference.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                <c>true</c> if this object has an associated InterfaceClass reference
                with the specified CAEX path interface reference; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">interfaceReference</exception>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.Extensions.ObjectWithExternalInterface.HasInterfaceClassReference(Aml.Engine.CAEX.IObjectWithExternalInterface,System.String,System.Boolean)" /> method using
                a standard base InterfaceClass path from the
                <see cref="T:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib" />
                <code>
            InternalElementType internalElement;
            ...
            internalElement.HasInterfaceClassReference (AutomationMLInterfaceClassLib.COLLADA);
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithExternalInterface.InterfaceClassReferences(Aml.Engine.CAEX.IObjectWithExternalInterface,System.String,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="objectWithExternalInterface"></param>
            <param name="interfaceReference">The interface reference.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                All external interfaces with an associated InterfaceClass reference
                with the specified CAEX path interface reference.
            </returns>
            <exception cref="T:System.ArgumentNullException">interfaceReference</exception>        
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.SystemUnitFamilyTypeExtensions">
            <summary>
                Extension methods for the SystemUnitClass element and its defining class <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType" />
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitFamilyTypeExtensions.GetDerivedSupportedRoles(Aml.Engine.CAEX.SystemUnitFamilyType,System.Boolean)">
            <summary>
                Gets the supported Roles and the inherited roles from base classes.
            </summary>
            <returns>List&lt;SupportedRoleClassType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitFamilyTypeExtensions.Insert_SystemUnitClass(Aml.Engine.CAEX.SystemUnitFamilyType,Aml.Engine.CAEX.SystemUnitFamilyType)">
            <summary>
                Inserts the provided SystemUnitClass object as a subordinate child into this SystemUnitClass
            </summary>
            <param name="systemUnitClassAncestor">The SystemUnitClass ancestor.</param>
            <param name="systemUnitClass">The SystemUnitClass</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitFamilyTypeExtensions.New_SystemUnitClass(Aml.Engine.CAEX.SystemUnitFamilyType,System.String)">
            <summary>
                Adding a new SystemUnitClass to this SystemUnitFamily.
            </summary>
            <param name="systemUnitFamilyType">The SystemUnitFamily object</param>
            <param name="systemUnitClassName">Name of the SystemUnitClass element.</param>
            <returns>A new SystemUnitClass</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitFamilyTypeExtensions.SystemUnitClassDescendants(Aml.Engine.CAEX.SystemUnitFamilyType)">
            <summary>
                Gets all descendant <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType" /> Objects in the SystemUnitClass.
                SystemUnitClasses on all levels are returned.
            </summary>
            <param name="systemUnitFamilyType">The SystemUnitClass.</param>
            <returns>
                An enumeration of all descendant SystemUnitClass objects.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.SystemUnitClassLibTypeExtensions">
            <summary>
                Extension methods for the SystemUnitClassLib element and its defining class <see cref="T:Aml.Engine.CAEX.SystemUnitClassLibType" />
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassLibTypeExtensions.Insert_SystemUnitClass(Aml.Engine.CAEX.SystemUnitClassLibType,Aml.Engine.CAEX.SystemUnitFamilyType)">
            <summary>
                Inserts the provided SystemUnitClass into this SystemUnitClass library.
            </summary>
            <param name="systemUnitClassLib">The system unit class library.</param>
            <param name="systemUnitClass">The system unit class.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassLibTypeExtensions.New_SystemUnitClass(Aml.Engine.CAEX.SystemUnitClassLibType,System.String)">
            <summary>
                Adding a new SystemUnitClass to this SystemUnitClassLib.
            </summary>
            <param name="systemUnitClassLib">The SystemUnitClassLib object</param>
            <param name="systemUnitClassName">Name of the SystemUnitClass element.</param>
            <returns>A new SystemUnitClass</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassLibTypeExtensions.SystemUnitClassDescendants(Aml.Engine.CAEX.SystemUnitClassLibType)">
            <summary>
                Gets all descendant <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType" /> Objects in the SystemUnitClassLib.
                SystemUnitClasss on all levels are returned.
            </summary>
            <param name="systemUnitClassLib">The SystemUnitClassLib.</param>
            <returns>
                IEnumerable&lt;SystemUnitFamilyType&gt;.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.RoleClassLibTypeExtensions">
            <summary>
                Extension methods for the RoleClassLib element and its defining class <see cref="T:Aml.Engine.CAEX.RoleClassLibType" />
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.RoleClassLibTypeExtensions.Insert_RoleClass(Aml.Engine.CAEX.RoleClassLibType,Aml.Engine.CAEX.RoleFamilyType)">
            <summary>
                Inserts the provided RoleClass into this RoleClass library.
            </summary>
            <param name="roleClassLib">The role class library.</param>
            <param name="roleClass">The role class.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.RoleClassLibTypeExtensions.New_RoleClass(Aml.Engine.CAEX.RoleClassLibType,System.String)">
            <summary>
                Adding a new RoleClass to this RoleClassLib.
            </summary>
            <param name="roleClassLib">The RoleClassLib object</param>
            <param name="roleClassName">Name of the RoleClass element.</param>
            <returns>A new RoleClass</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.RoleClassLibTypeExtensions.RoleClassDescendants(Aml.Engine.CAEX.RoleClassLibType)">
            <summary>
                Gets all descendant <see cref="T:Aml.Engine.CAEX.RoleFamilyType" /> Objects in the RoleClassLib.
                RoleClasss on all levels are returned.
            </summary>
            <param name="roleClassLib">The RoleClassLib.</param>
            <returns>
                Enumeration of the RoleClass descendants.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.InterfaceClassLibTypeExtensions">
            <summary>
                Extension methods for an InterfaceClassLib element and its defining class <see cref="T:Aml.Engine.CAEX.InterfaceClassLibType" />.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InterfaceClassLibTypeExtensions.Insert_InterfaceClass(Aml.Engine.CAEX.InterfaceClassLibType,Aml.Engine.CAEX.InterfaceFamilyType)">
            <summary>
                Inserting an InterfaceClass element to the InterfaceClassLib object.
            </summary>
            <param name="interfaceClassLib">The InterfaceClassLib object</param>
            <param name="interfaceFamilyType">The InterfaceClass object to insert</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InterfaceClassLibTypeExtensions.InterfaceClassDescendants(Aml.Engine.CAEX.InterfaceClassLibType)">
            <summary>
                Gets all descendant <see cref="T:Aml.Engine.CAEX.InterfaceFamilyType" /> Objects in the InterfaceClass Library.
                InterfaceClasses on all levels are returned.
            </summary>
            <param name="interfaceClassLib">The InterfaceClassLib object</param>
            <returns>IEnumerable&lt;InterfaceFamilyType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InterfaceClassLibTypeExtensions.New_InterfaceClass(Aml.Engine.CAEX.InterfaceClassLibType,System.String)">
            <summary>
                A new InterfaceClass is added to the specified InterfaceClassLib object.
            </summary>
            <param name="interfaceClassLib">The InterfaceClassLib object</param>
            <param name="name">The name of the InterfaceClass to add</param>
            <returns>The new InterfaceClass element</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.InterfaceFamilyTypeExtensions">
            <summary>
                Extension methods for an InterfaceClass element and its defining class <see cref="T:Aml.Engine.CAEX.InterfaceFamilyType" />.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InterfaceFamilyTypeExtensions.CreateInterfaceFamilyClass(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Create an InterfaceClass from this interface (e.g. ExternalInterface). An
                InterfaceClass is of type InterfaceFamilyType and may contain
                InterfaceFamilyTypes as child elements.
            </summary>
            <returns>InterfaceFamilyType.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InterfaceFamilyTypeExtensions.Insert_InterfaceClass(Aml.Engine.CAEX.InterfaceFamilyType,Aml.Engine.CAEX.InterfaceFamilyType)">
            <summary>
                Inserting the new InterfaceClass element to the provided InterfaceClass object.
            </summary>
            <param name="interfaceClass">The InterfaceClass object</param>
            <param name="newInterface">The InterfaceClass object to insert</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InterfaceFamilyTypeExtensions.InterfaceClassDescendants(Aml.Engine.CAEX.InterfaceFamilyType)">
            <summary>
                Gets all descendant <see cref="T:Aml.Engine.CAEX.InterfaceFamilyType" /> Objects of the InterfaceClass.
                InterfaceClasses on all levels are returned.
            </summary>
            <param name="interfaceClass">The InterfaceClass object</param>
            <returns>IEnumerable&lt;InterfaceFamilyType&gt;.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InterfaceFamilyTypeExtensions.New_InterfaceClass(Aml.Engine.CAEX.InterfaceFamilyType,System.String)">
            <summary>
                A new InterfaceClass is added to the specified InterfaceClass object.
            </summary>
            <param name="interfaceClass">The InterfaceClass object</param>
            <param name="name">The name of the InterfaceClass to add</param>
            <returns>The new InterfaceClass element</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.MappingTypeExtensions">
            <summary>
                Extension methods for an Mapping element and its defining class <see cref="T:Aml.Engine.CAEX.MappingType" />.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.MappingTypeExtensions.Insert_AttributeNameMapping(Aml.Engine.CAEX.MappingType,Aml.Engine.CAEX.AttributeNameMappingType)">
            <summary>
                Appends the AttributeNameMapping object to the defined Mapping object
            </summary>
            <param name="mappingObject">The Mapping object</param>
            <param name="attributeNameMapping">The AttributeNameMapping.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.MappingTypeExtensions.Insert_InterfaceNameMapping(Aml.Engine.CAEX.MappingType,Aml.Engine.CAEX.InterfaceNameMappingType)">
            <summary>
                Appends the InterfaceNameMapping object to the defined Mapping object
            </summary>
            <param name="mappingObject">The Mapping object</param>
            <param name="interfaceNameMapping">The interface name mapping.</param>
            <remarks>Use of this method is restricted to CAEX Version 2.15.</remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.MappingTypeExtensions.New_AttributeNameMapping(Aml.Engine.CAEX.MappingType,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="mappingObject">The Mapping object</param>
            <param name="systemUnitAttributeName">The attribute name of the SystemUnitClass</param>
            <param name="roleAttributeName">The attribute name of the RoleClass</param>
            <returns>The new AttributeNameMapping element</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.MappingTypeExtensions.New_InterfaceIDMapping(Aml.Engine.CAEX.MappingType,System.String,System.String)">
            <summary>
                Adding a new InterfaceIDMapping to the defined Mapping object.
                An InterfaceIDMapping allows the definition of the mapping between Interfaces of corresponding RoleClasses and
                SystemUnitClasses.
            </summary>
            <param name="mappingObject">The Mapping object</param>
            <param name="systemUnitInterfaceID">The ID of the interface in the SystemUnitClass</param>
            <param name="roleInterfaceID">The ID of the interface in the RoleClass</param>
            <returns>The new InterfaceIDMapping element</returns>
            <remarks>Use of this method is restricted to CAEX Version 3.0 and above.</remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.MappingTypeExtensions.New_InterfaceIDMapping(Aml.Engine.CAEX.MappingType,Aml.Engine.CAEX.ExternalInterfaceType,Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Adding a new InterfaceIDMapping to the defined Mapping object.
                An InterfaceIDMapping allows the definition of the mapping between Interfaces of corresponding RoleClasses and
                SystemUnitClasses.
            </summary>
            <param name="mappingObject">The Mapping object</param>
            <param name="systemUnitInterface">The interface in the SystemUnitClass</param>
            <param name="roleInterface">The interface in the RoleClass</param>
            <returns>The new InterfaceIDMapping element</returns>
            <remarks>Use of this method is restricted to CAEX Version 3.0 and above.</remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.MappingTypeExtensions.New_InterfaceNameMapping(Aml.Engine.CAEX.MappingType,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="mappingObject">The Mapping object</param>
            <param name="systemUnitInterfaceName">The name of the interface in the SystemUnitClass</param>
            <param name="roleInterfaceName">The name of the interface in the RoleClass</param>
            <returns>The new InterfaceNameMapping element</returns>
            <remarks>Use of this method is restricted to CAEX Version 2.15.</remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.RoleClassFamilyTypeExtensions">
            <summary>
                Extension methods for the RoleClass element and its defining class <see cref="T:Aml.Engine.CAEX.RoleFamilyType" />.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.RoleClassFamilyTypeExtensions.Insert_RoleClass(Aml.Engine.CAEX.RoleFamilyType,Aml.Engine.CAEX.RoleFamilyType)">
            <summary>
                Inserts the provided RoleClass as a subordinate child to this RoleClass.
            </summary>
            <param name="roleClassAncestor">The role class ancestor.</param>
            <param name="roleClass">The role class to be inserted.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.RoleClassFamilyTypeExtensions.New_RoleClass(Aml.Engine.CAEX.RoleFamilyType,System.String)">
            <summary>
                Adding a new RoleClass to this RoleClassFamily.
            </summary>
            <param name="roleClassFamily">The RoleClass object</param>
            <param name="roleClassName">Name of the RoleClass.</param>
            <returns>A new RoleClass</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.RoleClassFamilyTypeExtensions.RoleClassDescendants(Aml.Engine.CAEX.RoleFamilyType)">
            <summary>
                Gets all descendant <see cref="T:Aml.Engine.CAEX.RoleFamilyType" /> Objects in the RoleClass.
                RoleClasses on all levels are returned.
            </summary>
            <param name="roleClassFamily">The RoleClass object.</param>
            <returns>
                Enumeration of all descendant RoleClass objects.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.NamespaceDoc">
            <summary>
                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 <see cref="N:Aml.Engine.Services" /> or are available in the <see cref="N:Aml.Engine.CAEX" />
                namespace.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.ObjectWithAttributes">
            <summary>
                Extension methods for all objects with Attribute collections.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithAttributes.CopyAttributesFrom(Aml.Engine.CAEX.IObjectWithAttributes,Aml.Engine.CAEX.IObjectWithAttributes,System.Boolean)">
            <summary>
                Copies all attribute of the source object with attributes to the target object  including
                children
            </summary>
            <param name="targetObject">the target object </param>
            <param name="sourceObject">the source object</param>
            <param name="includingValues">
                true if the copy process should include the attribute values,
                not recommended for classes
            </param>
            <returns>nothing</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithAttributes.GetAttribute(Aml.Engine.CAEX.IObjectWithAttributes,System.String)">
            <summary>
                Gets the first attribute with the specified name from the attribute collection of the CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="name">The attribute name.</param>
            <returns>Gets the Attribute with the provided name.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithAttributes.New_Attribute(Aml.Engine.CAEX.IObjectWithAttributes,System.String)">
            <summary>
                Appends a new Attribute object with the defined name to the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object</param>
            <param name="name">the name of the new Attribute object</param>
            <returns>The new Attribute</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithAttributes.SetAttributeValue(Aml.Engine.CAEX.IObjectWithAttributes,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="objWithAttr">the CAEX object with an Attribute collection.</param>
            <param name="attName">The attribute name</param>
            <param name="attValue">The attribute value</param>
            <returns>The modified attribute.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithAttributes.SetAttributeValue(Aml.Engine.CAEX.IObjectWithAttributes,System.String,System.String,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="objWithAttr">parent object</param>
            <param name="attName">attribute name</param>
            <param name="attValue">attribute value</param>
            <param name="attUnit">attribute unit</param>
            <param name="attAttributeDataType">attribute data type</param>
            <returns>The modified attribute.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithAttributes.SetAttributeValue(Aml.Engine.CAEX.IObjectWithAttributes,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="objWithAttr">parent object</param>
            <param name="attName">attribute name</param>
            <param name="attValue">attribute value</param>
            <param name="defaultValue">attribute defaultValue</param>
            <param name="description">attribute description</param>
            <param name="attUnit">attribute unit</param>
            <param name="attAttributeDataType">attribute data type</param>
            <returns>The modified attribute</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithAttributes.SetAttributeValue(Aml.Engine.CAEX.IObjectWithAttributes,System.String,System.Double)">
            <summary>
                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
            </summary>
            <param name="objWithAttr">parent object</param>
            <param name="attName">attribute name</param>
            <param name="attValue">attribute value of type double</param>
            <returns>The modified attribute</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithAttributes.SetAttributeValue(Aml.Engine.CAEX.IObjectWithAttributes,System.String,System.Double,System.Double,System.String,System.String)">
            <summary>
                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
            </summary>
            <param name="objWithAttr">parent object</param>
            <param name="attName">attribute name</param>
            <param name="attValue">attribute value of type double</param>
            <param name="defaultValue">attribute defaultValue</param>
            <param name="description">attribute description</param>
            <param name="attUnit">attribute unit</param>
            <returns>The modified attribute</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass">
            <summary>
                Extensions for all classes which implement the <see cref="T:Aml.Engine.CAEX.IClassWithBaseClassReference" /> interface.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.DeleteInheritedElement(Aml.Engine.CAEX.IClassWithBaseClassReference,System.String,System.Type)">
            <summary>
                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".
            </summary>
            <param name="classWithBaseClass">The class with base class.</param>
            <param name="elementName">Name of the element which should be deleted.</param>
            <param name="elementType">Type of the element which should be deleted.</param>
            <returns>true, if an inherited property was found and could be deleted; otherwise false.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetDerivedAttributes(Aml.Engine.CAEX.IClassWithBaseClassReference,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeOwn">if set to <c>true</c> includes the elements own ExternalInterface objects; otherwise not</param>
            <returns>
                A list of Attribute objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetInheritedAttributesAndDescendants(Aml.Engine.CAEX.IClassWithBaseClassReference,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeOwn">if set to <c>true</c> includes the elements own ExternalInterface objects; otherwise not</param>
            <returns>
                A list of Attribute objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetDerivedInterfaces(Aml.Engine.CAEX.IClassWithExternalInterface,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeOwn">if set to <c>true</c> includes the elements own ExternalInterface objects; otherwise not</param>
            <returns>
                A list of ExternalInterface objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetInheritedInterfacesAndDescendants(Aml.Engine.CAEX.IClassWithExternalInterface,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeOwn">if set to <c>true</c> includes the elements own ExternalInterface objects; otherwise not</param>
            <returns>
                A list of ExternalInterface objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetInheritedAttributes(Aml.Engine.CAEX.IClassWithBaseClassReference,System.Boolean)">
            <summary>
                Gets a collection of Attribute objects that are inherited from base classes. The own attributes are included in the
                enumeration.
            </summary>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeSelf">if set to <c>true</c> includes the own attributes.</param>
            <returns>
                A collection of Attribute objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetInheritedElements(Aml.Engine.CAEX.SystemUnitFamilyType,System.Boolean)">
            <summary>
                Gets a collection of InternalElement objects that are inherited from base classes. 
                As default, the own InternalElements are included in the  enumeration.
            </summary>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeSelf">if set to <c>true</c> includes the own Internal Elements.</param>
            <returns>
                A collection of InternalElement objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetInheritedInterfaces(Aml.Engine.CAEX.IClassWithExternalInterface,System.Boolean)">
            <summary>
                Gets a collection of ExternalInterface objects that are inherited from base classes.
            </summary>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeSelf">if set to <c>true</c> includes the own interfaces.</param>
            <returns>
                A collection of ExternalInterface objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.InheritedElements``1(Aml.Engine.CAEX.IClassWithBaseClassReference,System.Boolean)">
            <summary>
                Gets a collection of objects of the defined InheritedElement-Type that are inherited from base classes.
            </summary>
            <typeparam name="TInheritedElement">The type of the inherited element.</typeparam>
            <param name="classWithBaseClass">the base class containing the element</param>
            <param name="includeSelf">if set to <c>true</c> the own elements are included.</param>
            <returns>
                An enumeration of all inherited elements.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.IsInherited(Aml.Engine.CAEX.IClassWithBaseClassReference,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Determines, if the specified element is an inherited element. To be an inherited element, it has to be an
                AttributeType, ExternalInterfaceType or InternalElementType element.
            </summary>
            <param name="classWithBaseClass">the class providing the inheritance relation</param>
            <param name="element">the element to test</param>
            <returns><c>true</c>, if a base class contains the element </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.IsOverridden(Aml.Engine.CAEX.IClassWithBaseClassReference,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                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.
            </summary>
            <param name="classWithBaseClass">the base class containing the element</param>
            <param name="element">the element to test</param>
            <returns><c>true</c>, if an element of a class with an inheritance relation to a base class is an overridden element </returns>
            <returns>
                <c>true</c> if the specified element is overridden; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.OverriddenElement(Aml.Engine.CAEX.IClassWithBaseClassReference,System.String,System.Type)">
            <summary>
                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.
            </summary>
            <param name="classWithBaseClass">the base class containing the element</param>
            <param name="elementName">Name of the element.</param>
            <param name="elementType">Type of the element.</param>
            <returns>The overridden element if it exists; otherwise <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.ReferencedClassName(Aml.Engine.CAEX.IClassWithBaseClassReference)">
            <summary>
                Name of the referenced Class without path information.
            </summary>
            <param name="objectWithClassReference">Any object with a class reference.</param>
            <returns>Name of the referenced Class, if exists; otherwise <c>string.Empty</c></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.ReferencedClassName(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Name of the referenced SystemUnitClass without path information.
            </summary>
            <param name="internalElement">The internal element.</param>
            <returns>Name of the referenced Class, if exists; otherwise <c>string.Empty</c></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.ReferencedClassName(Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Name of the referenced InterfaceClass without path information.
            </summary>
            <param name="interfaceClass">The interface Class.</param>
            <returns>Name of the referenced Class, if exists; otherwise <c>string.Empty</c></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.DeleteInheritedElementInternal``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.String,System.Type)">
            <summary>
                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".
            </summary>
            <typeparam name="T"></typeparam>
            <param name="classWithBaseClass">The class with base class.</param>
            <param name="elementName">Name of the element which should be deleted.</param>
            <param name="elementType">Type of the element which should be deleted.</param>
            <returns>true, if an inherited property was found and could be deleted; otherwise false.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetDerivedAttributesInternal``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.Boolean)">
            <summary>
                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.
            </summary>
            <typeparam name="T">The type of the CAEX class.</typeparam>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeOwn">if set to <c>true</c> includes the elements own ExternalInterface objects; otherwise not</param>
            <returns>
                A list of Attribute objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetDerivedInterfacesInternal``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.Boolean)">
            <summary>
                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.
            </summary>
            <typeparam name="T">The type of the CAEX class.</typeparam>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeOwn">if set to <c>true</c> includes the elements own ExternalInterface objects; otherwise not</param>
            <returns>
                A list of ExternalInterface objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetInheritedAttributesInternal``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.Boolean)">
            <summary>
                Gets a collection of Attribute objects that are inherited from base classes. The own attributes are included in the
                enumeration.
            </summary>
            <typeparam name="T">The type of the CAEX class.</typeparam>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeOwn">if set to <c>true</c> [include own].</param>
            <returns>
                A collection of Attribute objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetInheritedElementsInternal``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.Boolean)">
            <summary>
                Gets a collection of InternalElement objects that are inherited from a base class. The own InternalElements are included in the
                enumeration.
            </summary>
            <typeparam name="T">The type of the CAEX class.</typeparam>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeOwn">if set to <c>true</c> [include own].</param>
            <returns>
                A collection of InternalElement objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.GetInheritedInterfacesInternal``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.Boolean)">
            <summary>
                Gets a collection of ExternalInterface objects that are inherited from base classes.
            </summary>
            <typeparam name="T">Type of the CAEX class.</typeparam>
            <param name="classWithBaseClass">The class with a possible base class reference for inheritance.</param>
            <param name="includeSelf">if set to <c>true</c> the interfaces of the provided class are included.</param>
            <returns>
                A collection of ExternalInterface objects
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.InheritedElementsInternal``2(Aml.Engine.CAEX.IClassWithBaseClassReference{``1},System.Boolean)">
            <summary>
                Gets a collection of objects of the defined InheritedElement-Type that are inherited from base classes.
            </summary>
            <typeparam name="TInheritedElement">The type of the inherited element.</typeparam>
            <typeparam name="TClass">The type of the class.</typeparam>
            <param name="classWithBaseClass">the base class containing the element</param>
            <param name="includeSelf">if set to <c>true</c> own elements are included.</param>
            <returns>
                An enumeration of all inherited elements.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.IsOverriddenInternal``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                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.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="classWithBaseClass">the base class containing the element</param>
            <param name="element">the element to test</param>
            <returns><c>true</c>, if an element of a class with an inheritance relation to a base class is an overridden element </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.ObjectWithBaseClass.OverriddenElementInternal``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.String,System.Type)">
            <summary>
                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.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="classWithBaseClass">the base class containing the element</param>
            <param name="elementName">Name of the element.</param>
            <param name="elementType">Type of the element.</param>
            <returns>The overridden element if it exists; otherwise <c>null</c>.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CAEXElementFactory">
            <summary>
                Factory to create CAEX-Elements according to a provided Type.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXElementFactory.Create``1(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <typeparam name="T">The CAEX object Type.</typeparam>
            <param name="document">The CAEX document.</param>
            <returns>The created CAEX object.</returns>
            <exception cref="T:System.NotSupportedException"></exception>
            <exception cref="T:System.ArgumentNullException">document</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXElementFactory.Create(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                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.
            </summary>
            <param name="document">The CAEX document.</param>
            <param name="caexTagName">Name of the CAEX tag.</param>
            <returns>
                The created CAEX object.
            </returns>
            <exception cref="T:System.NotSupportedException"></exception>
            <exception cref="T:System.ArgumentNullException">document</exception>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions">
            <summary>
                This class defines extension methods for the CAEXFile Element
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.ImportLibrary``1(Aml.Engine.CAEX.CAEXFileType,``0)">
            <summary>
                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.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="caexFile">the CAEXFile</param>
            <param name="library">the library which should be imported</param>
            <returns>the imported library.</returns>
            <exception cref="T:System.NotSupportedException">Importing elements with different schema's is not supported</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.FindFastByID(Aml.Engine.CAEX.CAEXFileType,System.String,System.Boolean)">
            <summary>
                Performs a document wide fast search and returns a CAEXObject given by its
                ID.
            </summary>
            <param name="caexFile">the CAEXFile</param>
            <param name="ID">the ID ob the object which is subject of the search</param>
            <param name="includeExternals">
                Optional parameter to enable this methods (default=<c>false</c>),
                to search in referenced documents also.
                Referenced Documents can only be considered, if they are loaded via the ExternalReference.
            </param>
            <returns>the found CAEXObject or null if not found</returns>
            <remarks>
                External references are resolved in the search if a <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> service
                is registered.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.FindFastByID``1(Aml.Engine.CAEX.CAEXFileType,System.String,System.Boolean)">
            <summary>
                Performs a document wide fast search and returns an object of type 'T' given by its
                ID.
            </summary>
            <typeparam name="T">Type of the expected CAEX object.</typeparam>
            <param name="caexFile">the CAEX file</param>
            <param name="ID">the ID ob the object which is subject of the search</param>
            <param name="includeExternals">
                Optional parameter to enable this methods (default=<c>false</c>),
                to search in referenced documents also.
                Referenced Documents can only be considered, if they are loaded via the ExternalReference.
            </param>
            <returns>
                the found CAEXObject or null if not found
            </returns>
            <remarks>
                External references are resolved in the search if a <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> service
                is registered.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.FindFastByPath(Aml.Engine.CAEX.CAEXFileType,System.String,System.Boolean)">
            <summary>
                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".
            </summary>
            <param name="caexFile">the CAEXFile</param>
            <param name="path">the path of the object which is subject of the search</param>
            <param name="includeExternals">
                new optional parameter to enable this method (default=<c>false</c>),
                to search in referenced documents also.
            </param>
            <returns>
                the found CAEXObject or null if not found
            </returns>
            <remarks>
                External references are resolved in the search if a <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> service
                is registered.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.FindFastByPath``1(Aml.Engine.CAEX.CAEXFileType,System.String,System.Boolean)">
            <summary>
                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".
            </summary>
            <typeparam name="T">Type of the expected CAEX object.</typeparam>
            <param name="caexFile">the CAEX file</param>
            <param name="path">the path of the object which is subject of the search</param>
            <param name="includeExternals">
                new optional parameter to enable this method (default=<c>false</c>),
                to search in referenced documents also.
            </param>
            <returns>
                the found CAEXObject or null if not found
            </returns>
            <remarks>
                External references are resolved in the search if a <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> service
                is registered.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Import_AttributeTypeLib(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.AttributeTypeLibType)">
            <summary>
                Imports the provided library into the AttributeTypeLib collection of this CAEX file.
            </summary>
            <param name="caexFile">the CAEX file.</param>
            <param name="attributeTypeLib">The source AttributeTypeLib object.</param>
            <returns>
                The imported AttributeTypeLib.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Import_InstanceHierarchy(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.InstanceHierarchyType)">
            <summary>
                Imports the provided source instance hierarchy into the InstanceHierarchy collection of this CAEX file.
            </summary>
            <param name="caexFile">the CAEX file.</param>
            <param name="instanceHierarchy">The source InstanceHierarchy object.</param>
            <returns>
                The imported InstanceHierarchy.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Import_InterfaceClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.InterfaceClassLibType)">
            <summary>
                Imports the provided library into the InterfaceClassLib collection of this CAEX file.
            </summary>
            <param name="caexFile"> the CAEX file. </param>
            <param name="interfaceClassLib">The source InterfaceClassLib.</param>
            <returns>The imported InterfaceClassLib.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Import_RoleClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.RoleClassLibType)">
            <summary>
                Imports the provided library into the RoleClassLib collection of this CAEX file.
            </summary>
            <param name="caexFile"> the CAEX file. </param>
            <param name="roleClassLib">The source RoleClassLib.</param>
            <returns>The imported RoleClassLib.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Import_SystemUnitClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.SystemUnitClassLibType)">
            <summary>
                Imports the provided library into the SystemUnitClassLib collection of this CAEX file.
            </summary>
            <param name="caexFile"> the CAEX file </param>
            <param name="systemUnitClassLib">The source SystemUnitClassLib.</param>
            <returns>The imported SystemUnitClassLib.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Insert_ExternalReference(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.ExternalReferenceType)">
            <summary>
                Inserts the ExternalReference into the CAEX file.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <param name="externalReference">The ExternalReference object.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Insert_InstanceHierarchy(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.InstanceHierarchyType)">
            <summary>
                Insert an existing InstanceHierarchy to this CAEX file as the last InstanceHierarchy.
            </summary>
            <param name="instanceHierarchyNode">The InstanceHierarchy to insert.</param>
            <param name="caexFile">The CAEX file.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Insert_InterfaceClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.InterfaceClassLibType)">
            <summary>
                Insert an existing InterfaceClassLib to this CAEX file as the last InterfaceClassLib.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <param name="interfaceClassLibNode">The InterfaceClassLib to insert.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Insert_RoleClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.RoleClassLibType)">
            <summary>
                Insert a RoleClassLib to this CAEX file as the last RoleClassLib.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <param name="roleClassLib">The RoleClassLib to insert.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.Insert_SystemUnitClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,Aml.Engine.CAEX.SystemUnitClassLibType)">
            <summary>
                Append a SystemUnitClassLib to this CAEX file as the last SystemUnitClassLib.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <param name="systemUnitClassLib">The SystemUnitClassLib to insert.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.New_ExternalReference(Aml.Engine.CAEX.CAEXFileType,System.String,System.String)">
            <summary>
                A new ExternalReference node is added to the CAEX file.
            </summary>
            <param name="caexFile"> the CAEX file. </param>
            <param name="path"> The path value of this external reference.</param>
            <param name="alias">The alias value of this external reference.</param>
            <returns>A new ExternalReference</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.New_InstanceHierarchy(Aml.Engine.CAEX.CAEXFileType,System.String)">
            <summary>
                Adding a new InstanceHierarchy with the given name to this CAEX file.
                The Instance Hierarchy is always added as the
                last Instance Hierarchy.
            </summary>
            <param name="caexFile"> the CAEX file. </param>
            <param name="name">The name of the new InstanceHierarchy.</param>
            <returns>A new InstanceHierarchy</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.New_InterfaceClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,System.String)">
            <summary>
                Adding a new InterfaceClassLib to this CAEX file.
            </summary>
            <param name="caexFile"> the CAEX file </param>
            <param name="name">The name of the new InterfaceClassLib.</param>
            <returns>A new InterfaceClassLib</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.New_RoleClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,System.String)">
            <summary>
                Adding a new RoleClassLib to this CAEX file.
            </summary>
            <param name="caexFile"> the CAEX file. </param>
            <param name="name">The name of the RoleClassLib.</param>
            <returns>A new RoleClassLib</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.New_SystemUnitClassLibHierarchy(Aml.Engine.CAEX.CAEXFileType,System.String)">
            <summary>
                Adding a new SystemUnitClassLib to this CAEX file.
            </summary>
            <param name="caexFile"> the CAEX file </param>
            <param name="name">The name of the new SystemUnitClassLib.</param>
            <returns>The new SystemUnitClassLib.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXFileTypeExtensions.PreorderTraversal(Aml.Engine.CAEX.CAEXFileType,System.Collections.IEnumerator,System.Func{System.Object,System.Collections.IEnumerator})">
            <summary>
                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.
            </summary>
            <param name="caexFile"> the CAEXFile </param>
            <param name="source">       The source.</param>
            <param name="childSelector">The child selector.</param>
            <returns>IEnumerable.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CAEXObjectExtensions">
            <summary>
                This class defines extension methods for the CAEXObject Element
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXObjectExtensions.SetDescription(Aml.Engine.CAEX.ICAEXObject,System.String)">
            <summary>
                This method sets a description. If no description exists, it is created.
            </summary>
            <param name="caexObject">the CAEX object</param>
            <param name="description">the description</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXObjectExtensions.GetFullNodePath(Aml.Engine.CAEX.ICAEXObject)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <remarks>
                Please note that this method returns a different result than the <see cref="M:Aml.Engine.CAEX.CAEXObject.CAEXPath" />  method, which
                returns
                the CAEX path used for referencing objects.
            </remarks>
            <returns>The path to the XML node.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXObjectExtensions.New_AdditionalInformation(Aml.Engine.CAEX.ICAEXBasicObject,System.Boolean)">
            <summary>
                Method to add a new element 'AdditionalInformation' to a CAEXObject
            </summary>
            <param name="caexObject">The CAEX Object</param>
            <param name="asFirst">Insertion position</param>
            <returns>the new element</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXObjectExtensions.NewElement``1(Aml.Engine.CAEX.CAEXSequence{``0},System.String,System.Boolean)">
            <summary>
                Generic method to add a new element with the provided name of a specific Type to a CAEXSequence.
            </summary>
            <typeparam name="T">The type of the added object</typeparam>
            <param name="sequence">The CAEX Sequence</param>
            <param name="name">The name of the new element</param>
            <param name="asFirst">Insertion position</param>
            <returns>the wrapper of type T containing the new element</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CAEXPathBuilder">
            <summary>
                Static class supporting the generation and analysis of CAEXPath's
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.AliasSeparator">
            <summary>
                The alias separator used after Alias
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.AttributeSeparator">
            <summary>
                The attribute separator used before attribute hierarchies.
            </summary>
            <remarks>
                CAEX 3.0 doesn't define a special attribute separator character any more
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.InterfaceSeparator">
            <summary>
                The interface separator used before an interface
            </summary>
            <remarks>
                CAEX 3.0 doesn't define a special interface separator character any more
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.ObjectSeparator">
            <summary>
                The object separator used between object hierarchies
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartBegin">
            <summary>
                The begin of a path part, used if the object name contains a Path Separator
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartBeginInName">
            <summary>
                The escaped <see cref="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartBegin" />, used in an object name, if it
                contains this character
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartEnd">
            <summary>
                The end of a path part, used if the object name contains a Path Separator
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartEndInName">
            <summary>
                The escaped <see cref="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartEnd" />, used in an object name, if it contains
                this character
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartEndChar">
            <summary>
                The end of a path part, used if the object name contains a Path Separator
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.AliasFromReference(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Gets the alias name from a reference. If the reference is not a reference with
                an alias, the return value is string.Empty.
            </summary>
            <param name="classReference">The class reference.</param>
            <param name="schema">The CAEX schema version.</param>
            <returns>
                The Alias Name without the Ending AliasSeparator or string.empty
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.CAEXPath(System.Collections.Generic.IEnumerable{Aml.Engine.CAEX.CAEXObject})">
            <summary>
                Builds the Reference-Path which includes all Names of CAEXObjects in the given list of CAEX objects.
            </summary>
            <param name="elements">The CAEX objects.</param>
            <returns>
                The CAEX Path, build from the object list.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.CAEXPath(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
            <summary>
                Builds the Reference-Path which includes all Names of CAEXObjects in the given list of elements.
            </summary>
            <param name="elementNodes">The XML nodes of the CAEX objects.</param>
            <returns>
                The CAEX Path, build from the element XML nodes.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.CAEXPath(System.String[],Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Builds the Reference-Path which includes all names of CAEX objects in the given name array.
            </summary>
            <param name="names">The names, which build the path parts.</param>
            <param name="schema">The CAEX schema version.</param>
            <returns>
                The CAEX path created from the names array.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.CanNormalize(System.String)">
            <summary>
                Determines whether the specified path can be normalized because it contains path part delimiters
            </summary>
            <param name="path">The path.</param>
            <returns>
                <c>true</c> if this instance can normalize the specified path; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.ContainsPathSeparatorChars(System.String,Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Determines whether the specified name contains path separator chars.
            </summary>
            <param name="name">The name.</param>
            <param name="document">The document.</param>
            <returns>
                <c>true</c> if the specified name contains path separator chars; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.InstanceIDInAttributeReference(System.String,Aml.Engine.CAEX.CAEXDocument,System.Boolean@)">
            <summary>
                Gets the ID of the master parent instance from a reference defined in an Attribute mirror object in the specified
                CAEX document.
            </summary>
            <param name="reference">The reference from the Attribute mirror object.</param>
            <param name="document">The document.</param>
            <param name="isAttributeReference">if set to <c>true</c>, if the reference is an Attribute reference in a mirror.</param>
            <returns>
                The master parent ID
            </returns>
            <remarks>
                Only valid since CAEX Version 3.0
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.InternalElementIDInInternalLinkReference(System.String,System.Boolean@)">
            <summary>
                Gets the InternalElement ID from a reference defined in an InternalLink object.
            </summary>
            <param name="reference">The reference from the InternalLink object.</param>
            <param name="isInterfaceReference">if set to <c>true</c> [is interface reference].</param>
            <returns>
                The InternalElement ID
            </returns>
            <remarks>
                Only valid for CAEX Version 2.15
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.ExternalInterfaceIDInAttributeReference(System.String,Aml.Engine.CAEX.CAEXDocument,System.Boolean@)">
            <summary>
                Check, if the provided reference is a reference to an attribute of an ExternalInterface, using the ID of an
                ExternalInterface.
            </summary>
            <param name="reference">The reference.</param>
            <param name="cAEXDocument">The CAEX document.</param>
            <param name="isIdReference">if set to <c>true</c> a valid ID is used to reference an ExternalInterface.</param>
            <remarks>This method only recognizes GUIDs in a reference.</remarks>
            <returns>the normalized ID if the reference contains an ID</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.InternalLinkReferencePath(Aml.Engine.CAEX.SystemUnitClassType,Aml.Engine.CAEX.InterfaceClassType)">
            <summary>
                Builds the reference Path for an Interface-Reference in an InternalLink
            </summary>
            <param name="systemUnitClass">
                The system unit class.
            </param>
            <param name="interfaceClass">
                The interface class.
            </param>
            <returns>
                System.String.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.InternalLinkReferencePath(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
            <summary>
                gets the reference path for an Interface-Reference in an InternalLink
            </summary>
            <param name="interfaceParent">
                The interface Parent (SystemUnitClass or InternalElement)
            </param>
            <param name="externalInterface">
                The external Interface.
            </param>
            <returns>
                System.String.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsAlias(System.String)">
            <summary>
                Determines whether the specified part of a path is an alias.
            </summary>
            <param name="pathPart">The path part.</param>
            <returns>
                <c>true</c> if the specified path part is an alias; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsAttributeReference(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                Determines, if the path is an Attribute reference. This method is able to distinguish
                if an UUID is combined with a CAEX path
            </summary>
            <param name="document">The document, where the reference is tested.</param>
            <param name="attributeReference">The attribute reference.</param>
            <returns>
                <c>true</c>, if the provided reference is an attribute reference.
            </returns>
            <remarks>
                This method should only be used for CAEXDocuments based at least on CAEX Version 3.0
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsIDReferenceWithAlias(System.String,Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IDRefEnum)">
            <summary>
                Determines whether the specified  object reference is an alias reference to an ID in the specified document
            </summary>
            <param name="objectRefrence">The object reference.</param>
            <param name="document">The document.</param>
            <param name="referenceType">
                Optional parameter to specify the type of the reference. If not set, all possible types are
                checked
            </param>
            <returns>
                <c>true</c> if the specified  object reference is an alias reference to an ID; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IDRefEnum">
            <summary>
                enumeration type specifying possible ID Reference types
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IDRefEnum.AttributeReference">
            <summary>
                ID reference to an attribute
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IDRefEnum.InterfaceReference">
            <summary>
                ID reference to an interface
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IDRefEnum.InternalElementReference">
            <summary>
                ID reference to an internal element
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IDRefEnum.AllTypes">
            <summary>
                all possible references
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsInterfaceReference(System.String)">
            <summary>
                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
            </summary>
            <remarks>
                This method should only be used for CAEXDocuments based on CAEX Version 2.15
            </remarks>
            <param name="classReference">The class reference.</param>
            <returns><c>true</c>, if the provided class reference is an interface reference.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsObjectReferenceWithAlias(System.String,System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Determines whether the specified  classReference is an alias reference to the provided AutomationML class path.
            </summary>
            <param name="classReference">The class reference.</param>
            <param name="automationMlClassPath">The automation ml class path.</param>
            <param name="schema">The CAEX schema version.</param>
            <returns>
                <c>true</c> if [is object reference with alias] [the specified class
                reference]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsReferenceWithAlias(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Determines whether the specified reference is defined with an alias separator.
            </summary>
            <param name="classReference">The class reference string.</param>
            <param name="schema">The CAEX schema version.</param>
            <returns>
                <c>true</c> if the reference is a reference with an alias; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsValidAttributeReferenceID(System.String,Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Determines whether the ID is valid to be used in an attribute mirror reference.
            </summary>
            <param name="idString">The identifier string.</param>
            <param name="document">The document.</param>
            <returns>
                <c>true</c> if the ID is valid to be used in an attribute mirror reference; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsValidID(System.String,Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Determines whether the specified string can represent an ID
            </summary>
            <param name="idString">The identifier string.</param>
            <param name="document"></param>
            <returns>
                <c>true</c> if the specified identifier string can be used as an identifier; otherwise, <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.NormalizePath(System.String,System.Boolean@,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                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 '/'.
            </summary>
            <param name="path">The path.</param>
            <param name="isNormalized">if set to <c>true</c> [is normalized].</param>
            <param name="schema">A CAEX schema version.</param>
            <returns>
                the normalized path
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathNameArray(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="path">The full CAEX path.</param>
            <param name="schema">The CAEX schema version.</param>
            <param name="keepPathPartBrackets">
                <c>false</c> (default); if <c>true</c>, object names may be enclosed in square
                brackets
            </param>
            <returns>
                Array of path part names
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathNameArrayWithSeparator(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema,System.Boolean)">
            <summary>
                Returns the Path Part object names of a CAEX Path with the Separator Char at
                the Names End as an array of strings.
            </summary>
            <param name="path">The full CAEX path.</param>
            <param name="schema">The CAEX schema version.</param>
            <param name="onlyAlias">optional parameter, specifying that only the alias char should be kept.</param>
            <returns>
                Array of path part names.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathNameListWithSeparator(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema,System.Boolean)">
            <summary>
                Returns the Path Part object names of a CAEX Path with the Separator Char at
                the Names End as an array of strings.
            </summary>
            <param name="path">The full CAEX path.</param>
            <param name="schema">The CAEX schema version.</param>
            <param name="onlyAliasSeparator">optional parameter, specifying that only the alias char should be kept.</param>
            <returns>
                Array of path part names.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPart(Aml.Engine.CAEX.CAEXObject,System.Boolean)">
            <summary>
                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 '\'.
            </summary>
            <param name="element">
                The CAEX element which should be part of the Path.
            </param>
            <param name="useId">
                if true, the path part is build with the ID-Attribute
            </param>
            <returns>
                The Element Representation in the CAEX Path
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPart(System.Xml.Linq.XElement,System.Boolean)">
            <summary>
                transforms the name of the defined element to a path Part (special characters
                are escaped).
            </summary>
            <param name="element">
                The element.
            </param>
            <param name="useId">
                if set to <c>true</c> use the Elements ID, otherwise use its name.
            </param>
            <returns>
                System.String.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartName(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Transforms a name to a path Part (special characters are escaped).
            </summary>
            <remarks>
                Since CAEX Version 3.0 the Path separator characters '.' and ':' are eliminated.
            </remarks>
            <param name="name">
                The name.
            </param>
            <param name="schema">This method has different implementations according to the used CAEX Version</param>
            <returns>
                The transformed name that can be used as a path part.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartObjectNames(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="path">The full CAEX path.</param>
            <param name="schema">The CAEX schema version.</param>
            <param name="keepPathPartBrackets">
                <c>false</c> (default); if <c>true</c>, object names may be enclosed in square
                brackets
            </param>
            <returns>
                IEnumerable&lt;System.String&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartObjectNamesWithSeparator(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema,System.Boolean)">
            <summary>
                Returns the Path Part object names of a CAEX Path with the Separator Char at
                the Names End
            </summary>
            <param name="path">The full CAEX path.</param>
            <param name="schema">The CAEX schema version.</param>
            <param name="onlyAlias">optional parameter, specifying that only the alias char should be kept.</param>
            <returns>
                IEnumerable&lt;System.String&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartSeparator(Aml.Engine.CAEX.CAEXObject)">
            <summary>
                Returns the Path part separator for an element, which should be put before that
                element in a Path
            </summary>
            <remarks>
                Since CAEX Version 3.0 the PathPartSeparator is element independent and always the <see cref="F:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.ObjectSeparator" />.
            </remarks>
            <param name="element">
                The CAEX-Element.
            </param>
            <returns>
                The Path Separation character for the given element
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathPartSeparator(System.Xml.Linq.XElement)">
            <summary>
                Returns the Path part separator for an element, which should be put before that
                element in a Path
            </summary>
            <param name="element">
                The Xml-Node of the CAEX-Element.
            </param>
            <returns>
                The Path Separation character for the given element
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.RemoveAlias(System.String)">
            <summary>
                Removes the alias from the provided path if the path is
                <see cref="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsReferenceWithAlias(System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)" />.
            </summary>
            <param name="path">The path.</param>
            <returns>
                The path without the alias part.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.SeparatorChars(Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Gets the defined Separator characters according to the provided schema version.
            </summary>
            <param name="schema">The schema.</param>
            <returns>The defined separator characters, which can be used in a CAEX path.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.AttributePathInAttributeReference(System.String,Aml.Engine.CAEX.CAEXDocument,System.Boolean@)">
            <summary>
                Gets the Attribute Path from a reference defined in an mirror Attribute object in the specified CAEX document.
            </summary>
            <param name="reference">The reference from the Attribute object.</param>
            <param name="document">The document.</param>
            <param name="isAttributeReference">if set to <c>true</c> if the reference is an Attribute reference in a mirror.</param>
            <returns>
                Attribute Path
            </returns>
            <remarks>
                Only valid since CAEX Version 3.0
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.ExternalInterfaceNameInInternalLinkReference(System.String,System.Boolean@)">
            <summary>
                Gets the ExternalInterface Name from a reference defined in an InternalLink object.
            </summary>
            <param name="reference">The reference from the InternalLink object.</param>
            <param name="isInterfaceReference">if set to <c>true</c> [is interface reference].</param>
            <returns>
                ExternalInterface Name
            </returns>
            <remarks>
                Only valid for CAEX Version 2.15
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsSeparator2_15(System.Char)">
            <summary>
                Determines whether the specified part character is separator.
            </summary>
            <param name="partChar">
                The part character.
            </param>
            <returns>
                <c>true</c> if the specified part character is separator; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.IsSeparator3_0(System.Char)">
            <summary>
                Determines whether the specified part character is separator.
            </summary>
            <param name="partChar">
                The part character.
            </param>
            <returns>
                <c>true</c> if the specified part character is separator; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathParts(System.Collections.Generic.IEnumerable{Aml.Engine.CAEX.CAEXObject})">
            <summary>
                returns all path - parts build from the element names of the specified
                elements in the collection.
            </summary>
            <param name="elements">
                The elements.
            </param>
            <returns>
                List&lt;System.String&gt;.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CAEXPathBuilder.PathParts(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
            <summary>
                returns all path - parts build from the element names of the specified
                elements in the collection.
            </summary>
            <param name="elements">
                The elements.
            </param>
            <returns>
                List&lt;System.String&gt;.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.CollectionExtensions">
            <summary>
                Extension class for collections to be used in LINQ-Expressions
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.CollectionExtensions.Yield``1(``0)">
            <summary>
                Wraps this object instance into an IEnumerable&lt;T&gt;
                consisting of a single item.
            </summary>
            <typeparam name="T"> Type of the object. </typeparam>
            <param name="item"> The instance that will be wrapped. </param>
            <returns> An IEnumerable&lt;T&gt; consisting of a single item. </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.InheritanceExtensions">
            <summary>
                Extension methods to navigate the inheritance relations
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Extensions.InheritanceExtensions.DerivedClasses">
            <summary>
                Gets the dictionary of derived classes. The dictionary has to be filled manually
                <see cref="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.DerivedClassDictionary.AddClassDerivations(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)" />.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.InheritanceExtensions.DerivedClassDictionary">
            <summary>
                This class can be used to improve the performance of the
                <see cref="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.ClassIsDerivedFrom``1(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)" />
                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.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.DerivedClassDictionary.AddClassDerivations(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)">
            <summary>
                Adds the class derivations for the specified class path to the dictionary.
            </summary>
            <param name="document">The document.</param>
            <param name="classPath">The class path.</param>
            <param name="className">Element name of the class.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.ClassIsDerivedFrom``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.String)">
            <summary>
                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.
            </summary>
            <typeparam name="T">The type of the CAEX class.</typeparam>
            <param name="classWithReference">The class with reference.</param>
            <param name="baseClassPath">The base class path.</param>
            <returns>
                <c>true</c> if the class is derived, <c>false</c> if it is not. If no value is
                returned, some references could not be resolved to get the answer.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.ClassIsDerivedFrom``1(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)">
            <summary>
                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.
            </summary>
            <typeparam name="T">The type of the CAEX class.</typeparam>
            <param name="document">The document where the classes are searched</param>
            <param name="classPath">The class path of the tested class.</param>
            <param name="baseClassPath">The base class path.</param>
            <returns>
                <c>true</c> if the class is derived, <c>false</c> if it is not. If no value is
                returned, some references could not be resolved to get the answer.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.ClassIsDerivedFrom``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},Aml.Engine.CAEX.IClassWithBaseClassReference{``0})">
            <summary>
                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.
            </summary>
            <typeparam name="T">The type of the CAEX class.</typeparam>
            <param name="classWithReference">The class with reference.</param>
            <param name="baseClass">The base class.</param>
            <returns>
                <c>true</c> if the class is derived, <c>false</c> if it is not. If no value is
                returned, some references could not be resolved to get the answer.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.IsDerivedFromAttributeType(Aml.Engine.CAEX.AttributeTypeType,System.String)">
            <summary>
                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.
            </summary>
            <param name="attribute">The attribute, containing a reference - this is either an Attribute or an AttributeType.</param>
            <param name="attributeTypePath">
                A class path of a base attribute type, which is tested for a possible inheritance relation to
                the specified attribute.
            </param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.IsDerivedFromInterfaceClass(Aml.Engine.CAEX.InterfaceClassType,System.String)">
            <summary>
                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.
            </summary>
            <param name="interfaceClass">The interface class.</param>
            <param name="interfaceClassPath">
                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.
            </param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InheritanceExtensions.IsDerivedFromRoleClass(Aml.Engine.CAEX.IObjectWithRoleReference,System.String)">
            <summary>
                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.
            </summary>
            <param name="roleReference">The role reference - this is a supported role  class or a role requirement.</param>
            <param name="roleClassPath">
                A class path of a base role, which is tested for a possible inheritance relation to
                the specified role reference.
            </param>
            <returns><c>true</c> if an inheritance relation is resolved; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.InstanceHierarchyTypeExtensions">
            <summary>
                Extension methods for an InstanceHierarchy element
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InstanceHierarchyTypeExtensions.InternalElementDescendants(Aml.Engine.CAEX.InstanceHierarchyType)">
            <summary>
                Gets all descendant <see cref="T:Aml.Engine.CAEX.InternalElementType" /> Objects in the InstanceHierarchy.
                InternalElements on all levels are returned.
            </summary>
            <param name="instanceHierarchy">The InstanceHierarchy.</param>
            <returns>
                Enumeration of the InternalElement objects.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.InternalElementExtensions">
            <summary>
                Extension methods for the CAEX element "InternalElement"
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.InternalElementExtensions.IsMaster(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the specified InternalElement is referenced by other InternalElement
                objects called 'Mirrors'.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a 'Master'-InternalElement; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.StringExtensions">
            <summary>
                Extension methods for string type CAEX attributes (i.e. GUID, Path, etc.)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.StringExtensions.IsGUID(System.String)">
            <summary>
                string extension method to check if it as GUID
            </summary>
            <param name="stringGuid">The stringGuid.</param>
            <returns><c>true</c> if the specified expression is unique identifier; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.StringExtensions.NormalizedGUID(System.String)">
            <summary>
                String extension method to normalize a GUID. If the string cannot be identified as a GUID the original string is
                returned
            </summary>
            <param name="stringGuid">The stringGuid.</param>
            <returns>The normalized GUID if the provided string is a GUID; otherwise the original string is returned.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.StringExtensions.IsInterfacePath(System.String)">
            <summary>
                Determines whether the specified path is an interface path.
            </summary>
            <remarks>
                can only be  used in a context with CAEX 2.15
            </remarks>
            <param name="path">The path.</param>
            <returns><c>true</c> if [is interface path] [the specified path]; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.StringExtensions.IsClassReference(System.String)">
            <summary>
                Determines whether the specified attribute is an attribute, containing a class reference.
            </summary>
            <param name="attributeName">The name of the attribute.</param>
            <returns><c>true</c> if the specified attribute name is a class reference; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.StringExtensions.IsInterfacePathWithID(System.String,System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Determines whether the specified path is an interface path containing an ID
            </summary>
            <remarks>
                Since CAEX Version 3.0 IDs cannot be part of a CAEXPath anymore
            </remarks>
            <param name="path">The path.</param>
            <param name="id">The identifier.</param>
            <param name="schema">The CAEX Version</param>
            <returns><c>true</c> if the specified path is an interface path with identifier; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.StringExtensions.IsInterfacePathWithInterface(System.String,System.String,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Determines whether the specified path is an interface path with this interface name.
            </summary>
            <param name="path">The path.</param>
            <param name="interfaceName">Name of the interface.</param>
            <param name="schema">A CAEX schema version.</param>
            <returns>
                <c>true</c> if the specified path is an interface path with this interface name; otherwise, <c>false</c>.
            </returns>
            <remarks>
                Since CAEX Version 3.0 Names cannot be part of an interface path anymore.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions">
            <summary>
                Extension methods for the <see cref="T:Aml.Engine.CAEX.SystemUnitClassType" />.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.AddInstance(Aml.Engine.CAEX.SystemUnitClassType,Aml.Engine.CAEX.CAEXObject)">
            <summary>
                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.
            </summary>
            <param name="systemUnitClass">
                The Parent-InternalElement
            </param>
            <param name="newInstanceObject">
                The instance of a class to be inserted at the parentInternalElement. The instance can be
                of type InternalElementType or InterfaceClassType
            </param>
            <returns>
                True if insertion was successful, otherwise false (name is not unique or wrong type of newInstanceObject)
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.AddNewInternalElement(Aml.Engine.CAEX.SystemUnitClassType,System.String)">
            <summary>
                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'
            </summary>
            <param name="systemUnitClass">
                Parent of the new InternalElement
            </param>
            <param name="elementName">
                Name of the new InternalElement
            </param>
            <returns>
                the new InternalElement or null, if the elementName is not unique
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.Ancestors(Aml.Engine.CAEX.SystemUnitFamilyType)">
            <summary>
                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.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass.</param>
            <returns>
                Enumeration of all SystemUnitClass ancestors.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.Append_InternalElement(Aml.Engine.CAEX.SystemUnitClassType,Aml.Engine.CAEX.InternalElementType,Aml.Engine.CAEX.InternalElementType)">
            <summary>
                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.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object</param>
            <param name="internalElement">The internal element.</param>
            <param name="internalElementPredecessor">The internal element predecessor.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.Insert_Attribute(Aml.Engine.CAEX.IObjectWithAttributes,Aml.Engine.CAEX.AttributeType)">
            <summary>
                Inserts an Attribute object in the Attribute collection of the <paramref name="objectWithAttributes" />.
            </summary>
            <param name="objectWithAttributes">Any object with an Attribute collection.</param>
            <param name="attributeElement">The Attribute object to insert</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.Insert_ExternalInterface(Aml.Engine.CAEX.IObjectWithExternalInterface,Aml.Engine.CAEX.ExternalInterfaceType,System.Boolean)">
            <summary>
                Inserting an ExternalInterface to the ExternalInterface-Collection of the
                <paramref name="objectWithExternalInterface" />.
                The Element is inserted at the first Element
                of any existing ExternalInterfaces if no other position is defined.
            </summary>
            <param name="objectWithExternalInterface">Any object with an ExternalInterface collection.</param>
            <param name="interfaceElement">The ExternalInterface object.</param>
            <param name="asFirst">Explicit definition of the position asFirst (true) or asLast (false)</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.Insert_InternalElement(Aml.Engine.CAEX.IInternalElementContainer,Aml.Engine.CAEX.InternalElementType,System.Boolean)">
            <summary>
                Inserting an InternalElement to the InternalElement-Collection of the
                <paramref name="objectWithInternalElements" />.
            </summary>
            <param name="objectWithInternalElements">Any object with an InternalElement collection.</param>
            <param name="internalElement">The InternalElement to insert.</param>
            <param name="asFirst">Insert as first if set to true (default), otherwise append as last</param>
            <remarks>
                <seealso cref="M:Aml.Engine.CAEX.CAEXSequence`1.Insert(`0,System.Boolean)" />
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.Insert_InternalLink(Aml.Engine.CAEX.SystemUnitClassType,Aml.Engine.CAEX.InternalLinkType,System.Boolean)">
            <summary>
                Inserts the specified InternalLink as the first InternalLink if nothing else if explicit defined.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object</param>
            <param name="internalLinkElement">The internal link element.</param>
            <param name="asFirst">Inserted at first position if set to <c>true</c>, otherwise appended at last position</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.Insert_SupportedRoleClass(Aml.Engine.CAEX.SystemUnitClassType,Aml.Engine.CAEX.SupportedRoleClassType,System.Boolean)">
            <summary>
                Inserts the SupportedRoleClass as the first SupportedRoleClass if nothing else if explicit defined.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object</param>
            <param name="supportedRoleClassElement">The supported role class element.</param>
            <param name="asFirst">Inserted at first position if set to <c>true</c>, otherwise appended at last position</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.New_ExternalInterface(Aml.Engine.CAEX.IObjectWithExternalInterface,System.String,System.Boolean)">
            <summary>
                Adding a new ExternalInterface instance to the ExternalInterface-Collection of the
                <paramref name="objectWithExternalInterface" />.
                The New ExternalInterface is inserted as the
                first ExternalInterface of any existing Interfaces if nothing else is explicit defined.
            </summary>
            <param name="objectWithExternalInterface">Any object with an ExternalInterface collection.</param>
            <param name="name">The name of the new ExternalInterface</param>
            <param name="asFirst">If set to true, the interface is insert at first, otherwise at last Interface.</param>
            <returns>The new ExternalInterface</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.New_ExternalInterface(Aml.Engine.CAEX.IObjectWithExternalInterface,System.String,System.String,System.Boolean)">
            <summary>
                Adding a new ExternalInterface instance to the ExternalInterface-Collection of the
                <paramref name="objectWithExternalInterface" /> 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 <paramref name="interfaceClassPath"/> is set as the RefBaseClassPath value.
            </summary>
            <param name="objectWithExternalInterface">Any object with an ExternalInterface collection.</param>
            <param name="name">The name of the new ExternalInterface</param>
            <param name="interfaceClassPath">The CAEX Path of the InterfaceClass which should be referenced.</param>
            <param name="asFirst">If set to true, the interface is insert at first, otherwise at last Interface.</param>
            <returns>The new ExternalInterface</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.New_InternalElement(Aml.Engine.CAEX.IInternalElementContainer,System.String,System.Boolean)">
            <summary>
                Adding a new InternalElement instance to the InternalElement-Collection of the
                <paramref name="elementWithInternalElements" />.
                The New InternalElement is inserted as the
                first InternalElement of any existing InternalElement objects if nothing else is explicit defined.
            </summary>
            <param name="elementWithInternalElements">Any object with an InternalElement collection.</param>
            <param name="elementName">Name of the InternalElement</param>
            <param name="asFirst">If set to true, the InternalElement is insert at first, otherwise at last.</param>
            <returns>The new InternalElement</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.New_InternalLink(Aml.Engine.CAEX.SystemUnitClassType,System.String,System.Boolean)">
            <summary>
                Inserts a new InternalLink as the first InternalLink if nothing else if explicit defined.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object</param>
            <param name="name">The name of the InternalLink</param>
            <param name="asFirst">if <c>true</c> insert at first InternalLink, otherwise at last InternalLink</param>
            <returns>The new InternalLink element</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Extensions.SystemUnitClassTypeExtensions.New_SupportedRoleClass(Aml.Engine.CAEX.SystemUnitClassType,System.String,System.Boolean)">
            <summary>
                Inserts a new SupportedRoleClass as the first SupportedRoleClass if nothing else if explicit defined.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object</param>
            <param name="referencedRoleClassPath">The path to the role class that is referenced</param>
            <param name="asFirst">Inserted at first position if set to <c>true</c>, otherwise appended at last position</param>
            <returns>The new SupportedRoleClass</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.CAEXElementChangeMode">
            <summary>
                This enum defines possible changes of a CAEX object. The changes are notified in a <see cref="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.ChangedEvent" /> or
                a <see cref="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.ChangingEvent" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.None">
            <summary>
                empty mode
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.Added">
            <summary>
                A CAEX object has been added.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.Deleting">
            <summary>
                A CAEX object will be deleted.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.IDChanged">
            <summary>
                A CAEX object has got a changed ID attribute.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.IDChanging">
            <summary>
                A CAEX object will get a changed ID.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.IDRefChanged">
            <summary>
                A CAEX object has got a changed ID reference.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.IDRefChanging">
            <summary>
                A CAEX object will get a changed ID reference.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.NameChanged">
            <summary>
                A CAEX object has been renamed.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.NameChanging">
            <summary>
                A CAEX object will be renamed.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.NameRefChanged">
            <summary>
                A CAEX object has got a changed name reference.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.NameRefChanging">
            <summary>
                A CAEX object will get a changed name reference.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.PathRefChanged">
            <summary>
                A CAEX object has got a changed path reference.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.PathRefChanging">
            <summary>
                A CAEX object will get a changed path reference.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.Deleted">
            <summary>
                A CAEX object has been deleted, the element in the change notification is the former parent of the deleted element.
                <see cref="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.CAEXElement" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.ValueChanged">
            <summary>
                A CAEX object's value has been changed.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.ValueChanging">
            <summary>
                A CAEX object's value will change.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.Moving">
            <summary>
                A CAEX object is moving to a new position in its collection.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.Moved">
            <summary>
                A CAEX object has been moved to a new position in its collection.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.ChangedEvent">
            <summary>
                Combination of all defined changed mode events
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.Commands.CAEXElementChangeMode.ChangingEvent">
            <summary>
                Combination of all defined modes for changing events
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs">
            <summary>
                Event arguments for a <see cref="E:Aml.Engine.CAEX.Commands.CaexCommand.CAEXElementChangingEvent" /> and
                a <see cref="E:Aml.Engine.CAEX.Commands.CaexCommand.CAEXElementChangedEvent" />
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XElement,Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.Commands.CAEXElementChangeMode)">
            <summary>
                Constructs arguments for an element changing event
            </summary>
            <param name="caexElement">The CAEX element.</param>
            <param name="caexParent">The CAEX parent.</param>
            <param name="document">The document.</param>
            <param name="changeMode">The change mode.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XElement,Aml.Engine.CAEX.CAEXDocument,System.Xml.Linq.XAttribute,System.String,System.Object,System.Object,Aml.Engine.CAEX.Commands.CAEXElementChangeMode)">
            <summary>
                Constructs arguments for an element's attribute changing event
            </summary>
            <param name="caexElement">The CAEX element.</param>
            <param name="caexParent">The CAEX parent.</param>
            <param name="document">The document.</param>
            <param name="attribute">The attribute.</param>
            <param name="attributeName">Name of the attribute.</param>
            <param name="oldValue">The old value.</param>
            <param name="newValue">The new value.</param>
            <param name="changeMode">The change mode.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.CAEXAttribute">
            <summary>
                The changed CAEXAttribute
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.CAEXAttributeName">
            <summary>
                Gets the name of the CAEX attribute.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.CAEXDocument">
            <summary>
                Gets the CAEX document.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.CAEXElement">
            <summary>
                The changed CAEXElement
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.CAEXParent">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.ChangeMode">
            <summary>
                The change mode
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.NewValue">
            <summary>
                The new value
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs.OldValue">
            <summary>
                The old value
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.MoveCmd.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XElement,System.Boolean)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.Commands.MoveCmd" /> class.
            </summary>
            <param name="movedElement">The moved element.</param>
            <param name="sibling">The sibling.</param>
            <param name="afterSibling">if set to <c>true</c> [after sibling].</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.MoveCmd.Move(System.Xml.Linq.XElement,System.Xml.Linq.XElement,System.Boolean)">
            <summary>
                Moves the element before the specified sibling.
            </summary>
            <param name="movedElement">the moved element</param>
            <param name="sibling">the new sibling of the element</param>
            <param name="afterSibling">if set to <c>true</c> the element is moved after the sibling.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.MoveCmd.Execute">
            <summary>
                Command Execution method
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.MoveCmd.UnExecute">
            <summary>
                Command reverse execution method
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.NamespaceDoc">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.Commands.ICAEXCommand" />
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.SetElementContentCmd">
            <summary>
                Command to change the content nodes of an XElement which enables undo and redo of the changes
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetElementContentCmd.#ctor(System.Xml.Linq.XElement,System.Object)">
            <summary>
                Create a new instance of the command
            </summary>
            <param name="element">The Element, which value should change</param>
            <param name="newContent">The new content element</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetElementContentCmd.SetValue(System.Xml.Linq.XElement,System.Object)">
            <summary>
                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.
            </summary>
            <param name="element"></param>
            <param name="value"></param>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetElementContentCmd.Element">
            <summary>
                The changed element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetElementContentCmd.NewValue">
            <summary>
                The new value which is set when the command is executed
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetElementContentCmd.OldValue">
            <summary>
                The old value of the element before the change was made
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetElementContentCmd.Execute">
            <summary>
                Command Execution Method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetElementContentCmd.UnExecute">
            <summary>
                Command reverse execution Method (enables undo)
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.WeakEventSource`1">
            <summary>
                This Class defines a WeakEventSource, used to define Events, raised in the AML Engine.
            </summary>
            <typeparam name="TEventArgs">The type of the event arguments.</typeparam>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.WeakEventSource`1.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.Commands.WeakEventSource`1" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.WeakEventSource`1.Raise(System.Object,`0)">
            <summary>
                Raises an event, defined with this instance
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The event argument instance containing the event data.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.WeakEventSource`1.Subscribe(System.EventHandler{`0})">
            <summary>
                Subscribes the specified handler with this event source.
            </summary>
            <param name="handler">The handler.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.WeakEventSource`1.Unsubscribe(System.EventHandler{`0})">
            <summary>
                Unsubscribes the specified handler with this event source.
            </summary>
            <param name="handler">The handler.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.CaexCommand">
            <summary>
                This is the abstract base class for all CAEX commands, applicable to CAEX elements
            </summary>
        </member>
        <member name="E:Aml.Engine.CAEX.Commands.CaexCommand.CAEXElementChangedEvent">
            <summary>
                This event is raised after a CAEXElement has been changed. <see cref="T:Aml.Engine.CAEX.Commands.CAEXElementChangeMode" />
            </summary>
        </member>
        <member name="E:Aml.Engine.CAEX.Commands.CaexCommand.CAEXElementChangingEvent">
            <summary>
                This event is raised before a CAEXElement will be changed. <see cref="T:Aml.Engine.CAEX.Commands.CAEXElementChangeMode" />
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CaexCommand.CAEXDocument">
            <summary>
                Gets the CAEX document processing the command
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CaexCommand.DisplayName">
            <summary>
                Gets the display name of the command
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.CaexCommand.XDocument">
            <summary>
                Gets the XML document processing the command
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.CaexCommand.OnCAEXElementChangedEvent(System.Xml.Linq.XDocument,Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs)">
            <summary>
                Raises the <see cref="E:Aml.Engine.CAEX.Commands.CaexCommand.CAEXElementChangedEvent" /> for the provided document.
            </summary>
            <param name="document">The document.</param>
            <param name="args">The <see cref="T:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs" /> instance containing the event data.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.CaexCommand.OnCAEXElementChangingEvent(System.Xml.Linq.XDocument,Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs)">
            <summary>
                Raises the <see cref="E:Aml.Engine.CAEX.Commands.CaexCommand.CAEXElementChangingEvent" /> for the provided document.
            </summary>
            <param name="document">The document.</param>
            <param name="args">The <see cref="T:Aml.Engine.CAEX.Commands.CAEXElementChangeEventArgs" /> instance containing the event data.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.CaexCommand.Execute">
            <summary>
                Command Execution method
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.CaexCommand.UnExecute">
            <summary>
                Command reverse execution method
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.AddCmd">
            <summary>
                Command to add a new Element to an existing sibling which enables undo and redo of the changes
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.AddCmd.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XElement,System.Boolean)">
            <summary>
                Create a new instance of the command
            </summary>
            <param name="sibling">The sibling of the element</param>
            <param name="element">The element</param>
            <param name="isAfter">Determines the position</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.AddCmd.AddSibling(System.Xml.Linq.XElement,System.Xml.Linq.XElement,System.Boolean)">
            <summary>
                Adds a Sibling to the specified sibling using a command.
            </summary>
            <param name="sibling">the sibling</param>
            <param name="element">the added element</param>
            <param name="isAfter">if <c>true</c> element is added after the sibling; otherwise before</param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.AddCmd.Element">
            <summary>
                The added Element
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.AddCmd.Execute">
            <summary>
                Command execution method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.AddCmd.UnExecute">
            <summary>
                Command reverse execution Method (enables undo)
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.InsertCmd">
            <summary>
                Command to insert a new Element to an existing parent which enables undo and redo of the changes
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.InsertCmd.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
            <summary>
                Create a new instance of the command
            </summary>
            <param name="owner">The designated owner of the element</param>
            <param name="element">The element</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.InsertCmd.InsertElement(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
            <summary>
                Inserts the Element using a command, if the UndoRedoService is registered.
                If no service is registered, the changes are made without using a command.
            </summary>
            <param name="owner"></param>
            <param name="element"></param>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.InsertCmd.Element">
            <summary>
                The New added Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.InsertCmd.Owner">
            <summary>
                The Owner of the Element
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.InsertCmd.Execute">
            <summary>
                Command execution method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.InsertCmd.UnExecute">
            <summary>
                Command reverse execution Method (enables undo)
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.InsertNewCmd">
            <summary>
                Command to insert a new Element to an existing parent which enables undo and redo of the changes
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.InsertNewCmd.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
                Create a new instance of the command
            </summary>
            <param name="owner">The designated owner of the new element</param>
            <param name="elementName">The XName of the new element</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.InsertNewCmd.InsertNewElement(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
                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.
            </summary>
            <param name="owner"></param>
            <param name="elementName"></param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.InsertNewCmd.Element">
            <summary>
                The New added Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.InsertNewCmd.Name">
            <summary>
                The XName of the Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.InsertNewCmd.Owner">
            <summary>
                The Owner of the Element
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.InsertNewCmd.Execute">
            <summary>
                Command execution method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.InsertNewCmd.UnExecute">
            <summary>
                Command reverse execution Method (enables undo)
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.RemoveCmd">
            <summary>
                Command to remove an Element which enables undo and redo of the changes
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.RemoveCmd.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Create a new instance of the command
            </summary>
            <param name="element">The element</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.RemoveCmd.RemoveElement(System.Xml.Linq.XElement)">
            <summary>
                Removes the Element using a command, if the UndoRedoService is registered.
                If the service is null, the changes are made without using a command.
            </summary>
            <param name="element">the removed element</param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.RemoveCmd.Element">
            <summary>
                The New added Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.RemoveCmd.Owner">
            <summary>
                The Owner of the Element
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.RemoveCmd.Execute">
            <summary>
                Command execution method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.RemoveCmd.UnExecute">
            <summary>
                Command reverse execution Method (enables undo)
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.AddNewCmd">
            <summary>
                Command to add a new Element to an existing parent which enables undo and redo of the changes
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.AddNewCmd.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Object,System.Boolean)">
            <summary>
                Create a new instance of the command
            </summary>
            <param name="ownerOrSibling">The designated owner of the new element or sibling</param>
            <param name="elementName">The XName of the new element</param>
            <param name="content">The content for the new element</param>
            <param name="isSibling">If set to <c>true</c> the provided element is the sibling, otherwise the parent </param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.AddNewCmd.Execute">
            <summary>
                Command execution method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.AddNewCmd.AddNewElement(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Object,System.Boolean)">
            <summary>
                Adds a new Element using a command.
            </summary>
            <param name="ownerOrSibling">The designated owner or the sibling of the new element</param>
            <param name="elementName">The XName of the new element</param>
            <param name="content">The content for the new element</param>
            <param name="isSibling">If set to <c>true</c> the provided element is the sibling, otherwise the parent</param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.AddNewCmd.Content">
            <summary>
                The content of the Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.AddNewCmd.Name">
            <summary>
                The XName of the Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.AddNewCmd.OwnerOrSibling">
            <summary>
                The Owner of the Element
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.SetAttributeValueCmd">
            <summary>
                Command to change the value of an Attribute of an XElement which enables undo and redo of the changes
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetAttributeValueCmd.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Object)">
            <summary>
                Create a new instance of the command
            </summary>
            <param name="element">The Element, which owns the attribute.</param>
            <param name="attributeName">The name of the attribute.</param>
            <param name="attributeValue">The new value.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetAttributeValueCmd.SetValue(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Object)">
            <summary>
                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.
            </summary>
            <param name="element">The Element</param>
            <param name="attributeName">Name of the attribute</param>
            <param name="attributeValue">Attribute value</param>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetAttributeValueCmd.Name">
            <summary>
                The Name of the Attribute
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetAttributeValueCmd.NewValue">
            <summary>
                The New value for the attribute
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetAttributeValueCmd.OldValue">
            <summary>
                The Old Value of the attribute or null if no attribute existed before
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetAttributeValueCmd.Owner">
            <summary>
                The Owner of the attribute
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetAttributeValueCmd.Execute">
            <summary>
                Command Execution Method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetAttributeValueCmd.UnExecute">
            <summary>
                Command reverse execution Method (enables undo)
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.SetElementValueCmd">
            <summary>
                Command to change the value of an XElement which enables undo and redo of the changes
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetElementValueCmd.#ctor(System.Xml.Linq.XElement,System.String)">
            <summary>
                Create a new instance of the command
            </summary>
            <param name="element">The Element, which value should change</param>
            <param name="newValue">The new value</param>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetElementValueCmd.SetValue(System.Xml.Linq.XElement,System.String)">
            <summary>
                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.
            </summary>
            <param name="element"></param>
            <param name="value"></param>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetElementValueCmd.Element">
            <summary>
                The changed element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetElementValueCmd.NewValue">
            <summary>
                The new value which is set when the command is executed
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.SetElementValueCmd.OldValue">
            <summary>
                The old value of the element before the change was made
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetElementValueCmd.Execute">
            <summary>
                Command Execution Method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.SetElementValueCmd.UnExecute">
            <summary>
                Command reverse execution Method (enables undo)
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Commands.ICAEXCommand">
            <summary>
                Interface for CAEXCommands. If Commands implement this interface, they can use
                a <see cref="T:Aml.Engine.Services.Interfaces.IUndoRedo" /> to enable undo and redo.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.ICAEXCommand.CAEXDocument">
            <summary>
                Gets the CAEX document.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.Commands.ICAEXCommand.DisplayName">
            <summary>
                Gets the display name.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.ICAEXCommand.Execute">
            <summary>
                Command Execution Method (enables redo)
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Commands.ICAEXCommand.UnExecute">
            <summary>
                Command reverse execution Method (enables undo)
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.CopyrightType">
            <summary>
                This class is a wrapper for the CAEX element 'Copyright'.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CopyrightType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CopyrightType" /> class.
            </summary>
            <param name="xmlNode">The XML node.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.DescriptionType">
            <summary>
                This class is a wrapper for the CAEX element 'Description'.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.DescriptionType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.DescriptionType" /> class.
            </summary>
            <param name="xmlNode">The XML node.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.IAttributeValueType">
            <summary>
                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 <see cref="T:Aml.Engine.CAEX.Extensions.CaexValue" />.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="P:Aml.Engine.CAEX.IAttributeValueType.ValueAttributes">
            <summary>
                Gets all the CAEXValue objects for the defined value attributes of this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IAttributeValueType.Item(System.String)">
            <summary>
                Gets and sets the attribute value for the named attribute using the decoding and encoding methods of
                <see cref="T:Aml.Engine.CAEX.Extensions.CaexValue" />.
            </summary>
            <param name="attributeName"></param>
        </member>
        <member name="P:Aml.Engine.CAEX.IAttributeValueType.AttributeDataType">
            <summary>
                Gets the Attribute datatype which is valid for all attribute values of this element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IAttributeValueType.AttributeTypeDefiningAttribute">
            <summary>
                Gets the attribute, which specifies the attribute data type for the attribute values.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.IAttributeValueType.GetCaexValue(System.String)">
            <summary>
                Gets the CAEXValue for the named value attribute which
                allows type-coded access to the value property using appropriate encoding and decoding methods.
            </summary>
            <param name="attributeName"></param>
        </member>
        <member name="T:Aml.Engine.CAEX.ICAEXBasicObject">
            <summary>
                Interface class implemented by <see cref="T:Aml.Engine.CAEX.CAEXBasicObject" /> which comprises a basic set of attributes and header
                information which exist for all CAEX elements.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.AdditionalInformation">
            <summary>
                Gets the collection of AdditionalInformation values contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.ChangeMode">
            <summary>
                Gets and sets the change mode for a CAEX element (Optional in CAEX).
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.Copyright">
            <summary>
                Gets and sets the Copyright for this object.
            </summary>
            <remarks>
                For CAEX 2.15 documents the content of the Copyright object is transformed to a string.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.CopyrightElement">
            <summary>
                Gets the wrapper for the Copyright element.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.Description">
            <summary>
                Gets and sets the Description for this object.
            </summary>
            <remarks>
                For CAEX 2.15 documents the content of the Description object is transformed to a string.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.DescriptionElement">
            <summary>
                Gets the wrapper for the Description element.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.Revision">
            <summary>
                Gets the collection of Revision objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.SourceObjectInformation">
            <summary>
                Gets the collection of SourceObjectInformation objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.Version">
            <summary>
                Gets and sets the Version for this object.
            </summary>
            <remarks>
                For CAEX 2.15 documents the content of the Version object is transformed to a string.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXBasicObject.VersionElement">
            <summary>
                Gets the wrapper for the Version element.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXBasicObject.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                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 <see cref="P:Aml.Engine.CAEX.ICAEXBasicObject.Revision" /> is returned.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXBasicObject.Container``1">
            <summary>
                Gets the CAEXSequence for elements of type T, which is owned by this CAEX object.
            </summary>
            <typeparam name="T"></typeparam>
            <returns>The CAEX container</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXBasicObject.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The CAEXBasicObject
                defines the <see cref="P:Aml.Engine.CAEX.ICAEXBasicObject.Revision" /> and <see cref="P:Aml.Engine.CAEX.ICAEXBasicObject.SourceObjectInformation" /> sequences.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                true, if a sequence could be identified and the CAEX object
                has been inserted into this sequence.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXBasicObject.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the defined position. The CAEXBasicObject
                defines the <see cref="P:Aml.Engine.CAEX.ICAEXBasicObject.Revision" /> and <see cref="P:Aml.Engine.CAEX.ICAEXBasicObject.SourceObjectInformation" /> sequences.
            </summary>
            <param name="pos">The position</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                true, if a sequence could be identified and the CAEX object
                has been inserted into this sequence.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXBasicObject.New_Revision(System.DateTime,System.String,System.Boolean)">
            <summary>
                Creates a new Revision object and inserts it to the collection of Revision objects <see cref="P:Aml.Engine.CAEX.ICAEXBasicObject.Revision" />
                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.
            </summary>
            <param name="date">The date.</param>
            <param name="author">The author.</param>
            <param name="asFirst">if set to <c>true</c> the created Revision is prepended, otherwise appended.</param>
            <returns>A Revision object.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.ICAEXObject">
            <summary>
                This interface class is implemented by all CAEXObject classes and defines accessors for the attributes of a CAEX
                object.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXObject.ID">
            <summary>
                Gets or sets the identifier.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXObject.Name">
            <summary>
                Gets or sets the name.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXObject.CAEXPath">
            <summary>
                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 <see cref="T:Aml.Engine.CAEX.Extensions.CAEXPathBuilder" /> to generate
                the CAEX path of an object according to the documents CAEX version.
            </summary>
            <remarks>
                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.
                <para>
                    Please note that this method returns a different result than the
                    <see cref="M:Aml.Engine.CAEX.Extensions.CAEXObjectExtensions.GetFullNodePath(Aml.Engine.CAEX.ICAEXObject)" />  method, which always returns
                    the path including the object names of all ancestor hierarchy levels.
                </para>
            </remarks>
            <returns>
                The CAEX path.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.ICAEXSequence">
            <summary>
                This interface defines a sequence of CAEX elements.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXSequence.First">
            <summary>
                Gets a wrapper for the first CAEX element in this sequence, if the sequence contains no elements <c>null</c> is
                returned.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXSequence.Last">
            <summary>
                Gets a wrapper for the last CAEX element in this sequence, if the sequence contains no elements <c>null</c> is
                returned.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXSequence.Item(System.ValueTuple{System.String,System.String})">
            <summary>
                Gets the first CAEX object with a specific attribute value from the sequence of elements
            </summary>
            <param name="attributeValuePair">Pair of attribute name and attribute value</param>
            <returns>the first CAEX object, which matches this condition.</returns>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXSequence.Item(System.Int32)">
            <summary>
                Gets a wrapper for the CAEX element in this sequence at the given position
            </summary>
            <param name="i">index position of the element</param>
            <returns>The created CAEX wrapper.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.Append">
            <summary>
                Creates a new CAEX object and appends it to already existing elements in this sequence.
            </summary>
            <returns>the created CAEX object</returns>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">raised, when this parent child relation violates the CAEX schema. </exception>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.Append(System.ValueTuple{System.String,System.Object}[])">
            <summary>
                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.
            </summary>
            <param name="attributeValueTuples">The attribute value tuples.</param>
            <returns>
                the created CAEX object.
            </returns>
            <example>
                This sample shows how to apply this method:
                <code>
            var doc = CAEXDocument.New();
            var at =  doc.CAEXFile.AttributeTypeLib.Append (new Tuple &lt;string,object&gt;[] { Tuple.Create&lt;string,object&gt;("Name", "ALIB") });
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.At(System.Int32)">
            <summary>
                Gets the CAEX object at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>the CAEX object from the given index, or <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.GetEnumerator">
            <summary>
                Gets the enumerator for this sequence.
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.IndexOf(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the Index of the specified CAEX object in this sequence of elements.
            </summary>
            <param name="caexObject">the CAEX object</param>
            <returns>the Index of the specified CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.Insert(Aml.Engine.CAEX.ICAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object into this sequence. If no position is specified the element is appended.
                If 'asFirst' is set to <c>true</c>, the element is prepended to already existing ones.
            </summary>
            <param name="caexObject">the CAEX object</param>
            <param name="asFirst">
                optional parameter, if set to <c>true (default)</c> the object is prepended to already existing ones,
                otherwise it is appended.
            </param>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.InsertAt(System.Int32,Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Inserts the specified CAEX object into this sequence at the defined index.
            </summary>
            <param name="index">The Position of the element</param>
            <param name="caexObject">The CAEX object</param>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.Move(System.Int32,System.Int32)">
            <summary>
                Moves the CAEX object at the specified index to a new location in the collection.
            </summary>
            <param name="oldIndex">The zero-based index specifying the location of the CAEX object to be moved.</param>
            <param name="newIndex">The zero-based index specifying the new location of the CAEX object.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.Prepend">
            <summary>
                Creates a new CAEX object and prepends it to already existing elements.
            </summary>
            <returns>The created CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.Prepend(System.ValueTuple{System.String,System.Object}[])">
            <summary>
                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.
            </summary>
            <param name="attributeValueTuples">The attribute value tuples.</param>
            <returns>The created CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXSequence.RemoveElement(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Removes the provided CAEX object from this sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.ICAEXContainer">
            <summary>
                This interface is defined for CAEXObjects, which may contain different types of CAEX objects like
                the <see cref="T:Aml.Engine.CAEX.SystemUnitClassType" />. 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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXContainer.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in its associated container.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">if set to <c>true</c> insert it at the first position.</param>
            <returns><c>true</c>, if inserted; otherwise <c>false</c>.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.IInterfaceMapping">
            <summary>
            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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.IMapping" />
        </member>
        <member name="P:Aml.Engine.CAEX.IInterfaceMapping.RoleInterface">
            <summary>
            Gets and sets the mapped ExternalInterface of the role reference
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IInterfaceMapping.SystemUnitInterface">
            <summary>
            Gets and sets the mapped ExternalInterface of the SystemUnitClass
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.IMapping">
            <summary>
                This interface is implemented by the CAEX elements, which are possible children of the <see cref="T:Aml.Engine.CAEX.MappingType" />.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXBasicObject" />
        </member>
        <member name="P:Aml.Engine.CAEX.IMapping.MappingObject">
            <summary>
                Gets the mapping object which contains this Mapping Element.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.IMirror">
            <summary>
                Interface class, implemented by any CAEX object, which can be mirrored
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXObject" />
        </member>
        <member name="M:Aml.Engine.CAEX.IMirror.CreateMirror">
            <summary>
                Creates a mirror.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IMirror.IsMaster">
            <summary>
                Gets a value indicating whether this instance is a master.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IMirror.IsMirror">
            <summary>
                Gets a value indicating whether this instance is mirror.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IMirror.Master">
            <summary>
                Gets the master.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IMirror.MasterID">
            <summary>
                Gets the master identifier.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.IMultipleOccurrences`1">
            <summary>
                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.
            </summary>
            <typeparam name="T"></typeparam>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="M:Aml.Engine.CAEX.IMultipleOccurrences`1.InsertAfter(`0)">
            <summary>
                Inserts the provided CAEX object as a new sibling after this CAEX object, if both are of the same type.
            </summary>
            <param name="caexObject">The CAEX object to be inserted.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.IMultipleOccurrences`1.InsertBefore(`0)">
            <summary>
                Inserts the provided CAEX object as a new sibling before this CAEX object, if both are of the same type.
            </summary>
            <param name="caexObject">The CAEX object to be inserted</param>
        </member>
        <member name="T:Aml.Engine.CAEX.AttributeType">
            <summary>
                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 <see cref="T:Aml.Engine.CAEX.IObjectWithAttributes" /> interface.
                An associated collection of Attributes is wrapped in an <see cref="T:Aml.Engine.CAEX.AttributeSequence" />.
            </summary>
            <remarks>
                Since CAEX Version 3.0 an Attribute element can be instantiated from an AttributeType element
                <see cref="T:Aml.Engine.CAEX.AttributeFamilyType" />.
                The Attribute element and the AttributeType element share the same base class <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />.
            </remarks>
            <seealso cref="T:Aml.Engine.CAEX.AttributeTypeType" />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeType.#ctor(System.Xml.Linq.XElement)">
            <inheritdoc />
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.AttributeType" /> class.
            </summary>
            <param name="attributeTypeNode">An 'AttributeType' XML node</param>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.Constructor">
            <summary>
                The constructor function for the <see cref="T:Aml.Engine.CAEX.AttributeType" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.AttributeTypeReference">
            <summary>
                Gets and sets the AttributeType of an Attribute object, defining a new instance to class relation, using the CAEX
                attribute
                <see cref="P:Aml.Engine.CAEX.AttributeTypeType.RefAttributeType" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.Aml#Engine#CAEX#IMirror#IsMaster">
            <inheritdoc />
            <summary>
                Gets a value indicating whether this instance is a master attribute referenced by mirror attributes.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.IsMirror">
            <inheritdoc />
            <summary>
                Gets a value indicating whether this instance is a mirror of another Attribute object.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.Master">
            <summary>
                Gets the master Attribute object if this is a mirror and the master can be found in this CAEX document.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.AttributeTreeOwner">
            <summary>
                Gets the owner of the Attribute Tree. This is the first ancestor, which is not an AttributeType object.
            </summary>
            <value>
                The TreeOwner
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.Aml#Engine#CAEX#IMirror#Master">
            <inheritdoc />
            <summary>
                Gets the master, if this is a mirror attribute
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.MasterID">
            <inheritdoc />
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.MasterParentID">
            <summary>
                Gets the ID of the master attributes parent instance, if this is a mirror Attribute object. If it is not a mirror,
                <c>null</c> is returned.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeType.CreateAttributeType">
            <summary>
                Creates an AttriuteType from this Attribute instance.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeType.CreateMirror">
            <summary>
                Creates a new mirror element from this AttributeType
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeType.AttributePath">
            <summary>
                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.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeType.RecreateAttributeInstance(Aml.Engine.CAEX.AttributeFamilyType)">
            <summary>
                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.
            </summary>
            <param name="attributeType">Type of the attribute.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.AttributeValueComparer">
            <summary>
                Equality comparer for values of Attributes of XML-Elements
            </summary>
            <seealso cref="T:System.Collections.Generic.IEqualityComparer`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueComparer.#ctor(System.String)">
            <summary>
                Creates a new instance of an AttributeValueComparer for the provided Attribute name
            </summary>
            <param name="attributeName">The name of the attribute.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueComparer.Equals(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
            <summary>
                Compares the values of the provided attributes
            </summary>
            <param name="firstNode">The first object which should be compared.</param>
            <param name="secondNode">The second object which should be compared.</param>
            <returns>
                <c>true</c>, if values are equal
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueComparer.GetHashCode(System.Xml.Linq.XElement)">
            <summary>
                Returns a hash code for this instance.
            </summary>
            <param name="obj">The object.</param>
            <returns>
                A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.BaseElementType`1">
            <summary>
                This class is a generic base class for CAEX elements with simple values.
                This class is used by the CAEX adapter only.
            </summary>
            <typeparam name="TDataType">The type of the element data type.</typeparam>
            <seealso cref="T:Aml.Engine.CAEX.CAEXWrapper`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.BaseElementType`1.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.BaseElementType`1" /> class.
            </summary>
            <param name="xNode">The XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.BaseElementType`1.ChangeMode">
            <summary>
                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.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXTypeDictionary">
            <summary>
                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.
            </summary>
            <seealso cref="T:System.Collections.Generic.Dictionary`2" />
        </member>
        <member name="F:Aml.Engine.CAEX.CAEXTypeDictionary.Instance">
            <summary>
                The singleton instance of the CAEXType Dictionary
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEXTypeDictionary._creators">
            <summary>
                A dictionary, containing creation methods for CAEX elements, the type name is used as a dictionary key
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXTypeDictionary.#cctor">
            <summary>
                Initialization of the Type Dictionary
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXTypeDictionary.#ctor">
            <summary>
                Prevents a default instance of the <see cref="T:Aml.Engine.CAEX.CAEXTypeDictionary" /> class from being created.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXTypeDictionary.Item(System.String)">
            <summary>
                Gets or sets the data type associated with the specified key.
            </summary>
            <param name="caexTagName">
                The key. The caexTagName is concatenated
                with the "Type" extension, to match a Type name of a CAEX wrapper class.
            </param>
            <returns>Type.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXTypeDictionary.Key(System.String)">
            <summary>
                The Key for Dictionary access
            </summary>
            <param name="caexTagName">Name of the CAEX tag.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXTypeDictionary.ContainsKey(System.String)">
            <summary>
                Determines whether this dictionary's key collection contains the specified CAEX Tag name as a key.
            </summary>
            <param name="caexTagName">The CAEX Tag name, which is used to construct the dictionary key.</param>
            <returns>true if the dictionary contains an element with the specified key; otherwise, false.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXTypeDictionary.TryGetCreator(System.String,System.Func{System.Xml.Linq.XElement,Aml.Engine.CAEX.CAEXWrapper}@)">
            <summary>
                Tries to get the constructor function which can be used to create a CAEX wrapper
                for an CAEX element with the provided element name.
            </summary>
            <param name="elementName">The local name of the CAEX element.</param>
            <param name="creatorFunc">The function to create the CAEX wrapper.</param>
            <returns><see langword="true" />if a function exists.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXTypeDictionary.TryGetValue(System.String,System.Type@)">
            <summary>
                Tries to  get the value.
            </summary>
            <param name="caexTagName">Name of the CAEX tag.</param>
            <param name="t">The type.</param>
            <returns><c>true</c> if type is registered, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.AttributeFamilyType">
            <summary>
                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 <see cref="T:Aml.Engine.CAEX.AttributeTypeLibType" />. This class supports direct enumeration of the
                AttributeType's
                children in the AttributeType tree.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.AttributeTypeType" />
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
            <seealso cref="T:Aml.Engine.CAEX.IInstantiable`1" />
            <seealso cref="T:Aml.Engine.CAEX.IClassWithBaseClassReference`1" />
            <seealso cref="T:Aml.Engine.CAEX.AttributeTypeType" />
            <remarks>
                This class was introduced with CAEX Version 3.0 and can only be used with CAEX documents, based on Version
                3.0.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Creates a wrapper for the specified XElement which is an AttributeType
            </summary>
            <param name="attributeTypeNode">An AttributeType XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.Constructor">
            <summary>
                The constructor function for the <see cref="T:Aml.Engine.CAEX.AttributeFamilyType" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.AttributeDataType">
            <summary>
                Gets and set the AttributeDataType. If the AttributeDataType is not defined
                for this AttributeType but a <see cref="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass" /> 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)
            </summary>
            <seealso cref="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass" />
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.AttributeType">
            <summary>
                Gets a collection of the subordinate AttributeTypes (the direct children) in the AttributeType tree of this
                AttributeType.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass">
            <summary>
                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 <see cref="P:Aml.Engine.CAEX.AttributeTypeType.RefAttributeType" />
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.DefaultValue">
            <summary>
                Gets and set the DefaultValue. If the DefaultValue is not defined
                for this AttributeType but a <see cref="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass" /> exists, the DefaultValue
                of the BaseClass is returned.
            </summary>
            <seealso cref="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass" />
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.InheritedAttributes">
            <summary>
                Gets all attributes, including the inherited attributes of the base classes in the inheritance tree.
            </summary>
            <seealso cref="M:Aml.Engine.CAEX.AttributeFamilyType.GetReferenceHierarchy" />
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.InheritedConstraints">
            <summary>
                Gets all constraints, including the inherited constraints of the base classes in the inheritance tree.
            </summary>
            <seealso cref="M:Aml.Engine.CAEX.AttributeFamilyType.GetReferenceHierarchy" />
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.RefAttributeType">
            <summary>
                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.
            </summary>
            <seealso cref="P:Aml.Engine.CAEX.AttributeFamilyType.AttributeType" />
            <seealso cref="P:Aml.Engine.CAEX.AttributeType.AttributeTypeReference" />
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.RefBaseClassPath">
            <summary>
                Gets the reference base class path.
            </summary>
            <value>
                The reference base class path.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.ReferencedClassName">
            <summary>
                Gets the name (not the full path) of the referenced base class.
            </summary>
            <value>The name of the referenced class.</value>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeFamilyType.Unit">
            <summary>
                Gets and set the Unit. If the Unit is not defined
                for this AttributeType but a <see cref="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass" /> exists,
                the  Unit of the BaseClass is returned.
            </summary>
            <seealso cref="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass" />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.Container``1">
            <inheritdoc />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.CreateClassInstance">
            <summary>
                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."/>
            </summary>
            <returns>The created Attribute object.</returns>
            <seealso cref="M:Aml.Engine.CAEX.AttributeFamilyType.GetReferenceHierarchy" />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.Aml#Engine#CAEX#IInstantiable#CreateClassInstance">
            <summary>
                Creates a class instance for this AttributeType object. All inherited base classes are resolved in the resulting
                Attribute.
            </summary>
            <returns>A CAEXWrapper of the created Attribute object.</returns>
            <seealso cref="M:Aml.Engine.CAEX.AttributeFamilyType.GetReferenceHierarchy" />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.GetEnumerator">
            <summary>
                Gets the Enumerator for the enumeration of the <see cref="P:Aml.Engine.CAEX.AttributeFamilyType.AttributeType" /> field.
            </summary>
            <returns>
                An enumerator that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.System#Collections#IEnumerable#GetEnumerator">
            <summary>
                Gets the Enumerator for the enumeration of the <see cref="P:Aml.Engine.CAEX.AttributeFamilyType.AttributeType" /> field.
            </summary>
            <returns>
                An <see cref="T:System.Collections.IEnumerator" />-object, that can be used to iterate through the collection..
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.GetReferenceHierarchy">
            <summary>
                Gets the reference (inheritance) hierarchy. The reference hierarchy includes this instance and the reference
                hierarchy of
                an associated <see cref="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass" /> defining a class to class relation.
            </summary>
            <returns>Collection, containing this instance and the reference hierarchy of a base class.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.GetReferenceHierarchy``1">
            <summary>
                Gets the reference (inheritance) hierarchy. The reference hierarchy includes this instance and the reference
                hierarchy of
                an associated <see cref="P:Aml.Engine.CAEX.AttributeFamilyType.BaseClass" /> defining a class to class relation.
            </summary>
            <typeparam name="T">Type of the CAEX class.</typeparam>
            <returns>
                Queue, containing this instance at the first element, followed by the reference hierarchy of a base class.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeFamilyType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given index.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.AttributeNameMappingType">
            <summary>
            This class is a wrapper for the CAEX element 'AttributeNameMapping' which defines mappings
            between attributes of an AML object and any associated role class.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
        </member>
        <member name="F:Aml.Engine.CAEX.AttributeNameMappingType.Constructor">
            <summary>
            The constructor
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeNameMappingType.#cctor">
            <summary>
            Initializes the <see cref="T:Aml.Engine.CAEX.AttributeNameMappingType"/> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeNameMappingType.#ctor(System.Xml.Linq.XElement)">
            <summary>
            Creates a wrapper for the specified XElement which is an AttributeNameMapping Element
            </summary>
            <param name="attributeNameMappingNode">An AttributeNameMapping XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeNameMappingType.SystemUnitClassMappingElements">
            <summary>
            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.
            </summary>
            <value>
            The possible mapping identifiers to map Attributes of the SystemUnitClass and its ExternalInterface objects.
            </value>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeNameMappingType.RoleClassMappingElements(System.Boolean)">
            <summary>
            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.
            </summary>
            <remarks>
            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 <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.UnAssignedQualifiedRoleClassAttributesOfMultipleRoles"/>
            can be used. 
            <para>
            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.        
            </para>
            </remarks>
            <value>
            The possible mapping identifiers to map Attributes of the RoleClass and its ExternalInterface objects.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeNameMappingType.RoleAttribute">
            <summary>
            Gets the RoleClass element which can be identified with the <see cref="P:Aml.Engine.CAEX.AttributeNameMappingType.RoleAttributeName"/> or sets
            the <see cref="P:Aml.Engine.CAEX.AttributeNameMappingType.RoleAttributeName"/> retrieved from the provided value.
            </summary>
            <remarks>
            If the <see cref="P:Aml.Engine.CAEX.AttributeNameMappingType.RoleAttributeName"/> identifies a RoleRequirements Attribute and a RoleClass Attribute
            as well, the RoleClass Attribute is returned by the Getter. 
            </remarks>
            <value>
            The role attribute.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeNameMappingType.RoleAttributeName">
            <summary>
            Gets and Sets the 'RoleAttributeName' for this instance
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeNameMappingType.SystemUnitAttribute">
            <summary>
            Gets or sets the system unit attribute which is defined using the CAEX attribute
            <see cref="P:Aml.Engine.CAEX.AttributeNameMappingType.SystemUnitAttributeName"/>.
            </summary>
            <value>
            The system unit attribute.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeNameMappingType.RoleClassElementIdentifier">
            <summary>
            Gets and sets the identifier for the mapped RoleClass element.
            </summary>
            <value>
            The role class element identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeNameMappingType.SystemUnitClassElementIdentifier">
            <summary>
            Gets or sets the identifier for the mapped SystemUnitClass element.
            </summary>
            <value>
            The system unit class element identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeNameMappingType.SystemUnitAttributeName">
            <summary>
            Gets and Sets the 'SystemUnitAttributeName' for this instance
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.AttributeTypeType">
            <summary>
                This Class is the generic base class for 'Attribute' and 'AttributeType' elements and defines base structures for
                Attribute-
                and AttributeType definitions.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXObject" />
            <seealso cref="T:Aml.Engine.CAEX.IMultipleOccurrences`1" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithAttributes" />
            <seealso cref="T:Aml.Engine.CAEX.IAttributeValueType" />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.AttributeTypeType" /> class.
            </summary>
            <param name="attributeTypeNode">An 'AttributeType' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.Item(System.String)">
            <summary>
                Gets the type-decoded value and sets the type-encoded value for the value attribute with the defined name. The
                allowed Names as <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_VALUE_STRING" /> and
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_DEFAULTVALUE_STRING" />.
            </summary>
            <param name="attributeName"></param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.XsdDataTypes">
            <summary>
                The XSD data types which are supported.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.Attribute">
            <summary>
                Gets a collection of Attributes contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.AttributeAndDescendants">
            <summary>
                Gets the attributes and all nested attributes.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.AttributeDataType">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.AttributeTypeDefiningAttribute">
            <summary>
                Gets the Attribute datatype which is valid for values of all <see cref="P:Aml.Engine.CAEX.AttributeTypeType.ValueAttributes" /> of this element.
                For this class, it is the instance itself.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.Constraint">
            <summary>
                Gets the collection of AttributeValueRequirement objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.DefaultValue">
            <summary>
                Gets and sets the DefaultValue element of this Attribute object. Use the
                property <see cref="P:Aml.Engine.CAEX.AttributeTypeType.DefaultAttributeValue"/>, to get or set the type encoded
                default value according to the Attribute Data Type.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.RefAttributeType">
            <summary>
                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).
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.AttributeType" />
            <seealso cref="P:Aml.Engine.CAEX.AttributeType.AttributeTypeReference" />
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.RefSemantic">
            <summary>
                Gets the collection of RefSemantic objects contained in this instance
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.Unit">
            <summary>
                Gets and sets the Unit attribute for this Attribute object.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.Value">
            <summary>
                Gets and sets the Value for this Attribute object.
                The correct XML-String representation for the defined <see cref="P:Aml.Engine.CAEX.AttributeTypeType.AttributeDataType" />
                has to be ensured by the caller.
            </summary>
            <remarks>
                It is possible to use the Indexer <see cref="P:Aml.Engine.CAEX.AttributeTypeType.Item(System.String)" /> to set a type based value which
                is correctly encoded/decoded according to the specified <see cref="P:Aml.Engine.CAEX.AttributeTypeType.AttributeDataType" /> or use the
                property <see cref="P:Aml.Engine.CAEX.AttributeTypeType.AttributeValue"/>, which provides the same value access.
            </remarks>
            <example>
                This sample shows how to use this property:
                <code> 
             // setting a <see cref="T:System.TimeSpan" /> 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)
            {
            } 
            </code>
            </example>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.ValueAttributes">
            <summary>
                Gets all the CAEXValue objects for the defined value attributes of this instance. Recognized value attributes are
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_DEFAULTVALUE_STRING" /> and <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_VALUE_STRING" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.AttributeValue">
            <summary>
            Gets and set the encoded/decoded attribute value according to the defined AttributeDataType.
            </summary>       
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeType.DefaultAttributeValue">
            <summary>
            Gets and set the encoded/decoded default attribute value according to the defined AttributeDataType.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.ClrToXmlType(System.Type)">
            <summary>
                Gets the xmlType type for the specified CLR type. The Mapping is done
                according to
                <see href="https://msdn.microsoft.com/en-us/library/xa669bew(v=vs.110).aspx">Mapping XML Data Types to CLR Types.</see>
                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.
            </summary>
            <remarks>
                You can use the encoding and decoding methods of the <see cref="T:Aml.Engine.CAEX.Extensions.CaexValue" /> object, to receive a type conform
                result for the
                attribute value elements.
            </remarks>
            <param name="clrType">.Net data Type.</param>
            <returns>
                the name of the XML type
            </returns>
            <exception cref="T:System.ArgumentNullException">clrType</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.op_Implicit(Aml.Engine.CAEX.AttributeTypeType)~Aml.Engine.AmlObjects.ObjectWithAMLAttributes">
            <summary>
                Conversion to get access to specific AutomationML defined Attributes
            </summary>
            <param name="attributeType">The 'AttributeType' CAEX object.</param>
            <returns>
                The AttributeType object, converted to an <see cref="T:Aml.Engine.AmlObjects.ObjectWithAMLAttributes" /> type, which provides access to
                specific AML defined attributes.
            </returns>
            <exception cref="T:System.ArgumentNullException">attributeType</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.XmlTypeToClrType(System.String)">
            <summary>
                Gets the  CLR type for the specified xmlType. The Mapping is done
                according to
                <see href="https://msdn.microsoft.com/en-us/library/xa669bew(v=vs.110).aspx">Mapping XML Data Types to CLR Types.</see>
            </summary>
            <param name="xmlType">The name of the XML type</param>
            <returns>
                a .NET data Type
            </returns>
            <exception cref="T:System.ArgumentNullException">xmlType</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.Container``1">
            <inheritdoc />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.GetCaexValue(System.String)">
            <summary>
                Gets the <see cref="T:Aml.Engine.CAEX.Extensions.CaexValue" /> for the value attribute with the defined attribute name. The allowed Names as
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_VALUE_STRING" /> and
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_DEFAULTVALUE_STRING" />.
            </summary>
            <param name="attributeName"></param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.GetDateTime(System.Xml.XmlDateTimeSerializationMode)">
            <summary>
                Parse the Attribute Value string as dateTime. If the string can not be parsed, a format exception is returned.
                This method uses the XmlConvert
                <see cref="M:System.Xml.XmlConvert.ToDateTime(System.String,System.Xml.XmlDateTimeSerializationMode)" />  method.
            </summary>
            <param name="dateTimeOption">The date time option.</param>
            <returns>DateTime.</returns>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.GetDouble">
            <summary>
                Parse the Attribute Value string as double. If the string can not be parsed, a format exception is returned.
                This method uses the XmlConvert <see cref="M:System.Xml.XmlConvert.ToDouble(System.String)" />  method and a fall back conversion, if the first
                conversion
                fails.
            </summary>
            <returns>Double.</returns>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The AttributeType
                defines additional sequences for <see cref="P:Aml.Engine.CAEX.AttributeTypeType.Attribute" />,
                <see cref="P:Aml.Engine.CAEX.AttributeTypeType.Constraint" />
                and <see cref="P:Aml.Engine.CAEX.AttributeTypeType.RefSemantic" />.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the defined position. The AttributeType
                defines additional sequences for <see cref="P:Aml.Engine.CAEX.AttributeTypeType.Attribute" />,
                <see cref="P:Aml.Engine.CAEX.AttributeTypeType.Constraint" />
                and <see cref="P:Aml.Engine.CAEX.AttributeTypeType.RefSemantic" />.
            </summary>
            <param name="pos">the position</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.InsertAfter(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Inserts the provided CAEX object as a new sibling after this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted.</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.InsertBefore(Aml.Engine.CAEX.AttributeTypeType)">
            <summary>
                Inserts the provided CAEX object as a new sibling before this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.SetDateTime(System.DateTime,System.Xml.XmlDateTimeSerializationMode)">
            <summary>
                Sets the specified dateTime value as the attribute value. The AttributeDataType is set to xs:dateTime
            </summary>
            <param name="value">The value.</param>
            <param name="mode">The serialization mode, use UTC </param>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.SetDouble(System.Double)">
            <summary>
                Sets the specified double value as the attribute value. The AttributeDataType is set to xs:double
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.TryGetDateTime(System.Xml.XmlDateTimeSerializationMode,System.DateTime@)">
            <summary>
                Tries to parse the Attribute Value string as dateTime.
                This method uses the XmlConvert
                <see cref="M:System.Xml.XmlConvert.ToDateTime(System.String,System.Xml.XmlDateTimeSerializationMode)" />  method.
            </summary>
            <param name="dateTimeValue">The DateTime value.</param>
            <param name="dateTimeOption">The date time option.</param>
            <returns><c>true</c> if success, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeType.TryGetDouble(System.Double@)">
            <summary>
                Tries to parse the Attribute Value string as double.
                This method uses the XmlConvert <see cref="M:System.Xml.XmlConvert.ToDouble(System.String)" />  method and a fall back conversion, if the first
                conversion
                fails.
            </summary>
            <param name="doubleValue">The double value.</param>
            <returns><c>true</c> if success, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.AttributeTypeLibType">
            <summary>
                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 (<see cref="T:Aml.Engine.CAEX.CAEXFileType" />).
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXLibrary`1" />
            <remarks>
                This class was introduced with CAEX Version 3.0 and can only be used with CAEX documents, based on Version
                3.0.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeTypeLibType.AttributeType">
            <summary>
                Gets the collection of AttributeType objects contained in this AttributeTypeLib element.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeLibType.#cctor">
            <summary>
                Initializes the <see cref="T:Aml.Engine.CAEX.AttributeTypeLibType" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeLibType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.AttributeTypeLibType" /> class.
            </summary>
            <param name="attributeTypeLibNode">An 'AttributeTypeLib' XML node</param>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeLibType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeLibType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeTypeLibType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given index.
            </summary>
            <param name="pos">The insertion index</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.AttributeValueRequirementType">
            <summary>
                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.
                <list type="bullet">
                    <item>
                        <see cref="T:Aml.Engine.CAEX.NominalScaledTypeType" />
                    </item>
                    <item>
                        <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" />
                    </item>
                    <item>
                        <see cref="T:Aml.Engine.CAEX.UnknownTypeType" />
                    </item>
                </list>
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
        </member>
        <member name="F:Aml.Engine.CAEX.AttributeValueRequirementType.Constructor">
            <summary>
                The constructor
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueRequirementType.#cctor">
            <summary>
                Initializes the <see cref="T:Aml.Engine.CAEX.AttributeValueRequirementType" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueRequirementType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.AttributeValueRequirementType" /> class.
            </summary>
            <param name="constraintNode">A 'Constraint' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeValueRequirementType.Name">
            <summary>
                Gets and sets the name of the attribute value constraint.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeValueRequirementType.NominalScaledType">
            <summary>
                Gets the 'NominalScaledType' constraint.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeValueRequirementType.OrdinalScaledType">
            <summary>
                Gets the 'OrdinalScaledType' constraint.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.AttributeValueRequirementType.UnknownType">
            <summary>
                Gets the 'UnknownType' constraint.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueRequirementType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The AttributeValueRequirementType
                defines the <see cref="T:Aml.Engine.CAEX.UnknownTypeType" />, the  <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" /> and the
                <see cref="T:Aml.Engine.CAEX.NominalScaledTypeType" /> as possible child elements. Only one of these types
                is allowed as a child.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">ignored for this type.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueRequirementType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the defined position. The
                AttributeValueRequirementType
                defines the <see cref="T:Aml.Engine.CAEX.UnknownTypeType" />, the  <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" /> and the
                <see cref="T:Aml.Engine.CAEX.NominalScaledTypeType" /> as possible child elements. Only one of these types
                is allowed as a child.
            </summary>
            <param name="pos">The position.</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueRequirementType.New_NominalType">
            <summary>
                A new 'NominalScaledType' constraint is defined if no constraint has been defined before.
            </summary>
            <returns>The new 'NominalScaledType' constraint.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueRequirementType.New_OrdinalType">
            <summary>
                A new 'OrdinalScaledType' constraint is added if no constraint has been defined before.
            </summary>
            <returns>
                The new 'OrdinalScaledType' constraint.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeValueRequirementType.New_UnknownType">
            <summary>
                A new 'UnknownType' constraint is added if no constraint has been defined before.
            </summary>
            <returns>
                The new 'UnknownType' constraint.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXEnumerable`1">
            <summary>
                This class implements a specific enumeration type which wraps an XElement with a CAEXWrapper
                during enumeration. The enumerator for this class is <see cref="T:Aml.Engine.CAEX.CAEXSequenceEnumerator`1" />
            </summary>
            <typeparam name="T">Type of the CAEX wrapper</typeparam>
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXEnumerable`1.#ctor(Aml.Engine.CAEX.CAEXSequence{`0},System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
            <summary>
                Creates a new instance for a CAEXEnumerable with an associated CAEXSequence.
            </summary>
            <param name="sequence">
                The CAEXSequence containing the Xml-Element collection.
                If <c>null</c>, the specified Xml-Element collection is not associated with a
                CAEXSequence.
            </param>
            <param name="elements">
                The Xml-Element collection. If not associated to a CAEXSequence the
                specified sequence should be set to <c>null</c>.
            </param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXEnumerable`1.#ctor(System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
            <summary>
                Creates a new instance for the CAEX enumerable without an associated CAEXSequence.
            </summary>
            <param name="elements">The Xml-Element collection.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXEnumerable`1.GetEnumerator">
            <summary>
                Gets the CAEXSequenceEnumerator
            </summary>
            <returns>
                An enumerator that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXEnumerable`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
                Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
                A <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CaexObjectWithReference`1">
            <summary>
                Base class for all CAEX objects which may define a class to class relation referencing some base class.
            </summary>
            <typeparam name="T">Type parameter, specifying the CAEX class type.</typeparam>
            <seealso cref="T:Aml.Engine.CAEX.CAEXObject" />
            <seealso cref="T:Aml.Engine.CAEX.IMultipleOccurrences`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.CaexObjectWithReference`1.#ctor(System.Xml.Linq.XElement,System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CaexObjectWithReference`1" /> class.
            </summary>
            <param name="xmlNode">Any CAEX class XML node.</param>
            <param name="refName">Name of the CAEX attribute, used to store a class to class reference.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.CaexObjectWithReference`1.ReferenceAttributeName">
            <summary>
                Gets the Name of the attribute of the wrapped Xml-Element, which is used to define the reference to the base class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CaexObjectWithReference`1.InsertAfter(`0)">
            <summary>
                Inserts the provided CAEX object as a new sibling after this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted.</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CaexObjectWithReference`1.InsertBefore(`0)">
            <summary>
                Inserts the provided CAEX object as a new sibling before this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXSequenceEnumerator`1">
            <summary>
                This class implements the CAEX sequence enumerator which creates a CAEXWrapper for each enumerated
                XML-Element.
            </summary>
            <typeparam name="T"></typeparam>
            <seealso cref="T:System.Collections.Generic.IEnumerator`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceEnumerator`1.#ctor(Aml.Engine.CAEX.CAEXSequence{`0},System.Collections.Generic.IEnumerable{System.Xml.Linq.XElement})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXSequenceEnumerator`1" /> class.
            </summary>
            <param name="sequence">The CAEXSequence, defining the sequence of XML elements.</param>
            <param name="elements">The collection of XML elements of the CAEX sequence.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequenceEnumerator`1.Current">
            <summary>
                Gets the item in the collection at the current position of the enumerator.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequenceEnumerator`1.System#Collections#IEnumerator#Current">
            <summary>
                Gets the item in the collection at the current position of the enumerator.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceEnumerator`1.Dispose">
            <summary>
                Dispose this instance.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceEnumerator`1.MoveNext">
            <summary>
                Sets the enumerator to the next item in the collection.
            </summary>
            <returns>
                <see langword="true" />, if the enumerator was successfully set to the next element,
                <see langword="false" />, if the enumerator has exceeded the end of the collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequenceEnumerator`1.Reset">
            <summary>
                Resets the enumerator.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.ClassInstantiationException">
            <summary>
                User defined exception that is thrown when an error occurs during instantiation of a class.
            </summary>
            <seealso cref="T:System.ApplicationException" />
        </member>
        <member name="M:Aml.Engine.CAEX.ClassInstantiationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.ClassInstantiationException" /> class with serialized data.
            </summary>
            <param name="info">object containing the serialize data.</param>
            <param name="context">context information about source or target.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.ClassInstantiationException.#ctor">
            <summary>
                Standard constructor
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ClassInstantiationException.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.ClassInstantiationException" /> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.ClassInstantiationException.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.ClassInstantiationException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="inner">The inner Message.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.ICAEXWrapper">
            <summary>
                This interface class is implemented by all CAEX - object classes and defines accessors to the wrapped XML node.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ICAEXWrapper.CAEXParent">
            <summary>
                Gets the CAEXParent of this CAEX object
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXWrapper.CAEXChild(System.String)">
            <summary>
                Gets the first child of this CAEX object with the defined CAEX tag name.
            </summary>
            <param name="tagName">The CAEX tag name of the child.</param>
            <returns>The child, if it exists; otherwise <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXWrapper.CAEXChildren(System.String)">
            <summary>
                Gets all children of this CAEX object with the defined CAEX tag name.
            </summary>
            <param name="tagName">The CAEX tag name of the child.</param>
            <returns>The children, if existing; otherwise <c>Enumerable.Empty</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ICAEXWrapper.Remove(System.Boolean)">
            <summary>
                Removes this object
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.IClassWithBaseClassReference">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithAttributes" />
            <seealso cref="T:Aml.Engine.CAEX.ICAEXObject" />
        </member>
        <member name="M:Aml.Engine.CAEX.IClassWithBaseClassReference.GetReferenceHierarchy``1">
            <summary>
                Gets the reference (inheritance relations) hierarchy including the actual class as a queue.
            </summary>
            <typeparam name="T">The type of the CAEX class.</typeparam>
            <returns>A Queue of the base classes including the actual class.</returns>
        </member>
        <member name="P:Aml.Engine.CAEX.IClassWithBaseClassReference.RefBaseClassPath">
            <summary>
                Gets the reference base class path.
            </summary>
            <value>
                The reference base class path.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.IClassWithBaseClassReference.ReferencedClassName">
            <summary>
                Gets the name (not the full path) of the referenced base class.
            </summary>
            <value>The name of the referenced class.</value>
        </member>
        <member name="T:Aml.Engine.CAEX.IClassWithBaseClassReference`1">
            <summary>
                This interface class is derived from <see cref="T:Aml.Engine.CAEX.IClassWithBaseClassReference" /> 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.
            </summary>
            <typeparam name="T">Type of the class with a base class relation.</typeparam>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="P:Aml.Engine.CAEX.IClassWithBaseClassReference`1.BaseClass">
            <summary>
                Gets and sets the base class to define a class to class relation.
            </summary>
            <value>
                The base class.
            </value>
        </member>
        <member name="M:Aml.Engine.CAEX.IClassWithBaseClassReference`1.GetReferenceHierarchy">
            <summary>
                Gets the reference hierarchy for all class to class relations, starting with this class.
            </summary>
            <returns>A collection, containing this class and the reference hierarchy of the base class, if existing.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.IInstantiable">
            <summary>
                Interface IInstantiable is implemented by all CAEX classes.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXObject" />
        </member>
        <member name="M:Aml.Engine.CAEX.IInstantiable.CreateClassInstance">
            <summary>
                Creates the class instance.
            </summary>
            <returns>The CAEX object.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.IInstantiable`1">
            <summary>
                Generic interface IInstantiable defining the instantiation method and the instance type.
            </summary>
            <typeparam name="TINSTANCE">The type of the created instance.</typeparam>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="M:Aml.Engine.CAEX.IInstantiable`1.CreateClassInstance">
            <summary>
                Creates the class instance.
            </summary>
            <returns>an instance of this class, which is of the defined type.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.InterfaceNameMappingType">
            <summary>
            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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
            <seealso cref="T:Aml.Engine.CAEX.IInterfaceMapping" />
            <seealso cref="T:Aml.Engine.CAEX.IMapping" />
            <remarks>
            This class is defined for CAEX 2.15 only and is replaced since CAEX 3.0 with the <see cref="T:Aml.Engine.CAEX.InterfaceIDMappingType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceNameMappingType.#ctor(System.Xml.Linq.XElement)">
            <summary>
            Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.InterfaceNameMappingType"/> class.
            </summary>
            <param name="nodeElement">An 'InterfaceNameMapping' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceNameMappingType.SystemUnitClassMappingElements">
            <summary>
            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.
            </summary>
            <value>
            The possible mapping identifiers to map ExternalInterfaces of the SystemUnitClass.
            </value>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceNameMappingType.RoleClassMappingElements(System.Boolean)">
            <summary>
            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.
            </summary>
            <remarks>
            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 <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.UnAssignedQualifiedRoleClassInterfacesOfMultipleRoles"/>
            can be used. 
            <para>
            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.        
            </para>
            </remarks>
            <value>
            The possible mapping identifiers to map ExternalInterfaces of the RoleClass.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceNameMappingType.RoleInterface">
            <summary>
            Gets and sets the mapped ExternalInterface of the role reference
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceNameMappingType.RoleInterfaceName">
            <summary>
            Gets and sets the Name of the mapped ExternalInterface of the role reference
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceNameMappingType.SystemUnitInterface">
            <summary>
            Gets and sets the mapped ExternalInterface of the SystemUnitClass
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceNameMappingType.RoleClassElementIdentifier">
            <summary>
            Gets and sets the identifier for the mapped RoleClass element.
            </summary>
            <value>
            The role class element identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceNameMappingType.SystemUnitClassElementIdentifier">
            <summary>
            Gets or sets the identifier for the mapped SystemUnitClass element.
            </summary>
            <value>
            The system unit class element identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceNameMappingType.SystemUnitInterfaceName">
            <summary>
            Gets and sets the Name of the mapped ExternalInterface of the SystemUnitClass
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.InterfaceIDMappingType">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
            <seealso cref="T:Aml.Engine.CAEX.IInterfaceMapping" />
            <seealso cref="T:Aml.Engine.CAEX.IMapping" />
            <remarks>
                This class is defined since CAEX 3.0 and is a replacement for the <see cref="T:Aml.Engine.CAEX.InterfaceNameMappingType" />.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceIDMappingType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.InterfaceIDMappingType" /> class.
            </summary>
            <param name="nodeElement">An 'InterfaceIDMapping' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceIDMappingType.RoleInterface">
            <summary>
                Gets and sets the mapped ExternalInterface of the role reference
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceIDMappingType.RoleInterfaceID">
            <summary>
                Gets and sets the ID of the mapped ExternalInterface of the role reference
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceIDMappingType.SystemUnitClassMappingElements">
            <summary>
                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.
            </summary>
            <value>
                The possible mapping identifiers to map ExternalInterfaces of the SystemUnitClass.
            </value>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceIDMappingType.RoleClassMappingElements(System.Boolean)">
            <summary>
                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.
            </summary>
            <value>
                The possible mapping identifiers to map ExternalInterfaces of the RoleClass.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceIDMappingType.SystemUnitInterface">
            <summary>
                Gets and sets the mapped ExternalInterface of the SystemUnitClass
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceIDMappingType.SystemUnitInterfaceID">
            <summary>
                Gets and sets the ID of the mapped ExternalInterface of the SystemUnitClass
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceIDMappingType.RoleClassElementIdentifier">
            <summary>
                Gets and sets the identifier for the mapped RoleClass element.
            </summary>
            <value>
                The role class element identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceIDMappingType.SystemUnitClassElementIdentifier">
            <summary>
                Gets or sets the identifier for the mapped SystemUnitClass element.
            </summary>
            <value>
                The system unit class element identifier.
            </value>
        </member>
        <member name="T:Aml.Engine.CAEX.AttributeSequence">
            <summary>
                This class defines a sequence of CAEX 'Attribute' elements. A sequence of Attribute's can be associated
                with each class which implements the <see cref="T:Aml.Engine.CAEX.IObjectWithAttributes" /> interface.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeSequence.#ctor(System.Xml.Linq.XElement,System.Func{System.Xml.Linq.XElement,Aml.Engine.CAEX.AttributeType})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.AttributeSequence" /> class.
            </summary>
            <param name="owner">The owner.</param>
            <param name="create">The constructor function to create an Attribute wrapper.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeSequence.GetCAEXAttribute(System.String)">
            <summary>
                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.
            </summary>
            <param name="attributePath">The attribute path.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeSequence.GetCAEXAttributeByPartNames(System.String[])">
            <summary>
                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.
            </summary>
            <param name="partNames">The part names.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeSequence.CreateCaexWrapper(System.Xml.Linq.XElement)">
            <summary>
                Creates the 'AttributeType' CAEX wrapper for the XML node.
            </summary>
            <param name="node">The node.</param>
            <returns>The AttributeType</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.AttributeSequence.CreateElement(System.Xml.Linq.XElement)">
            <summary>
                Creates a new CAEX Attribute XML element.
            </summary>
            <param name="owner">The owner.</param>
            <returns>The XML node.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.ExternalInterfaceSequence">
            <summary>
                This class defines a sequence of CAEX 'ExternalInterface' elements. A sequence of ExternalInterfaces can be
                associated
                to each class, which implements the <see cref="T:Aml.Engine.CAEX.IObjectWithExternalInterface" /> interface.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalInterfaceSequence.#ctor(System.Xml.Linq.XElement,System.Func{System.Xml.Linq.XElement,Aml.Engine.CAEX.ExternalInterfaceType})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.ExternalInterfaceSequence" /> class.
            </summary>
            <param name="owner">The owner.</param>
            <param name="create">The constructor function to create an ExternalInterface object.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalInterfaceSequence.ExternalInterfaceDescandantsAndSelf">
            <summary>
                Gets all external interfaces and the external interface descendants (The external interface tree).
            </summary>
            <returns>
                an enumeration of all ExternalInterface object of this instance and their nested
                ExternalInterface objects.
            </returns>
            <remarks>available since CAEX Version 3.0.</remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.InternalElementSequence">
            <summary>
                This class defines a sequence of CAEX 'InternalElement' elements. A sequence of InternalElements can be associated
                with each class which implements the <see cref="T:Aml.Engine.CAEX.IInternalElementContainer" /> interface.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXSequenceOfCAEXObjects`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementSequence.#ctor(System.Xml.Linq.XElement,System.Func{System.Xml.Linq.XElement,Aml.Engine.CAEX.InternalElementType})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.InternalElementSequence" /> class.
            </summary>
            <param name="owner">The owner.</param>
            <param name="create">Function to create an <see cref="T:Aml.Engine.CAEX.InternalElementType" />.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementSequence.AddNewMirror(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Adds a new mirror InternalElement to this sequence.
            </summary>
            <param name="masterInternalElement">The master internal element.</param>
            <returns>
                The newly created Mirror
            </returns>
            <exception cref="T:System.ArgumentNullException">masterInternalElement</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementSequence.InternalElementDescendantsAndSelf">
            <summary>
                Gets all InternalElements and the InternalElement descendants (the InternalElement tree)
            </summary>
            <returns>
                a collection of all InternalElement objects of this instance and their nested
                InternalElement objects.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementSequence.CreateCaexWrapper(System.Xml.Linq.XElement)">
            <summary>
                Function to create an <see cref="T:Aml.Engine.CAEX.InternalElementType" />
            </summary>
            <param name="node">The 'InternalElemen' XML node.</param>
            <returns>an InternalElementType</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementSequence.CreateElement(System.Xml.Linq.XElement)">
            <summary>
                Creates a new 'InternalElement' XML node.
            </summary>
            <param name="owner">The owner.</param>
            <returns>The created XML node.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.InternalLinkComparer">
            <summary>
                Equality comparer for Xml-Elements that are InternalLink objects.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalLinkComparer.Equals(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
            <summary>
                Determines if two InternalLink objects are equal. Equal InternalLink objects have reference
                the same ExternalInterfaces. The order of the references doesn't matter.
            </summary>
            <param name="internalLinkx">The first internal link.</param>
            <param name="internalLinky">The second internal link.</param>
            <returns><c>true</c>, if both InternalLink objects are equal.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalLinkComparer.GetHashCode(System.Xml.Linq.XElement)">
            <summary>
                Returns a hash code for this instance.
            </summary>
            <param name="obj">The object.</param>
            <returns>
                A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="T:Aml.Engine.CAEX.InternalLinkType">
            <summary>
                This Class is a wrapper for the CAEXElement 'InternalLink' that defines instance to instance relations
                using ExternalInterfaces to relate InternalElement- and SystemUnitClass-Objects.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXObject" />
            <seealso cref="T:Aml.Engine.CAEX.IMultipleOccurrences`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.InternalLinkType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.InternalLinkType" /> class.
            </summary>
            <param name="nodeElement">An 'InternalLink' XML node.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalLinkType.PathFromInterface(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Constructs the path to an interface according to the used schema
            </summary>
            <param name="externalInterface">The ExternalInterface</param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.IsDefined">
            <summary>
            Determines, if this InternalLink Instance has defined Interfaces.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.InternalLinkType.LINK_SEPARATOR">
            <summary>
                definition of the separator used for qualifying an interface of an internal element via syntax GUID:Interface
            </summary>
            <remarks>
                Valid for CAEX 2.15 only. In CAEX 3.0 there exists no separator char in internal link attributes.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.AInterface">
            <summary>
                Gets and sets the AInterface of the InternalLink by reading or setting the
                <see cref="P:Aml.Engine.CAEX.InternalLinkType.RefPartnerSideA" /> Attribute. A read access to this property updates the <see cref="P:Aml.Engine.CAEX.InternalLinkType.RelatedObjects" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.RelatedObjects">
            <summary>
                Gets the related objects for the InternalLink. This property allows to access the listed related objects without
                recalculation.
                <list type="bullet">
                    <item>
                        <see cref="P:Aml.Engine.CAEX.InternalLinkType.AInterface" />
                    </item>
                    <item>
                        <see cref="P:Aml.Engine.CAEX.InternalLinkType.BInterface" />
                    </item>
                    <item>
                        <see cref="P:Aml.Engine.CAEX.InternalLinkType.ASystemUnitClass" />
                    </item>
                    <item>
                        <see cref="P:Aml.Engine.CAEX.InternalLinkType.BSystemUnitClass" />
                    </item>
                </list>
                A direct access to one of the listed properties results in a recalculation of the accessed property.
            </summary>
            <value>
                The related objects.
            </value>
        </member>
        <member name="T:Aml.Engine.CAEX.InternalLinkType.LinkedObjects">
            <summary>
                This class allows accessing the related objects of an InternalLink without recalculation which improves the
                performance for consecutive
                access of the related objects.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.LinkedObjects.AInterface">
            <summary>
                Gets the A-Interface of the InternalLink by interpretation of the <see cref="P:Aml.Engine.CAEX.InternalLinkType.RefPartnerSideA" />
                Attribute on first access.
                Consecutive reads will return the at first calculated value. A Reinterpretation is performed, when the respective
                InternalLink
                property <see cref="P:Aml.Engine.CAEX.InternalLinkType.AInterface" /> is read or set.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.LinkedObjects.BInterface">
            <summary>
                Gets the B-Interface of the InternalLink by interpretation of the <see cref="P:Aml.Engine.CAEX.InternalLinkType.RefPartnerSideB" />
                Attribute on first access.
                Consecutive reads will return the at first calculated value. A Reinterpretation is performed, when the respective
                InternalLink
                property <see cref="P:Aml.Engine.CAEX.InternalLinkType.BInterface" /> is read or set.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.LinkedObjects.ASystemUnitClass">
            <summary>
                Gets the A-SystemUnitClass using the preserved value <see cref="P:Aml.Engine.CAEX.InternalLinkType.LinkedObjects.AInterface" />. If this value has not been
                calculated, a recalculation is performed.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.LinkedObjects.BSystemUnitClass">
            <summary>
                Gets the B-SystemUnitClass using the preserved value <see cref="P:Aml.Engine.CAEX.InternalLinkType.LinkedObjects.BInterface" />. If this value has not been
                calculated, a recalculation is performed.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.ASystemUnitClass">
            <summary>
                Gets the SystemUnitClass associated to the <see cref="P:Aml.Engine.CAEX.InternalLinkType.AInterface" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.BInterface">
            <summary>
                Gets and sets the BInterface of the InternalLink by reading or setting the
                <see cref="P:Aml.Engine.CAEX.InternalLinkType.RefPartnerSideB" /> Attribute. A read access to this property updates the <see cref="P:Aml.Engine.CAEX.InternalLinkType.RelatedObjects" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.BSystemUnitClass">
            <summary>
                Gets the SystemUnitClass associated to the <see cref="P:Aml.Engine.CAEX.InternalLinkType.BInterface" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.RefPartnerSideA">
            <summary>
                Gets and sets the Path to an ExternalInterface, defining the A-Side of the relation.
            </summary>
            <remarks>
                Please notice, that the Path-Syntax has changed with CAEX 3.0
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalLinkType.RefPartnerSideB">
            <summary>
                Gets and sets the Path to an ExternalInterface, defining the B-Side of the relation.
            </summary>
            <remarks>
                Please notice, that the Path-Syntax has changed with CAEX 3.0
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalLinkType.New_InternalLink(Aml.Engine.CAEX.ExternalInterfaceType,Aml.Engine.CAEX.ExternalInterfaceType,System.String)">
            <summary>
                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 <paramref name="aInterface" />.
            </summary>
            <param name="aInterface">The ExternalInterface object, representing the A-Side of the relation.</param>
            <param name="bInterface">The ExternalInterface object, representing the B-Side of the relation.</param>
            <param name="name">The name for the InternalLink</param>
            <returns>The newly created InternalLink object.</returns>
            <exception cref="T:System.ArgumentNullException">
                If AInterface or BInterface is null
            </exception>
            <exception cref="T:Aml.Engine.CAEX.CAEXException">
                One of the provided ExternalInterface objects is not associated to a SystemUnitClass.
            </exception>
            <exception cref="T:System.InvalidOperationException">
                It is not allowed to link an ExternalInterface to itself.
            </exception>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalLinkType.InsertAfter(Aml.Engine.CAEX.InternalLinkType)">
            <summary>
                Inserts the provided CAEX object as a new sibling after this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted.</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalLinkType.InsertBefore(Aml.Engine.CAEX.InternalLinkType)">
            <summary>
                Inserts the provided CAEX object as a new sibling before this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalLinkType.InterfaceFromAttributeValue(System.String)">
            <summary>
                Gets the Interface from the provided InternalLink Attribute value, which is from <see cref="P:Aml.Engine.CAEX.InternalLinkType.RefPartnerSideA" /> or
                from the <see cref="P:Aml.Engine.CAEX.InternalLinkType.RefPartnerSideB" /> attribute.
            </summary>
            <param name="internalLinkAttributeValue">The value of the InternalLink attribute, defining the Interface reference.</param>
            <returns>the external interface</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.IClassWithExternalInterface">
            <summary>
                Interface that defines methods and properties that apply to all classes that are able to contain ExternalInterface
                objects.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="T:Aml.Engine.CAEX.IObjectWithRoleReference">
            <summary>
                This Interface is implemented by <see cref="T:Aml.Engine.CAEX.RoleRequirementsType" /> and <see cref="T:Aml.Engine.CAEX.SupportedRoleClassType" />.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="P:Aml.Engine.CAEX.IObjectWithRoleReference.RoleClass">
            <summary>
                Gets and sets the referenced role class
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IObjectWithRoleReference.RoleReference">
            <summary>
                Gets and sets the role reference attribute
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.Linq.CAEXSequenceExtension">
            <summary>
            Extensions defined for ExternalInterface Sequence and RoleRequirements sequence
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.Linq.CAEXSequenceExtension.OfInterfaceClass(Aml.Engine.CAEX.ExternalInterfaceSequence,Aml.Engine.CAEX.InterfaceFamilyType)">
            <summary>
            Gets all ExternalInterfaces from the specified sequence, which are instances of a specific InterfaceClass
            </summary>
            <param name="sequence">The Sequence of External Interfaces</param>
            <param name="interfaceClass">The required Interface Class</param>
            <returns>External Interfaces which are instances of the defined class.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Linq.CAEXSequenceExtension.OfRoleClass(Aml.Engine.CAEX.CAEXSequence{Aml.Engine.CAEX.RoleRequirementsType},Aml.Engine.CAEX.RoleFamilyType)">
            <summary>
            Gets all RoleRequirements from the specified sequence, which are instances of a specific RoleClass
            </summary>
            <param name="sequence">The Sequence of Role Requirements</param>
            <param name="roleClass">The required Role Class</param>
            <returns>RoleRequirements which are instances of the defined class.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.Linq.CAEXSequenceExtension.OfRoleClass(Aml.Engine.CAEX.CAEXSequence{Aml.Engine.CAEX.SupportedRoleClassType},Aml.Engine.CAEX.RoleFamilyType)">
            <summary>
            Gets all SupportedRoleClasses from the specified sequence, which are instances of a specific RoleClass
            </summary>
            <param name="sequence">The Sequence of SupportedRoleClasses</param>
            <param name="roleClass">The required Role Class</param>
            <returns>SupportedRoleClasses which are instances of the defined class.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.IMappingElementType">
            <summary>
            Interface implemented by Mapping elements <see cref="T:Aml.Engine.CAEX.InterfaceNameMappingType"/>,
            <see cref="T:Aml.Engine.CAEX.InterfaceIDMappingType"/>, and <see cref="T:Aml.Engine.CAEX.AttributeNameMappingType"/>.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.IMapping" />
        </member>
        <member name="P:Aml.Engine.CAEX.IMappingElementType.RoleClassElementIdentifier">
            <summary>
            Gets and sets the identifier for the mapped RoleClass element.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IMappingElementType.SystemUnitClassElementIdentifier">
            <summary>
            Gets or sets the identifier for the mapped SystemUnitClass element.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IMappingElementType.MappingSystemUnitClass">
            <summary>
            Gets the SystemUnitClass, which is either an <see cref="T:Aml.Engine.CAEX.InternalElementType"/>  or a <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType"/>, which provides the mapping elements.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IMappingElementType.MappingRoleClass">
            <summary>
            Gets the RoleClass, which provides the mapping elements.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.MappingElementType`1">
            <summary>
            This class is the base class for Mapping element types which are <see cref="T:Aml.Engine.CAEX.InterfaceNameMappingType"/>,
            <see cref="T:Aml.Engine.CAEX.InterfaceIDMappingType"/>, and <see cref="T:Aml.Engine.CAEX.AttributeNameMappingType"/>.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
            <seealso cref="T:Aml.Engine.CAEX.IMapping" />
        </member>
        <member name="M:Aml.Engine.CAEX.MappingElementType`1.#ctor(System.Xml.Linq.XElement)">
            <summary>
            Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.MappingElementType`1"/> class.
            </summary>
            <param name="nodeElement">An 'MappingElementType' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.RoleClassElementIdentifier">
            <summary>
            Gets and sets the identifier for the mapped RoleClass element.
            </summary>
            <value>
            The role class element identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.SystemUnitClassElementIdentifier">
            <summary>
            Gets or sets the identifier for the mapped SystemUnitClass element.
            </summary>
            <value>
            The system unit class element identifier.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.MappingObject">
            <summary>
            Gets the mapping object which contains this Mapping Element.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.MappingElementType`1.AddRoleClassElement(`0)">
            <summary>
            This method is an extension to the <see cref="P:Aml.Engine.CAEX.MappingElementType`1.RoleClassElement"/> 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 <see cref="P:Aml.Engine.CAEX.MappingElementType`1.RoleClassElement"/> setter.
            </summary>
            <param name="element">The element.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.RoleClassElement">
            <summary>
            Gets the RoleClass element which can be identified with the <see cref="P:Aml.Engine.CAEX.MappingElementType`1.RoleClassElementIdentifier"/> or sets
            the <see cref="P:Aml.Engine.CAEX.MappingElementType`1.RoleClassElementIdentifier"/> 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 <see cref="P:Aml.Engine.CAEX.MappingElementType`1.RoleClassElementIdentifier"/> is not changed.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.SystemUnitClassElement">
            <summary>
            Gets the SystemUnitClass element which can be identified with the <see cref="P:Aml.Engine.CAEX.MappingElementType`1.SystemUnitClassElementIdentifier"/> or sets
            the <see cref="P:Aml.Engine.CAEX.MappingElementType`1.SystemUnitClassElementIdentifier"/> defined by the provided value.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.SystemUnitClassMappingElements">
            <summary>
            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.
            </summary>
            <value>
            The possible mapping elements and their identifiers of the mapped SystemUnitClass.
            </value>
        </member>
        <member name="M:Aml.Engine.CAEX.MappingElementType`1.RoleClassMappingElements(System.Boolean)">
            <summary>
            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.
            </summary>
            <value>
            The possible mapping elements and their identifiers of the mapped RoleClass.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.MappingSystemUnitClass">
            <summary>
            Gets the SystemUnitClass, which provides the <see cref="P:Aml.Engine.CAEX.MappingElementType`1.SystemUnitClassMappingElements"/>.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.MappingRoleClass">
            <summary>
            Gets the RoleClass, which provides the <see cref="M:Aml.Engine.CAEX.MappingElementType`1.RoleClassMappingElements(System.Boolean)"/>.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingElementType`1.MappingRoleReference">
            <summary>
            Gets the Role reference, which can provide additional <see cref="M:Aml.Engine.CAEX.MappingElementType`1.RoleClassMappingElements(System.Boolean)"/>.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.VersionType">
            <summary>
                This class is a wrapper for the CAEX element 'Version'.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.VersionType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.VersionType" /> class.
            </summary>
            <param name="xmlNode">The XML node.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.NamespaceDoc">
            <summary>
                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 <see cref="T:Aml.Engine.CAEX.CAEXDocument" />. 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.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.NominalScaledTypeType">
            <summary>
                This class is a wrapper for the CAEXElement 'NominalScaledType" which defined a list of
                required values for an attribute constraint.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXWrapper" />
        </member>
        <member name="M:Aml.Engine.CAEX.NominalScaledTypeType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.NominalScaledTypeType" /> class.
            </summary>
            <param name="nodeElement">A 'NominalScaledType' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.NominalScaledTypeType.Item(System.String)">
            <summary>
                Gets the type-decoded value and sets the type-encoded value for the nominal value attribute with the defined value.
            </summary>
            <remarks>
                This indexer should only be used, if the list of nominal values contains distinct values only.
            </remarks>
            <param name="nominalValue"></param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.NominalScaledTypeType.GetCaexValue(System.String)">
            <summary>
                Gets the <see cref="T:Aml.Engine.CAEX.Extensions.CaexValue" /> for the for the nominal value attribute with the defined value.
            </summary>
            <param name="nominalValue"></param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.CAEX.NominalScaledTypeType.AttributeDataType">
            <summary>
                Gets the AttributeDataType of the defining attribute. The AttributeDataType can be used
                to interpret the defined nominal values of this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NominalScaledTypeType.AttributeTypeDefiningAttribute">
            <summary>
                Gets the AttributeType object, defining this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NominalScaledTypeType.RequiredValue">
            <summary>
                Gets the collection of the 'RequiredValue' elements for this nominal scaled attribute constraint.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NominalScaledTypeType.ValueAttributes">
            <summary>
                Gets a list of <see cref="T:Aml.Engine.CAEX.Extensions.CaexValue" /> corresponding to the associated  nominal values of this instance.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.OrdinalScaledTypeType">
            <summary>
                This class is a wrapper for the CAEXElement 'OrdinalScaledType" which defined a value range
                for an attribute constraint.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXWrapper" />
            <seealso cref="T:Aml.Engine.CAEX.IAttributeValueType" />
        </member>
        <member name="M:Aml.Engine.CAEX.OrdinalScaledTypeType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" /> class.
            </summary>
            <param name="ordinalScaledTypeNode">An 'OrdinalScaledType' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.OrdinalScaledTypeType.Item(System.String)">
            <summary>
                Gets the type-decoded value and sets the type-encoded value for the value attribute with the defined name. The
                allowed Names are <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_VALUE_STRING" /> and
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_MIN_STRING" /> and <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_MAX_STRING" />.
            </summary>
            <param name="attributeName"></param>
            <returns>A type based object</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.OrdinalScaledTypeType.GetCaexValue(System.String)">
            <summary>
                Gets the <see cref="T:Aml.Engine.CAEX.Extensions.CaexValue" /> for the value attribute with the defined attribute name. are
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_VALUE_STRING" /> and
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_MIN_STRING" /> and <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_MAX_STRING" />.
            </summary>
            <param name="attributeName"></param>
            <returns>The CAEXValue for the named attribute.</returns>
        </member>
        <member name="P:Aml.Engine.CAEX.OrdinalScaledTypeType.AttributeDataType">
            <summary>
                Gets the Attribute datatype which is valid for values of all <see cref="P:Aml.Engine.CAEX.OrdinalScaledTypeType.ValueAttributes" /> of this element.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.OrdinalScaledTypeType.AttributeTypeDefiningAttribute">
            <summary>
                Gets the attribute, which specifies the attribute data type for the value elements of this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.OrdinalScaledTypeType.RequiredMaxValue">
            <summary>
                Gets and sets the required maximal value for this ordinal scaled attribute constraint.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.OrdinalScaledTypeType.RequiredMinValue">
            <summary>
                Gets and sets the required minimal value for this ordinal scaled attribute constraint.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.OrdinalScaledTypeType.RequiredValue">
            <summary>
                Gets and sets the required value for this ordinal scaled attribute constraint.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.OrdinalScaledTypeType.ValueAttributes">
            <summary>
                Gets all the CAEXValue objects for the defined value attributes of this instance. Recognized value attributes are
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_MAX_STRING" /> and <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_MIN_STRING" />
                and
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_VALUE_STRING" />.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.RoleRequirementsType">
            <summary>
                This class is a CAEXWrapper for the CAEX-Element 'RoleRequirements'.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithAttributes" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithExternalInterface" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithRoleReference" />
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.RoleRequirementsType" /> class.
            </summary>
            <param name="roleRequirementsNode">A 'RoleRequirements' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.Attribute">
            <summary>
                Gets a collection of Attribute objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.AttributeAndDescendants">
            <summary>
                Gets the attributes and all nested attributes.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.ExternalInterfaceAndDescendants">
            <summary>
                Gets the collection of ExternalInterface objects including all nested descendant interfaces
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.ExternalInterface">
            <summary>
                Gets a collection of ExternalInterface objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.MappingObject">
            <summary>
                Gets the MappingObject of this RoleRequirements object. Please note, if no MappingObject exists, an empty Wrapper
                is returned.
                Use the <see cref="M:Aml.Engine.CAEX.CAEXWrapper.InsertNew" /> method to create one.
            </summary>
            <remarks>
                This Property is only defined since CAEX 3.0.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.RefBaseRoleClassPath">
            <summary>
                Gets and sets the RefBaseRoleClassPath attribute of this RoleRequirements object.
                The property <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.RoleReference" /> is equivalent to this. For direct RoleClass assignments
                use <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.RoleClass" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.RoleClass">
            <summary>
                Gets and sets the referenced RoleClass using the <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.RefBaseRoleClassPath" />
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.RoleReference">
            <summary>
                Gets or sets the role reference. The property <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.RefBaseRoleClassPath" /> is equivalent to this.
            </summary>
            <value>The role reference.</value>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.QualifiedAttributes">
            <summary>
                Gets the collection of CAEX attributes from the <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.Attribute" /> 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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.UnAssignedQualifiedRoleClassInterfacesOfMultipleRoles">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.UnAssignedQualifiedRoleClassAttributesOfMultipleRoles">
            <summary>
                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.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.IsAssignableRoleClassAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                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
            </summary>
            <param name="attribute">The tested attribute.</param>
            <returns>
                <c>true</c> if the attribute is an assignable role class attribute; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.AssignQualifiedRoleClassAttribute(Aml.Engine.CAEX.AttributeType)">
            <summary>
                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.
            </summary>
            <param name="attribute">The tested attribute.</param>
            <returns>
                the newly created and assigned Attribute, if the Attribute object is assigned to the role class interface;
                otherwise, <c>null</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.IsAssignableRoleClassInterface(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                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
            </summary>
            <param name="externalInterface">The tested external interface.</param>
            <returns>
                <c>true</c> if the ExternalInterface object is an assignable role class interface; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.AssignQualifiedRoleClassInterface(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                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.
            </summary>
            <param name="externalInterface">The tested external interface.</param>
            <returns>
                the newly created and assigned ExternalInterface, if the ExternalInterface object is assigned to the role class
                interface; otherwise, <c>null</c>.
            </returns>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.QualifiedExternalInterfaces">
            <summary>
                Gets the collection of CAEX External Interfaces from the <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.ExternalInterface" /> 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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.QualifiedRoleClassAttributes">
            <summary>
                Retrieves the <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.QualifiedAttributes" /> 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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleRequirementsType.QualifiedRoleClassInterfaces">
            <summary>
                Retrieves the <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.QualifiedExternalInterfaces" /> 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.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.op_Implicit(Aml.Engine.CAEX.RoleRequirementsType)~Aml.Engine.AmlObjects.ObjectWithAMLAttributes">
            <summary>
                Conversion to get access to specific AutomationML defined Attributes from the RoleRequirements object.
            </summary>
            <param name="roleRequirement">The RoleRequirements object</param>
            <returns>
                The result of the conversion.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The RoleRequirementsType
                defines the <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.Attribute" /> and <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.ExternalInterface" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The RoleRequirementsType
                defines the <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.Attribute" /> and <see cref="P:Aml.Engine.CAEX.RoleRequirementsType.ExternalInterface" /> sequence.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.New_MappingObject">
            <summary>
                Adding a new MappingObject element to this RoleRequirements object.
            </summary>
            <returns>
                The new MappingObject element if not existing, otherwise the existing.
            </returns>
            <exception cref="T:System.NullReferenceException">A RoleRequirements object doesn't exist!</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">If the Document Schema Version is prior to Version 3.0.</exception>
            <remarks>
                Applicable since CAEX Version 3.0
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleRequirementsType.HasRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="roleClass">The RoleClass object.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                <c>true</c> if this RoleRequirement object has an associated reference to
                the specified RoleClass; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
        </member>
        <member name="T:Aml.Engine.CAEX.SchemaConformanceException">
            <summary>
                Exception for violations of the CAEX Schema. An example for a violation is the insertion of more than one
                RoleRequirement object into an InternalElement.
            </summary>
            <seealso cref="T:System.ApplicationException" />
        </member>
        <member name="M:Aml.Engine.CAEX.SchemaConformanceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SchemaConformanceException" /> class with serialized data.
            </summary>
            <param name="info">serialize object information.</param>
            <param name="context">context information.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.SchemaConformanceException.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SchemaConformanceException" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.SchemaConformanceException.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SchemaConformanceException" />-class with the defined error message.
            </summary>
            <param name="message">message containing error information.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.SchemaConformanceException.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SchemaConformanceException" /> class.
            </summary>
            <param name="message">The message.</param>
            <param name="inner">The inner.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.SupportedRoleClassType">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithRoleReference" />
        </member>
        <member name="M:Aml.Engine.CAEX.SupportedRoleClassType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SupportedRoleClassType" /> class.
            </summary>
            <param name="supportedRoleClassNode">A 'SupportedRoleClass' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.SupportedRoleClassType.MappingObject">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SupportedRoleClassType.RefRoleClassPath">
            <summary>
                Gets and sets the Attribute <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFROLECLASSPATH" /> of this SupportedRoleClass object.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SupportedRoleClassType.RoleClass">
            <summary>
                Gets and sets the RoleClass, referenced from this SupportedRoleClass object using the
                <see cref="P:Aml.Engine.CAEX.SupportedRoleClassType.RefRoleClassPath" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SupportedRoleClassType.RoleReference">
            <summary>
                Gets or sets the role reference. This property is equivalent to <see cref="P:Aml.Engine.CAEX.SupportedRoleClassType.RefRoleClassPath" />.
            </summary>
            <value>The role reference.</value>
        </member>
        <member name="P:Aml.Engine.CAEX.SupportedRoleClassType.SystemUnitClass">
            <summary>
                Gets the associated SystemUnitClass for this SupportedRoleClass object.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.SupportedRoleClassType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The SupportedRoleClassType
                defines the <see cref="T:Aml.Engine.CAEX.MappingType" />
            </summary>
            <param name="caexObject">The CAEX object</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.SupportedRoleClassType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The SupportedRoleClassType
                defines the <see cref="T:Aml.Engine.CAEX.MappingType" />
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.SupportedRoleClassType.New_MappingObject">
            <summary>
                Adding a new MappingObject element to this SupportedRoleClass.
            </summary>
            <returns>
                The new MappingObject element if not existing, otherwise the existing.
            </returns>
            <exception cref="T:System.NullReferenceException">A SupportedRoleClass object doesn't exist!</exception>
        </member>
        <member name="T:Aml.Engine.CAEX.UnknownTypeType">
            <summary>
                This class is a CAEXWrapper for the 'UnknownType' Element which is a choice for an
                <see cref="T:Aml.Engine.CAEX.AttributeValueRequirementType" />
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXWrapper" />
        </member>
        <member name="P:Aml.Engine.CAEX.UnknownTypeType.Requirements">
            <summary>
                Gets and sets the value of the Requirements element
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.UnknownTypeType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.UnknownTypeType" /> class.
            </summary>
            <param name="unknownTypeNode">An 'UnknownType' XML node.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.NamedElementSequence`1">
            <summary>
                A Sequence of XML elements related to a specific element name.
                An XML element may contain different NamedElementSequences with different names.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.NamedElementSequence`1.ElementSelectionCondition">
            <summary>
                The element selection condition used to select elements to create the sequence.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.Item(System.Int32)">
            <summary>
                Gets or sets the value at the specified index.
            </summary>
            <param name="index">The index of the element in the collection.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.NamedElementSequence`1.#ctor(System.Xml.Linq.XElement,System.String)">
            <summary>
                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.
            </summary>
            <param name="owner">The owner.</param>
            <param name="elementName">The name.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.NamedElementSequence`1.#ctor(System.Xml.Linq.XElement,System.String,System.Predicate{System.Xml.Linq.XElement})">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.NamedElementSequence`1" /> class.
            </summary>
            <param name="owner">The owner.</param>
            <param name="elementName">Name of the element.</param>
            <param name="condition">The condition.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.CAEXOwner">
            <summary>
                Gets the CAEX owner of this sequence
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.Count">
            <summary>
                Gets the number of elements in this sequence
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.ElementName">
            <summary>
                Gets the name of the elements in this sequence
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.Elements">
            <summary>
                Gets a list of unwrapped CAEX elements (XElements) of this sequence
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.Exists">
            <summary>
                Determines, if the sequence contains any element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.Owner">
            <summary>
                Gets the owner of this sequence
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.FirstElement">
            <summary>
                Gets the first element in this sequence.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.LastElement">
            <summary>
                Gets the last element in this sequence
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.LocalNamesAreEqual">
            <summary>
                Determines, if the local names are equal.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.NamedElementSequence`1.LocalNamesAreEqualWithCondition">
            <summary>
                Determines, if the local names are equal.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.NamedElementSequence`1.GetEnumerator">
            <summary>
                Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
                An enumerator that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.NamedElementSequence`1.Remove">
            <summary>
                Removes all CAEX objects from this sequence.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.NamedElementSequence`1.RemoveAt(System.Int32)">
            <summary>
                Removes the element at the given index.
            </summary>
            <param name="index">The index.</param>
            <returns>
                <c>true</c>, if element at index exists and is removed.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.NamedElementSequence`1.IndexOf(System.Xml.Linq.XElement)">
            <summary>
                Gets the Index of the specified element in the sequence of elements with the same name
            </summary>
            <param name="element">The element.</param>
            <returns>The index of the element.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.NamedElementSequence`1.Remove(System.Xml.Linq.XElement)">
            <summary>
                Removes the XML node.
            </summary>
            <param name="xmlNode">The XML node.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.ValueSequence`1">
            <summary>
                This class implements methods to work with a sequence of CAEX elements and indexed access to their values.
            </summary>
            <typeparam name="TDataType">The Value type</typeparam>
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
        </member>
        <member name="P:Aml.Engine.CAEX.ValueSequence`1.Item(System.Int32)">
            <summary>
                Gets the value of the CAEX object in this sequence at the given position
            </summary>
            <param name="i">index position of the element</param>
            <returns>The value.</returns>
        </member>
        <member name="P:Aml.Engine.CAEX.ValueSequence`1.ValueConverter">
            <summary>
                The value converter
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.IndexOf(System.Xml.Linq.XElement)">
            <summary>
                Gets the Index of the specified element in the sequence of elements with the same name
            </summary>
            <param name="element">The element.</param>
            <returns>
                The index of the element.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.#ctor(System.Xml.Linq.XElement,System.String)">
            <summary>
                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.
            </summary>
            <param name="owner">The owner.</param>
            <param name="elementName">The element name.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.#ctor(System.Xml.Linq.XElement,System.String,System.Predicate{System.Xml.Linq.XElement})">
            <summary>
                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.
            </summary>
            <param name="owner">The owner.</param>
            <param name="elementName">The element name.</param>
            <param name="condition">Filter criteria.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.ValueSequence`1.ElementAndValues">
            <summary>
                Gets the collection of Xml-Elements and their associated Values in this ValueSequence.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ValueSequence`1.Values">
            <summary>
                Gets a collection of values of the CAEX elements of this sequence
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.Append(`0)">
            <summary>
                Creates a new CAEX object and appends it to the value sequence. The value of the appended
                object is set to the provided value.
            </summary>
            <param name="value">The value.</param>
            <returns>The created XML node.</returns>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The element could not be appended.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.At(System.Int32)">
            <summary>
                Gets the value from the element at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>The value.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.GetEnumerator">
            <summary>
                Gets the enumerator for this sequence which enumerates the <see cref="P:Aml.Engine.CAEX.ValueSequence`1.Values" />.
            </summary>
            <returns>An enumerator that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.Prepend(`0)">
            <summary>
                Creates a new CAEX object with the provided value and prepends it to already existing elements.
            </summary>
            <param name="value">The value.</param>
            <returns>The XML node of the created CAEX object.</returns>
            <exception cref="T:System.Exception">Could not add </exception>
        </member>
        <member name="T:Aml.Engine.CAEX.ValueSequence`1.ElementValue">
            <summary>
                class defining an Xml-Element and its associated Value
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.ElementValue.#ctor(System.Xml.Linq.XElement,`0)">
            <summary>
                Creates the ElementValue structure for the defined Element and Value
            </summary>
            <param name="el">The element</param>
            <param name="val">The value</param>
        </member>
        <member name="F:Aml.Engine.CAEX.ValueSequence`1.ElementValue.Node">
            <summary>
                The Xml-Element
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.ValueSequence`1.ElementValue.Value">
            <summary>
                The Value of the Xml-Element transformed to the DataType
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.ValueSequence`1.ElementValueConverter`1">
            <summary>
            </summary>
            <typeparam name="T">The type of the data type.</typeparam>
        </member>
        <member name="F:Aml.Engine.CAEX.ValueSequence`1.ElementValueConverter`1.ConvertFrom">
            <summary>
                Function to convert data from the XML-representation to the defined DataType
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.ValueSequence`1.ElementValueConverter`1.ConvertTo">
            <summary>
                Function to convert data to an XML-representation
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.ElementValueConverter`1.#ctor">
            <summary>
                Initializes a new instance of the ElementValueConverter class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.ElementValueConverter`1.SetConverters(System.Func{System.Xml.Linq.XElement,`1},System.Func{`1,System.Object})">
            <summary>
                Sets custom value converters to support conversion from objects to user defined types.
            </summary>
            <param name="convertFrom">The convert from.</param>
            <param name="convertTo">The convert to.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.ElementValueConverter`1.SetElementValue(System.Xml.Linq.XElement,`1)">
            <summary>
                Sets the element value.
            </summary>
            <param name="element">The element.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.ValueSequence`1.ElementValueConverter`1.GetElementValue(System.Xml.Linq.XElement)">
            <summary>
                Gets the element value.
            </summary>
            <param name="element">The element.</param>
            <returns></returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXSequence`1">
            <summary>
                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.
            </summary>
            <typeparam name="T">this is any CAEXWrapper type</typeparam>
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.#ctor(System.Xml.Linq.XElement,System.String,System.Func{System.Xml.Linq.XElement,`0})">
            <summary>
                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.
            </summary>
            <param name="owner">The owner</param>
            <param name="caexName">CAEX-Name of the items in this sequence</param>
            <param name="create">The constructor function</param>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequence`1.First">
            <summary>
                Gets a wrapper for the first CAEX element in this sequence, if the sequence contains no elements <c>null</c> is
                returned.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequence`1.Last">
            <summary>
                Gets a wrapper for the last CAEX element in this sequence, if the sequence contains no elements <c>null</c> is
                returned.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequence`1.CAEXElements">
            <summary>
                Gets a collection of all CAEX descendants of this sequence in document order
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequence`1.Item(System.Int32)">
            <summary>
                Gets a wrapper for the CAEX element in this sequence at the given position
            </summary>
            <param name="i">index position of the element</param>
            <returns>The created CAEX wrapper.</returns>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXSequence`1.Item(System.ValueTuple{System.String,System.String})">
            <summary>
                Gets the first CAEX object with a specific attribute value from the sequence of elements
            </summary>
            <param name="attributeValuePair">Pair of attribute name and attribute value</param>
            <returns>the first CAEX object, which matches this condition.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.Move(System.Int32,System.Int32)">
            <summary>
                Moves the CAEX object at the specified index to a new location in the collection.
            </summary>
            <param name="oldIndex">The zero-based index specifying the location of the CAEX object to be moved.</param>
            <param name="newIndex">The zero-based index specifying the new location of the CAEX object.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.Append">
            <summary>
                Creates a new CAEX object and appends it to already existing elements in this sequence.
            </summary>
            <returns>the created CAEX object</returns>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">raised, when this parent child relation violates the CAEX schema. </exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.Append(System.ValueTuple{System.String,System.Object}[])">
            <summary>
                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.
            </summary>
            <param name="attributeValueTuples">The attribute value tuples.</param>
            <returns>
                the created CAEX object.
            </returns>
            <example>
                This sample shows how to apply this method:
                <code>
            var doc = CAEXDocument.New();
            var at =  doc.CAEXFile.AttributeTypeLib.Append (new Tuple &lt;string,object&gt;[] { Tuple.Create&lt;string,object&gt;("Name", "ALIB") });
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.At(System.Int32)">
            <summary>
                Gets the CAEX object at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>the CAEX object from the given index, or <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.GetEnumerator">
            <summary>
                Gets the enumerator for this sequence.
            </summary>
            <returns>The enumerator</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.IndexOf(`0)">
            <summary>
                Gets the Index of the specified CAEX object in this sequence of elements.
            </summary>
            <param name="caexObject">the CAEX object</param>
            <returns>the Index of the specified CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.Insert(`0,System.Boolean)">
            <summary>
                Inserts the specified CAEX object into this sequence. If no position is specified the element is appended.
                If 'asFirst' is set to <c>true</c>, the element is prepended to already existing ones.
            </summary>
            <param name="caexObject">the CAEX object</param>
            <param name="asFirst">
                optional parameter, if set to <c>true (default)</c> the object is prepended to already existing ones,
                otherwise it is appended.
            </param>
            <returns>
                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.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.InsertAt(System.Int32,`0)">
            <summary>
                Inserts the specified CAEX object into this sequence at the defined index.
            </summary>
            <param name="index">The Position of the element</param>
            <param name="caexObject">The CAEX object</param>
            <returns>
                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.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.Prepend">
            <summary>
                Creates a new CAEX object and prepends it to already existing elements.
            </summary>
            <returns>The created CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.Prepend(System.ValueTuple{System.String,System.Object}[])">
            <summary>
                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.
            </summary>
            <param name="attributeValueTuples">The attribute value tuples.</param>
            <returns>The created CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.RemoveElement(`0)">
            <summary>
                Removes the provided CAEX object from this sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.CreateCaexWrapper(System.Xml.Linq.XElement)">
            <summary>
                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.
            </summary>
            <param name="node">the wrapped XML node</param>
            <returns>The CAEXWrapper for the provided node.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXSequence`1.CreateElement(System.Xml.Linq.XElement)">
            <summary>
                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).
            </summary>
            <param name="owner">The sequence owner.</param>
            <returns>The new XML element which can be added to this sequence.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXLibrary`1">
            <summary>
                Generic base class for all library objects of CAEX, which are:
                <list type="number">
                    <item>
                        <description><see cref="T:Aml.Engine.CAEX.InstanceHierarchyType" />,</description>
                    </item>
                    <item>
                        <description><see cref="T:Aml.Engine.CAEX.RoleClassLibType" />,</description>
                    </item>
                    <item>
                        <description><see cref="T:Aml.Engine.CAEX.SystemUnitClassLibType" />,</description>
                    </item>
                    <item>
                        <description><see cref="T:Aml.Engine.CAEX.InterfaceClassLibType" />,</description>
                    </item>
                    <item>
                        <description><see cref="T:Aml.Engine.CAEX.AttributeTypeLibType" />.</description>
                    </item>
                </list>
            </summary>
            <typeparam name="TLibItem"></typeparam>
            <seealso cref="T:Aml.Engine.CAEX.CAEXObject" />
            <seealso cref="T:Aml.Engine.Services.Interfaces.ISplitPoint" />
            <seealso cref="T:Aml.Engine.CAEX.IMultipleOccurrences`1" />
            <seealso cref="T:Aml.Engine.CAEX.CAEXObject" />
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
        </member>
        <member name="F:Aml.Engine.CAEX.CAEXLibrary`1._libraryElements">
            <summary>
                <see cref="P:Aml.Engine.CAEX.CAEXLibrary`1.LibraryElements" />
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXLibrary`1.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXLibrary`1" /> class.
            </summary>
            <param name="libraryNode">Any  CAEX library XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXLibrary`1.CreateElementSequence">
            <summary>
                Gets or sets the constructor function to create the element sequence.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXLibrary`1.LibraryElements">
            <summary>
                Gets the collection of LibraryElements contained in this instance.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXLibrary`1.GetEnumerator">
            <summary>
                Gets the enumerator to iterate through the collection of library objects.
            </summary>
            <returns>
                An enumerator that can be used to iterate through the collection of library objects.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXLibrary`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
                Gets the enumerator to iterate through the collection of library objects.
            </summary>
            <returns>An enumerator that can be used to iterate through the collection of library objects.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXLibrary`1.InsertAfter(Aml.Engine.CAEX.CAEXLibrary{`0})">
            <summary>
                Inserts the provided CAEX object as a new sibling after this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted.</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXLibrary`1.InsertBefore(Aml.Engine.CAEX.CAEXLibrary{`0})">
            <summary>
                Inserts the provided CAEX object as a new sibling before this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="T:Aml.Engine.CAEX.ExternalInterfaceType">
            <summary>
                This Class is a wrapper for the CAEXElement 'ExternalInterface'
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.InterfaceClassType" />
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalInterfaceType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.ExternalInterfaceType" /> class.
            </summary>
            <param name="externalInterfaceNode">An 'ExternalInterface' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalInterfaceType.Constructor">
            <summary>
                The constructor function for the <see cref="T:Aml.Engine.CAEX.ExternalInterfaceType" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalInterfaceType.AssociatedObject">
            <summary>
                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.
            </summary>
            <value>
                The associated object.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalInterfaceType.Aml#Engine#CAEX#IMirror#IsMaster">
            <summary>
                Gets a value indicating whether this instance is a master.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalInterfaceType.IsMirror">
            <summary>
                Determines, if this instance is a Mirror
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalInterfaceType.Master">
            <summary>
                Gets and sets the Master. A Master is only defined, if this instance is a <see cref="P:Aml.Engine.CAEX.ExternalInterfaceType.IsMirror" />. Setting a master
                will transform this
                instance into a mirror.
            </summary>
            <value>
                The master.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalInterfaceType.Aml#Engine#CAEX#IMirror#Master">
            <summary>
                Gets the master, if this is a mirror object.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalInterfaceType.MasterID">
            <summary>
                Gets the master identifier, if this ExternalInterface is a mirror .
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalInterfaceType.op_Implicit(Aml.Engine.CAEX.ExternalInterfaceType)~Aml.Engine.AmlObjects.ObjectWithAMLAttributes">
            <summary>
                Conversion to get access to specific AutomationML defined Attributes, assigned to the specified External Interface
                object.
            </summary>
            <param name="interfaceClass">The CAEX External Interface object.</param>
            <returns>
                The InterfaceClass object, converted to an <see cref="T:Aml.Engine.AmlObjects.ObjectWithAMLAttributes" /> type, which provides access to
                specific AML defined attributes.
            </returns>
            <exception cref="T:System.ArgumentNullException">interfaceClass</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalInterfaceType.CreateMirror">
            <summary>
                Creates a new Mirror of this ExternalInterface, using this instance as the new master of the created mirror.
            </summary>
            <returns>The created mirror ExternalInterface.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalInterfaceType.Remove(System.Boolean)">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalInterfaceType.InterfaceClass">
            <summary>
                Gets or sets the references interface class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalInterfaceType.HasInterfaceClassReference(Aml.Engine.CAEX.InterfaceFamilyType,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="interfaceClass">The InterfaceClass object.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                <c>true</c> if this ExternalInterface object has an associated reference to
                the specified InterfaceClass; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">interfaceClass</exception>
        </member>
        <member name="T:Aml.Engine.CAEX.ExternalReferenceType">
            <summary>
                This Class is a wrapper for the CAEXElement 'ExternalReference' which is a container element
                for the alias definition of external CAEX files.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
            <seealso cref="T:Aml.Engine.CAEX.IMultipleOccurrences`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalReferenceType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.ExternalReferenceType" /> class.
            </summary>
            <param name="externalReferenceNode">The 'ExternalReference' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalReferenceType.Alias">
            <summary>
                Gets and sets the alias name of an external CAEX file to enable referencing elements of the external CAEX file from
                other
                elements
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.ExternalReferenceType.Path">
            <summary>
                Gets and sets the path of the external CAEX file. According to CAEX absolute and relative paths are allowed.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalReferenceType.InsertAfter(Aml.Engine.CAEX.ExternalReferenceType)">
            <summary>
                Inserts the provided CAEX object as a new sibling after this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted.</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.ExternalReferenceType.InsertBefore(Aml.Engine.CAEX.ExternalReferenceType)">
            <summary>
                Inserts the provided CAEX object as a new sibling before this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted.</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="T:Aml.Engine.CAEX.IInternalElementContainer">
            <summary>
                Interface to define elements which contain a collection of internal elements
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXObject" />
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
        </member>
        <member name="P:Aml.Engine.CAEX.IInternalElementContainer.InternalElement">
            <summary>
                Gets the collection of InternalElement objects contained in this instance.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.InterfaceClassLibType">
            <summary>
                This Class is a wrapper for the CAEXElement 'InterfaceClassLib'
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXLibrary`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassLibType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.InterfaceClassLibType" /> class.
            </summary>
            <param name="interfaceClassLibNode">An 'InterfaceClassLib' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceClassLibType.InterfaceClass">
            <summary>
                Gets a collection of the InterfaceClass objects contained in this InterfaceClass Library.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassLibType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassLibType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The InterfaceClassLib
                defines the <see cref="P:Aml.Engine.CAEX.InterfaceClassLibType.InterfaceClass" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassLibType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given position. The InterfaceClassLib
                defines the <see cref="P:Aml.Engine.CAEX.InterfaceClassLibType.InterfaceClass" /> sequence.
            </summary>
            <param name="pos">The position</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.IObjectWithAttributes">
            <summary>
                Interface that defines methods and properties that apply to all classes that are able to contain attributes.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="P:Aml.Engine.CAEX.IObjectWithAttributes.Attribute">
            <summary>
                Get the collection of all attributes of this object. Inherited Attributes are not included.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IObjectWithAttributes.AttributeAndDescendants">
            <summary>
                Gets the attributes and all nested attributes.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.IObjectWithExternalInterface">
            <summary>
                Interface that defines methods and properties that apply to all classes that are able to contain ExternalInterface
                objects.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="P:Aml.Engine.CAEX.IObjectWithExternalInterface.ExternalInterface">
            <summary>
                Gets the collection of ExternalInterface objects
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.IObjectWithExternalInterface.ExternalInterfaceAndDescendants">
            <summary>
                Gets the collection of ExternalInterface objects including all nested descendant interfaces
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.RefSemanticType">
            <summary>
                This class is a CAEXWrapper for the CAEX element 'RefSemantic' used in an <see cref="T:Aml.Engine.CAEX.AttributeType" />.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
        </member>
        <member name="M:Aml.Engine.CAEX.RefSemanticType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.RefSemanticType" /> class.
            </summary>
            <param name="refSemanticNode">A 'RefSemantic' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.RefSemanticType.CorrespondingAttributePath">
            <summary>
                Gets and sets the Attribute 'CorrespondingAttributePath' of the RefSemantic object.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.RoleClassLibType">
            <summary>
                This Class is a wrapper for the CAEXElement 'RoleClassLib' which is a Container element
                for a hierarchy of Role class definitions wrapped into <see cref="T:Aml.Engine.CAEX.RoleFamilyType" />.
                CAEX supports multiple role class libraries.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXLibrary`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassLibType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.RoleClassLibType" /> class.
            </summary>
            <param name="roleClassLibNode">The 'RoleClassLib' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleClassLibType.RoleClass">
            <summary>
                Gets the collection of RoleClass objects contained in this library.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassLibType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassLibType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The RoleClassLibType
                defines the <see cref="P:Aml.Engine.CAEX.RoleClassLibType.RoleClass" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassLibType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given position. The RoleClassLibType
                defines the <see cref="P:Aml.Engine.CAEX.RoleClassLibType.RoleClass" /> sequence.
            </summary>
            <param name="pos">The position</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.SourceDocumentInformationType">
            <summary>
                This Class is a wrapper for the CAEXElement 'SourceDocumentInformation' which a structure to
                model information about the data source of the present CAEX document.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXWrapper" />
        </member>
        <member name="M:Aml.Engine.CAEX.SourceDocumentInformationType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" /> class.
            </summary>
            <param name="sourceDocumentInformationNode">A 'SourceDocumentInformation' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.LastWritingDateTime">
            <summary>
                gets and sets the Date and time of the creation of the CAEX document.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.OriginID">
            <summary>
                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
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.OriginName">
            <summary>
                Gets and sets the Name of the origin of the CAEX document, e.g. the source engineering tool or an exporter software
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.OriginProjectID">
            <summary>
                Gets and sets a unique identifier of the corresponding source project (optional in CAEX)
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.OriginProjectTitle">
            <summary>
                Gets and sets the title of the corresponding source project (optional in CAEX)
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.OriginRelease">
            <summary>
                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)
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.OriginVendor">
            <summary>
                Gets and sets the vendor of the data source of the CAEX document (optional in CAEX)
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.OriginVendorURL">
            <summary>
                Gets and sets the vendors URL of the data source of the CAEX document (optional in CAEX)
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceDocumentInformationType.OriginVersion">
            <summary>
                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.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.SourceObjectInformationType">
            <summary>
                This class is a wrapper for the CAEX element 'SourceObjectInformation'. This element can be assigned to a
                <see cref="T:Aml.Engine.CAEX.CAEXObject" /> 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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXWrapper`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.SourceObjectInformationType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SourceObjectInformationType" /> class.
            </summary>
            <param name="sourceObjectInformationNode">A 'SourceObjectInformation' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceObjectInformationType.OriginID">
            <summary>
                Gets and sets a value for the OriginID attribute of a SourceObjectInformation object.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SourceObjectInformationType.SourceObjID">
            <summary>
                Gets and sets a value for the SourceObjID attribute of a SourceObjectInformation object.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXWrapper">
            <summary>
                This class is the base CAEXWrapper class, defined for all CAEX objects. The CAEXWrapper class supports
                notifications of changes.
            </summary>
            <seealso cref="T:System.ComponentModel.INotifyPropertyChanged" />
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.#ctor(System.Xml.Linq.XElement)">
            <summary>
                A new CAEXWrapper instance is constructed to wrap the provided XML element.
            </summary>
            <param name="xElement">The XML element.</param>
        </member>
        <member name="E:Aml.Engine.CAEX.CAEXWrapper.PropertyChanged">
            <summary>
                The Change event raised when any property is modified.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper.CAEXDocument">
            <summary>
                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 <c>null</c>.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper.CAEXParent">
            <summary>
                Gets the CAEXParent of this instance if it exists.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper.CAEXSequenceOfCAEXObject">
            <summary>
                Gets the CAEXSequence containing this CAEX object
            </summary>
            <returns>The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.</returns>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper.Document">
            <summary>
                Gets the XDocument of the wrapped XML-Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper.Exists">
            <summary>
                Determines if this is a wrapper around an existing XML-Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper.Node">
            <summary>
                Gets the wrapped XML-Element
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper.Owner">
            <summary>
                Gets the wrapped Xml-Element's parent
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper.TagName">
            <summary>
                Gets the name of the CAEX tag for this CAEX object.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.op_Inequality(Aml.Engine.CAEX.CAEXWrapper,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                operator overload (compares the wrapped nodes)
            </summary>
            <param name="obj1">The obj1.</param>
            <param name="obj2">The obj2.</param>
            <returns>
                The result of the operator.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.op_Equality(Aml.Engine.CAEX.CAEXWrapper,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                operator overload (compares the wrapped nodes)
            </summary>
            <param name="obj1">The obj1.</param>
            <param name="obj2">The obj2.</param>
            <returns>
                The result of the operator.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.CAEXChild(System.String)">
            <summary>
                Gets the first child of this CAEX object with the defined CAEX tag name.
            </summary>
            <param name="tagName">The CAEX tag name of the child.</param>
            <returns>The child, if it exists; otherwise <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.CAEXChildren(System.String)">
            <summary>
                Gets all children of this CAEX object with the defined CAEX tag name.
            </summary>
            <param name="tagName">The CAEX tag name of the child.</param>
            <returns>The children, if existing; otherwise <c>Enumerable.Empty</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.Copy(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
                Creates a deep copy of this CAEX object
            </summary>
            <param name="deepCopy">
                if set to <c>true</c> a deep copy is created; otherwise only the attributes are included in the
                copy.
            </param>
            <param name="assignNewIDs">
                if set to <c>true</c> all IDs, defined in the Node and the descendants get new IDs.
            </param>
            <param name="includeSubClasses">
                if set to <c>true</c> sub classes of SystemUnitClasses, InterfacesClasses, RoleClasses and AttributeTypes
                are included in the copy. The default value is <c>false</c>.
            </param>
            <returns>
                The copied CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.Equals(System.Object)">
            <summary>
                Equality of CAEX wrapper instances is defined on the equality of the wrapped XML elements.
            </summary>
            <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
            <returns>
                <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.GetHashCode">
            <summary>
                Gets the Hash code for this instance, using the wrapped XML element.
            </summary>
            <returns>
                A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.GetXAttributeValue(System.Xml.Linq.XName)">
            <summary>
                Gets the value of the Xml-Attribute with the specified attribute name of the wrapped Xml-Element.
            </summary>
            <param name="attributeName">The name of the attribute.</param>
            <returns>The attribute value if the attribute is defined, otherwise <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.InsertNew">
            <summary>
                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 <see cref="P:Aml.Engine.CAEX.CAEXWrapper.Owner" /> is defined. The new created CAEX object is
                inserted as a new child of the owner.
            </summary>
            <returns>
                <c>true, if the XML node could be created and inserted as a new child of the owner.</c>
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.Remove(System.Boolean)">
            <summary>
                Removes this element. After that it is no longer assigned to a document and has no owner anymore.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.SetXAttributeValue(System.Xml.Linq.XName,System.Object)">
            <summary>
                Sets the value of an attribute, adds an attribute, or removes an attribute (if the value is null).
            </summary>
            <param name="attributeName">The name of the attribute</param>
            <param name="attributeValue">The attribute value.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.CreateConstructor``1(System.Linq.Expressions.Expression{System.Func{System.Xml.Linq.XElement,``0}})">
            <summary>
                This methods creates the delegate for the constructor of the wrapped items.
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.Element(System.String)">
            <summary>
                Gets the first child of the wrapped XML element with the defined element name.
            </summary>
            <param name="elementName">The element name (Tag name).</param>
            <returns>The child, if it exists; otherwise <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.Elements(System.String)">
            <summary>
                Gets the list of all child's of the wrapped XML element with the defined element name.
            </summary>
            <param name="elementName">The element name (Tag name).</param>
            <returns>An enumeration of all child's with the defined element name.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.XName(System.String)">
            <summary>
                Gets the XName for the provided tagName suitable to this Nodes Namespace
            </summary>
            <param name="tagName"></param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.RaisePropertyChanged(System.String)">
            <summary>
                Raise the <see cref="E:Aml.Engine.CAEX.CAEXWrapper.PropertyChanged" /> event  for the property with the defined name.
            </summary>
            <param name="propertyName"></param>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper.ClassQualifier(System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
                Tries to extract a class qualifier from a path
            </summary>
            <param name="classNames">Collection of available class names</param>
            <param name="path">The path.</param>
            <returns></returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXWrapper`1">
            <summary>
                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.
            </summary>
            <typeparam name="TDataType">The type of the data type.</typeparam>
            <seealso cref="T:System.ComponentModel.INotifyPropertyChanged" />
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXWrapper`1.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXWrapper`1" /> class.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <exception cref="T:System.ArgumentNullException">XML node - Tried to create a Wrapper without an XML node.</exception>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper`1.Node">
            <summary>
                Gets the wrapped XML node.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXWrapper`1.Value">
            <summary>
                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.
            </summary>
            <value>
                The value.
            </value>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXBasicObject">
            <summary>
                The class CAEXBasicObject comprises a basic set of attributes and header information which exist for all CAEX
                elements.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXWrapper" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXBasicObject.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXBasicObject" /> class.
            </summary>
            <param name="basicNode">Any CAEX BasicObject XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.AdditionalInformation">
            <summary>
                Gets the collection of AdditionalInformation values contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.ChangeMode">
            <summary>
                Gets and sets the change mode for a CAEX element (Optional in CAEX).
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.Copyright">
            <summary>
                Gets and sets the Copyright for this object.
            </summary>
            <remarks>
                For CAEX 2.15 documents the content of the Copyright object is transformed to a string.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.CopyrightElement">
            <summary>
                Gets the wrapper for the Copyright element.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.Description">
            <summary>
                Gets and sets the Description for this object.
            </summary>
            <remarks>
                For CAEX 2.15 documents the content of the Description object is transformed to a string.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.DescriptionElement">
            <summary>
                Gets the wrapper for the Description element.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.Revision">
            <summary>
                Gets the collection of Revision objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.SourceObjectInformation">
            <summary>
                Gets the collection of SourceObjectInformation objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.Version">
            <summary>
                Gets and sets the Version for this object.
            </summary>
            <remarks>
                For CAEX 2.15 documents the content of the Version object is transformed to a string.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXBasicObject.VersionElement">
            <summary>
                Gets the wrapper for the Version element.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXBasicObject.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                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 <see cref="P:Aml.Engine.CAEX.CAEXBasicObject.Revision" /> is returned.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXBasicObject.Container``1">
            <summary>
                Gets the CAEX Container for elements of type T, which is owned by this CAEX object
            </summary>
            <typeparam name="T"></typeparam>
            <returns>The CAEX container</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXBasicObject.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The CAEXBasicObject
                defines the <see cref="P:Aml.Engine.CAEX.CAEXBasicObject.Revision" /> and <see cref="P:Aml.Engine.CAEX.CAEXBasicObject.SourceObjectInformation" /> sequences.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                true, if a sequence could be identified and the CAEX object
                has been inserted into this sequence.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXBasicObject.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the defined position. The CAEXBasicObject
                defines the <see cref="P:Aml.Engine.CAEX.CAEXBasicObject.Revision" /> and <see cref="P:Aml.Engine.CAEX.CAEXBasicObject.SourceObjectInformation" /> sequences.
            </summary>
            <param name="pos">The position</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                true, if a sequence could be identified and the CAEX object
                has been inserted into this sequence.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXBasicObject.New_Revision(System.DateTime,System.String,System.Boolean)">
            <summary>
                Creates a new Revision object and inserts it to the collection of Revision objects <see cref="P:Aml.Engine.CAEX.CAEXBasicObject.Revision" />
                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.
            </summary>
            <param name="date">The date.</param>
            <param name="author">The author.</param>
            <param name="asFirst">if set to <c>true</c> the created Revision is prepended, otherwise appended.</param>
            <returns>A Revision object.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXDocument">
            <summary>
                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 <see cref="T:Aml.Engine.Services.Interfaces.ISchemaTransform" /> interface.
                Creation of new documents with lower schema versions
                is possible, but in this case, the schema version has to be defined explicitly.
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXDocument.CAEXSchema">
            <summary>
                Enumeration type defining existing and supported CAEX Versions
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEXDocument.CAEXSchema.CAEX2_15">
            <summary>
                CAEX Schema Version 2.15
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEXDocument.CAEXSchema.CAEX3_0">
            <summary>
                CAEX Schema Version 3.0
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEXDocument.CAEXSchema.Unknown">
            <summary>
                This value is used, if the CAEX document couldn't be associated to a specific schema version
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.#ctor(Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                private constructor setting the schema
            </summary>
            <param name="schema">The CAEX schema version.</param>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXDocument.Commanding">
            <summary>
                The Commanding class, which provides events for changes of CAEX objects
            </summary>
        </member>
        <member name="E:Aml.Engine.CAEX.CAEXDocument.Commanding.CAEXElementChangedEvent">
            <summary>
                This event is raised after a CAEXElement has been changed. <see cref="T:Aml.Engine.CAEX.Commands.CAEXElementChangeMode" />
            </summary>
        </member>
        <member name="E:Aml.Engine.CAEX.CAEXDocument.Commanding.CAEXElementChangingEvent">
            <summary>
                This event is raised before a CAEXElement will be changed. <see cref="T:Aml.Engine.CAEX.Commands.CAEXElementChangeMode" />
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXDocument.DefaultSchema">
            <summary>
                The Default schema for new CAEX documents
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXDocument.CAEXFile">
            <summary>
                Gets the CAEXFile which is the wrapper for the root element in the CAEX document
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXDocument.Commands">
            <summary>
                Gets the command instance for this document, which enables registration of change events
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXDocument.Schema">
            <summary>
                Gets the Schema of the CAEXDocument
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXDocument.SchemaManager">
            <summary>
                Gets the schema manager for this document
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXDocument.SchemaVersionString">
            <summary>
                Gets the schema version string for the assigned schema
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXDocument.IsTransformationActive">
            <summary>
                Gets a value indicating whether this instance has an active schema transformation.
            </summary>
            <value>
                <c>true</c> if this instance is transformation active; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.AMLSchemaManager(System.Xml.Linq.XElement)">
            <summary>
                Gets the schema manager for the CAEX document which contains the provided XML node.
            </summary>
            <param name="node">The XML node.</param>
            <returns>The AML schema manager.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.AMLSchemaManager(Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Gets the schema manager for the CAEX document which contains the provided CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>The AML schema manager.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.Document(Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>The CAEX document.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.Document(System.Xml.Linq.XElement)">
            <summary>
                Gets the CAEX document which contains the specified XML node.
            </summary>
            <param name="xNode">The CAEXDocument, containing the XML node.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.LoadFromBinary(System.Byte[])">
            <summary>
                Loading a CAEX file from the specified Byte-Array.
            </summary>
            <param name="binary">The CAEX file to load</param>
            <returns>
                A CAEXDocument containing the CAEX-Nodes
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.LoadFromFile(System.String)">
            <summary>
                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.
            </summary>
            <param name="filePath">The file path.</param>
            <returns>
                The created CAEX document.
            </returns>
            <exception cref="T:System.IO.FileNotFoundException">filePath</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.LoadFromStream(System.IO.Stream)">
            <summary>
                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.
            </summary>
            <param name="inStream">The content stream.</param>
            <returns>
                The CAEX document.
            </returns>
            <exception cref="T:System.ArgumentNullException">inStream</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.New_CAEXDocument">
            <summary>
                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 <see cref="P:Aml.Engine.CAEX.CAEXDocument.DefaultSchema" />.
            </summary>
            <returns>The created CAEX document containing the CAEXFile root element.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.New_CAEXDocument(Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                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.
            </summary>
            <param name="schema">The schema version which defines the CAEX document.</param>
            <returns>
                The created CAEX document containing the CAEXFile root element.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.SaveToFile(System.String,System.Boolean)">
            <summary>
                Saves the CAEX document to the specified file path.
            </summary>
            <param name="filename">The file path to save the document to.</param>
            <param name="prettyPrint">Set to true, if pretty printing is desired.</param>
            <exception cref="T:System.ArgumentNullException">filename</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.SaveToStream(System.Boolean)">
            <summary>
                Saves the CAEX document to the specified file path.
            </summary>
            <param name="prettyPrint">Set to true, if pretty printing is desired</param>
            <returns>The stream, containing the CAEX document content.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.Validate(System.String[]@)">
            <summary>
                Checks if the document is schema compliant.
            </summary>
            <param name="violationLog">Log of schema violations.</param>
            <returns><c>true</c>, if the CAEX document is schema compliant; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.XName(System.String)">
            <summary>
                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.
            </summary>
            <param name="tagname">A CAEX Tag name which should be transformed to a XName.</param>
            <returns>The generated XName.</returns>
            <exception cref="T:System.ArgumentNullException">tag name</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.FinalizeSchemaTransformation">
            <summary>
                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.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXDocument.TransformToSchema(Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                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.
            </summary>
            <param name="targetSchema">The target schema (needs to be different to the actual schema).</param>
            <returns>the prepared document, returned to the transformation service for further processing.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXFileType">
            <summary>
                This class is a wrapper for the CAEX element 'CAEXFile' which is the root-element of any CAEX document.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXFileType.#cctor">
            <summary>
                Initializes the <see cref="T:Aml.Engine.CAEX.CAEXFileType" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXFileType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new CAEXWrapper of the 'CAEXFile' element.
            </summary>
            <param name="caexFileNode">The CAEXFile XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.AttributeTypeLib">
            <summary>
                Gets the collection of AttributeTypeLib objects contained in the CAEXFile.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.ExternalReference">
            <summary>
                Gets the collection of ExternalReference objects contained in the CAEXFile.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.FileName">
            <summary>
                Gets and sets the FileName attribute of the CAEXFile
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.InstanceHierarchy">
            <summary>
                Gets the collection of InstanceHierarchy objects contained in the CAEXFile.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.InterfaceClassLib">
            <summary>
                Gets the collection of InterfaceClassLib objects contained in the CAEXFile.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.IsEmpty">
            <summary>
                Gets a value indicating whether this instance is empty.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.RoleClassLib">
            <summary>
                Gets the collection of RoleClassLib objects contained in the CAEXFile.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.SchemaLocation">
            <summary>
                Gets and sets the SchemaLocation attribute of the CAEXFile.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.SchemaVersion">
            <summary>
                Gets and sets the SchemaVersion attribute of the CAEXFile.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.SourceDocumentInformation">
            <summary>
                Gets the collection of SourceDocumentInformation objects contained in the CAEXFile.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.SuperiorStandardVersion">
            <summary>
                Gets the collection of SuperiorStandardVersion objects contained in the CAEXFile.
                The value of the SuperiorStandardVersion object is defined as a string.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXFileType.SystemUnitClassLib">
            <summary>
                Gets the collection of SystemUnitClassLib objects contained in the CAEXFile.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXFileType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXFileType.GetEnumerator">
            <summary>
                Gets an enumerator that enables enumeration of all libraries in the CAEX file.
            </summary>
            <returns>Libraries enumerator of the CAEX file</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXFileType.GetFileNamePath">
            <summary>
                Retrieves the file name including full path out of the CAEX document.
            </summary>
            <returns>the file name including full path of the CAEX document</returns>
            <remarks>copied from externalization extensions</remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXFileType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The CAEXFile
                defines the <see cref="P:Aml.Engine.CAEX.CAEXFileType.ExternalReference" />, <see cref="P:Aml.Engine.CAEX.CAEXFileType.InstanceHierarchy" />,
                <see cref="P:Aml.Engine.CAEX.CAEXFileType.InterfaceClassLib" />, <see cref="P:Aml.Engine.CAEX.CAEXFileType.RoleClassLib" />, <see cref="P:Aml.Engine.CAEX.CAEXFileType.SystemUnitClassLib" />
                and <see cref="P:Aml.Engine.CAEX.CAEXFileType.AttributeTypeLib" /> sequences.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXFileType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given position. The CAEXFile
                defines the <see cref="P:Aml.Engine.CAEX.CAEXFileType.ExternalReference" />, <see cref="P:Aml.Engine.CAEX.CAEXFileType.InstanceHierarchy" />,
                <see cref="P:Aml.Engine.CAEX.CAEXFileType.InterfaceClassLib" />, <see cref="P:Aml.Engine.CAEX.CAEXFileType.RoleClassLib" />, <see cref="P:Aml.Engine.CAEX.CAEXFileType.SystemUnitClassLib" />
                and <see cref="P:Aml.Engine.CAEX.CAEXFileType.AttributeTypeLib" /> sequences.
            </summary>
            <param name="pos">the position</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEXObject">
            <summary>
                The class CAEXObject is derived from CAEXBasicObject, augmented by the CAEX Attributes Name(required) and
                ID(optional).
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
        </member>
        <member name="F:Aml.Engine.CAEX.CAEXObject.GUID_FORMAT">
            <summary>
                Specifies the format used for GUIDs. Format "D" is NOT adding {} around the GUID
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXObject.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.CAEXObject" /> class.
            </summary>
            <param name="xmlNode">Any CAEX object XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXObject.ID">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXObject.Name">
            <summary>
                Gets and sets the name of the CAEX object (required in CAEX).
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXObject.AssignNewGuidAsID">
            <summary>
                Assigns the new unique identifier as a new ID to this CAEX object.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXObject.CAEXPath">
            <summary>
                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 <see cref="T:Aml.Engine.CAEX.Extensions.CAEXPathBuilder" /> to generate
                the CAEX path of an object according to the documents CAEX version.
            </summary>
            <remarks>
                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.
                <para>
                    Please note that this method returns a different result than the
                    <see cref="M:Aml.Engine.CAEX.Extensions.CAEXObjectExtensions.GetFullNodePath(Aml.Engine.CAEX.ICAEXObject)" />  method, which always returns
                    the path including the object names of all ancestor hierarchy levels.
                </para>
            </remarks>
            <returns>
                The CAEX path.
            </returns>
        </member>
        <member name="P:Aml.Engine.CAEX.CAEXObject.NewGUID">
            <summary>
                Gets a new unique identifier.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXObject.Copy(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
                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 <paramref name="assignNewIDs" /> 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.
            </summary>
            <param name="deepCopy">
                if set to <c>true</c> a deep copy is created; otherwise only the attributes are included in the
                copy. The default value is <c>true</c>.
            </param>
            <param name="assignNewIDs">
                if set to <c>true</c> all elements with IDs get unique
                IDs and the ID references will be updated. The default value is <c>true</c>.
            </param>
            <param name="includeSubClasses">
                if set to <c>true</c> sub classes of SystemUnitClasses, InterfacesClasses, RoleClasses and AttributeTypes
                are included in the copy. The default value is <c>false</c>.
            </param>
            <returns>
                A copy of this CAEX object with unique IDs.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEXObject.ToString">
            <summary>
                Returns the value of the 'Name' attribute of this CAEX object as the string representation of the object.
            </summary>
            <returns>A <see cref="T:System.String" /> that represents this instance.</returns>
        </member>
        <member name="T:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames">
            <summary>
                Class CAEX_CLASSModel_TagNames.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.TagName(System.Type)">
            <summary>
                gets the CAEX-Tag name for the CAEX-wrapper type.
            </summary>
            <param name="caexWrapperType">Type of the CAEX wrapper.</param>
            <returns>
                System.String.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexWrapperType</exception>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ADDITIONALINFORMATION_STRING">
            <summary>
                The Name of the CAEX-Element 'AdditionalInformation'. This Element has no special CAEX-Wrapper.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ALIAS_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'Alias'. This is a Property in the CAEX-Wrapper <see cref="T:Aml.Engine.CAEX.ExternalReferenceType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_NOMINAL_STRING">
            <summary>
                The Name of the CAEX-Element 'NominalScaledType'. CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.NominalScaledTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_NOMINAL_VALUE_STRING">
            <summary>
                The Name of the CAEX-Attribute 'RequiredValue'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.NominalScaledTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_MAX_STRING">
            <summary>
                The Name of the CAEX-Attribute 'RequiredMaxValue'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_MIN_STRING">
            <summary>
                The Name of the CAEX-Attribute 'RequiredMinValue'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_STRING">
            <summary>
                The Name of the CAEX-Element 'OrdinalScaledType'. CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_ORDINAL_VALUE_STRING">
            <summary>
                The Name of the CAEX-Attribute 'RequiredValue'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.OrdinalScaledTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_STRING">
            <summary>
                The Name of the CAEX-Element 'Constraint'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.AttributeValueRequirementType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_UNKNOWN_REQ_STRING">
            <summary>
                The Name of the CAEX-Element 'Requirements'. This is a Child of the CAEX-Wrapper <see cref="T:Aml.Engine.CAEX.UnknownTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_CONSTRAINT_UNKNOWN_STRING">
            <summary>
                The Name of the CAEX-Element 'UnknownType'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.UnknownTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_DATATYPE_STRING">
            <summary>
                The Name of the CAEX-Element 'AttributeDataType' contained in the <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_DEFAULTVALUE_STRING">
            <summary>
                The Name of the CAEX-Attribute 'DefaultValue'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_CORRESPONDING_ATTRIBUTE_PATH">
            <summary>
                The Name of the Attribute 'CorrespondingAttributePath' of the CAEX-Element <see cref="T:Aml.Engine.CAEX.RefSemanticType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_FILENAME">
            <summary>
                The Name of the Attribute 'FileName' of the CAEX-Element <see cref="T:Aml.Engine.CAEX.CAEXFileType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REF_PARTNER_SIDE_A">
            <summary>
                The Name of the CAEX-Attribute 'RefPartnerSideA'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.InternalLinkType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REF_PARTNER_SIDE_B">
            <summary>
                The Name of the CAEX-Attribute 'RefPartnerSideB'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.InternalLinkType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFATTRIBUTETYPE">
            <summary>
                The Name of the CAEX-Attribute 'RefAttributeType'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFBASECLASSPATH">
            <summary>
                The Name of the CAEX-Attribute 'RefBaseClassPath'. This is a Property in all Classes that implement
                <see cref="T:Aml.Engine.CAEX.IClassWithBaseClassReference" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFBASEROLECLASSPATH">
            <summary>
                The Name of the CAEX-Attribute 'RefBaseRoleClassPath'. This is a Property in <see cref="T:Aml.Engine.CAEX.RoleRequirementsType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFBASESYSTEMUNITPATH">
            <summary>
                The Name of the CAEX-Attribute 'RefBaseSystemUnitPath'. This is a Property in <see cref="T:Aml.Engine.CAEX.InternalElementType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFROLECLASSPATH">
            <summary>
                The Name of the CAEX-Attribute 'RefRoleClassPath'. This is a Property in <see cref="T:Aml.Engine.CAEX.SupportedRoleClassType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_SCHEMA_LOCATION">
            <summary>
                The Name of the Xml-Schema Location Attribute 'xsi:noNamespaceSchemaLocation'
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_SCHEMA_VERSION">
            <summary>
                The Name of the Xml-Schema Version Attribute 'SchemaVersion' of the CAEX-Element <see cref="T:Aml.Engine.CAEX.CAEXFileType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_REFSEMANTIC_STRING">
            <summary>
                The Name of the CAEX-Attribute 'RefSemantic'. A Property in <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_ROLE_ATTRIBUTE_NAME">
            <summary>
                The Name of the CAEX-Attribute 'RoleAttributeName' in an AttributeNameMapping. The CAEX-Wrapper is
                <see cref="T:Aml.Engine.CAEX.AttributeNameMappingType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_ROLE_INTERFACE_ID">
            <summary>
                The Name of the CAEX-Attribute 'RoleInterfaceID' in an InterfaceIDMapping. The CAEX-Wrapper is
                <see cref="T:Aml.Engine.CAEX.InterfaceIDMappingType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_ROLE_INTERFACE_NAME">
            <summary>
                The Name of the CAEX-Attribute 'RoleInterfaceName' in an InterfaceNameMapping. The CAEX-Wrapper is
                <see cref="T:Aml.Engine.CAEX.InterfaceNameMappingType" />.
            </summary>
            <remarks>
                Changed to <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_ROLE_INTERFACE_ID" /> in CAEX 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_STRING">
            <summary>
                The Name of the CAEX-Element 'Attribute'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.AttributeType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_SYSTEM_UNIT_ATTRIBUTE_NAME">
            <summary>
                The Name of the CAEX-Attribute 'SystemUnitAttributeName' in an AttributeNameMapping. The CAEX-Wrapper is
                <see cref="T:Aml.Engine.CAEX.AttributeNameMappingType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_SYSTEM_UNIT_INTERFACE_ID">
            <summary>
                The Name of the CAEX-Attribute 'SystemUnitInterfaceID' in an InterfaceIDMapping. The CAEX-Wrapper is
                <see cref="T:Aml.Engine.CAEX.InterfaceIDMappingType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_SYSTEM_UNIT_INTERFACE_NAME">
            <summary>
                The Name of the CAEX-Attribute 'SystemUnitInterfaceName' in an InterfaceNameMapping. The CAEX-Wrapper is
                <see cref="T:Aml.Engine.CAEX.InterfaceNameMappingType" />.
            </summary>
            <remarks>
                Changed to <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_SYSTEM_UNIT_INTERFACE_ID" /> in CAEX 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_UNIT_STRING">
            <summary>
                The Name of the CAEX-Attribute 'Unit' of the CAEX-Element <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_VALUE_REQUIREMENT_STRING">
            <summary>
                The Name of the CAEX-Element 'AttributeValueRequirement'. This is a Property in the CAEX-Wrapper
                <see cref="T:Aml.Engine.CAEX.AttributeValueRequirementType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_VALUE_STRING">
            <summary>
                The Name of the CAEX-Attribute 'Value'. A Property in the CAEX-Wrapper <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTEFAMILYTYPE_STRING">
            <summary>
                The TypeName of the CAEX-Element 'AttributeType'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.AttributeFamilyType" />  for the
                Type.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTETYPE_STRING">
            <summary>
                The TypeName of the CAEX-Element 'AttributeType'. The CAEX-Wrappers are <see cref="T:Aml.Engine.CAEX.AttributeTypeType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTETYPELIB_STRING">
            <summary>
                The TypeName of the CAEX-Element 'AttributeTypeLib'. The CAEX-Wrappers are <see cref="T:Aml.Engine.CAEX.AttributeTypeLibType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.CAEX_FILE">
            <summary>
                The Name of the CAEX-Element 'CAEXFile'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.CAEXFileType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.CAEXBASICOBJECT">
            <summary>
                The Type Name of any CAEXBasicObject. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.CAEXBasicObject" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.CAEXOBJECT">
            <summary>
                The Type Name of any CAEXObject. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.CAEXObject" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.CHANGEMODE_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'ChangeMode'. This is an attribute of any <see cref="T:Aml.Engine.CAEX.CAEXBasicObject" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.COPYRIGHT_STRING">
            <summary>
                The Name of the CAEX-Element 'Copyright'. This is an element in any Header <see cref="T:Aml.Engine.CAEX.CAEXBasicObject" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.DESCRIPTION_STRING">
            <summary>
                The Name of the CAEX-Element 'Copyright'. This is an element in any Header <see cref="T:Aml.Engine.CAEX.CAEXBasicObject" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.EXTERNALINTERFACE_STRING">
            <summary>
                The Name of the CAEX-Element 'ExternalInterface'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.ExternalInterfaceType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.EXTERNALREFERENCE_STRING">
            <summary>
                The Name of the CAEX-Element 'ExternalReference'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.ExternalReferenceType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ID_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'ID'. This is defined for every <see cref="T:Aml.Engine.CAEX.CAEXObject" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.INSTANCEHIERARCHY_STRING">
            <summary>
                The Name of the CAEX-Element 'InstanceHierarchy'. CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.InstanceHierarchyType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.INTERFACECLASS_STRING">
            <summary>
                The Name of the CAEX-Element 'InterfaceClass'. The CAEX-Wrappers are <see cref="T:Aml.Engine.CAEX.InterfaceClassType" /> and
                <see cref="T:Aml.Engine.CAEX.InterfaceFamilyType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.INTERFACECLASSLIB_STRING">
            <summary>
                The Name of the CAEX-Element 'InterfaceClassLib'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.InterfaceClassLibType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.INTERFACEFAMILYTYPE_STRING">
            <summary>
                The TypeName of the CAEX-Element 'InterfaceClass'. The CAEX-Wrappers are <see cref="T:Aml.Engine.CAEX.InterfaceClassType" /> and
                <see cref="T:Aml.Engine.CAEX.InterfaceFamilyType" />  for the Type.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.INTERNALELEMENT_STRING">
            <summary>
                The Name of the CAEX-Element 'InternalElement'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.InternalElementType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.INTERNALLINK_STRING">
            <summary>
                The Name of the CAEX-Element 'InternalLink'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.InternalLinkType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.LASTWRITINGDATETIME_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'LastWritingDateTime' defined in <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGOBJECT_ATTRIBUTENAME_STRING">
            <summary>
                The Name of the CAEX-Element 'AttributeNameMapping'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.AttributeNameMappingType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGOBJECT_INTERFACEID_STRING">
            <summary>
                The Name of the CAEX-Element 'InterfaceIDMapping'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.InterfaceIDMappingType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGOBJECT_INTERFACENAME_STRING">
            <summary>
                The Name of the CAEX-Element 'InterfaceNameMapping'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.InterfaceNameMappingType" />.
            </summary>
            <remarks>
                Changed to <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGOBJECT_INTERFACEID_STRING" /> since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGOBJECT_STRING">
            <summary>
                The Name of the CAEX-Element 'MappingObject'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.MappingType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGTYPE_STRING">
            <summary>
                The Name of the Type of the CAEX-Element 'MappingObject'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.MappingType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_ATTRIBUTE_NAME_AUTOMATIONMLVERSION">
            <summary>
                The Name of the additional AutomationML-CaexFile-Attribute 'AutomationMLVersion'.
            </summary>
            <remarks>
                Deprecated since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_ATTRIBUTE_NAME_DOCUMENTIDENTIFIER">
            <summary>
                The meta attribute name document identifier is used to identify <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_ATTRIBUTE_NAME_DOCUMENTVERSION" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_ATTRIBUTE_NAME_DOCUMENTVERSION">
            <summary>
                The meta attribute name document version is used to identify <see cref="T:Aml.Engine.AmlObjects.DocumentVersions" /> defined
                in the <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ADDITIONALINFORMATION_STRING" /> of a <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.CAEX_FILE" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERHEADER_STRING">
            <summary>
                The Name of the additional AutomationML-CaexFile-Element 'WriterHeader'.
            </summary>
            <remarks>
                Deprecated since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERID_STRING">
            <summary>
                The meta WriterID string
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERNAME_STRING">
            <summary>
                The meta WriterName string
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERPROJECTID_STRING">
            <summary>
                The meta WriterProjectID string
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERPROJECTTITLE_STRING">
            <summary>
                The meta WriterProjectTitle string
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERRELEASE_STRING">
            <summary>
                The meta WriterRelease string
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERVENDOR_STRING">
            <summary>
                The meta WriterVendor string
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERVENDORURL_STRING">
            <summary>
                The meta WriterVendorURL string
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.META_WRITERVERSION_STRING">
            <summary>
                The meta WriterVersion string
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.NAME_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'Name'. This is an Element in every <see cref="T:Aml.Engine.CAEX.CAEXObject" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ORIGINID_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'OriginID'. This is an Element in every <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />
                .
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ORIGINNAME_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'OriginName'. This is an Element in every
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ORIGINPROJECTID_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'OriginProjectID'. This is an Element in every
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ORIGINPROJECTTITLE_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'OriginProjectTitle'. This is an Element in every
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ORIGINRELEASE_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'OriginRelease'. This is an Element in every
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ORIGINVENDOR_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'OriginVendor'. This is an Element in every
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ORIGINVENDORURL_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'OriginVendorURL'. This is an Element in every
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ORIGINVERSION_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'OriginVersion'. This is an Element in every
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.PATH_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'Path'. This is defined in <see cref="T:Aml.Engine.CAEX.ExternalReferenceType" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.REF_SEMANTIC_TYPE">
            <summary>
                The Name of the CAEX-Element 'RefSemantic'. This is a CAEX-Element with the CAEX-Wrapper
                <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.REF_SEMANTIC_TYPE" />
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.REVISION_AUTHOR_NAME">
            <summary>
                The Name of the CAEX-Element 'AuthorName'. This is an element in <see cref="T:Aml.Engine.CAEX.RevisionType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.REVISION_COMMENT">
            <summary>
                The Name of the CAEX-Element 'Comment'. This is an element in <see cref="T:Aml.Engine.CAEX.RevisionType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.REVISION_DATE_STRING">
            <summary>
                The Name of the CAEX-Element 'RevisionDate'. This is an element in <see cref="T:Aml.Engine.CAEX.RevisionType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.REVISION_NEWVERSION_STRING">
            <summary>
                The Name of the CAEX-Element 'NewVersion'. This is an element in <see cref="T:Aml.Engine.CAEX.RevisionType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.REVISION_OLDVERSION_STRING">
            <summary>
                The Name of the CAEX-Element 'OldVersion'. This is an element in <see cref="T:Aml.Engine.CAEX.RevisionType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.REVISION_STRING">
            <summary>
                The Name of the CAEX-Element 'Revision'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.RevisionType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ROLECLASS_STRING">
            <summary>
                The Name of the CAEX-Element 'RoleClass'. The CAEX-Wrappers are <see cref="T:Aml.Engine.CAEX.RoleClassType" /> and
                <see cref="T:Aml.Engine.CAEX.RoleFamilyType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ROLECLASSLIB_STRING">
            <summary>
                The Name of the CAEX-Element 'RoleClassLib'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.RoleClassLibType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ROLEFAMILYTYPE_STRING">
            <summary>
                The TypeName of the CAEX-Element 'RoleClass'. The CAEX-Wrappers are <see cref="T:Aml.Engine.CAEX.RoleClassType" /> and
                <see cref="T:Aml.Engine.CAEX.RoleFamilyType" /> for the Type.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ROLEREQUIREMENTS_STRING">
            <summary>
                The Name of the CAEX-Element 'RoleRequirements'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.RoleRequirementsType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SOURCEDOCUMENTINFORMATION_STRING">
            <summary>
                The Name of the CAEX-Element 'SourceDocumentInformation'. CAEX-Wrapper is
                <see cref="T:Aml.Engine.CAEX.SourceDocumentInformationType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SOURCEOBJECTINFORMATION_STRING">
            <summary>
                The Name of the CAEX-Element 'SourceObjectInformation'. CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.SourceObjectInformationType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SOURCEOBJID_ATTRIBUTE">
            <summary>
                The Name of the CAEX-Attribute 'SourceObjID'. This Attribute is defined in
                <see cref="T:Aml.Engine.CAEX.SourceObjectInformationType" />.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SUPERIORSTANDARDVERSION_STRING">
            <summary>
                The TypeName of the CAEX-Element 'SuperiorStandardVersion'.
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SUPPORTEDROLECLASS_STRING">
            <summary>
                The Name of the CAEX-Element 'SupportedRoleClass'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.SupportedRoleClassType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SYSTEMUNITCLASS_STRING">
            <summary>
                The Name of the CAEX-Element 'SystemUnitClass'. The CAEX-Wrappers are <see cref="T:Aml.Engine.CAEX.SystemUnitClassType" /> and
                <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SYSTEMUNITCLASSLIB_STRING">
            <summary>
                The Name of the CAEX-Element 'SystemUnitClassLib'. The CAEX-Wrapper is <see cref="T:Aml.Engine.CAEX.SystemUnitClassLibType" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SYSTEMUNITFAMILYTYPE_STRING">
            <summary>
                The TypeName of the CAEX-Element 'SystemUnitClass'. The CAEX-Wrappers are <see cref="T:Aml.Engine.CAEX.SystemUnitClassType" /> and
                <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType" /> for the Type.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.VERSION_STRING">
            <summary>
                The Name of the CAEX-Element 'Version'. This may be defined in every <see cref="T:Aml.Engine.CAEX.CAEXBasicObject" />.
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.CAEX_NAMESPACE">
            <summary>
                The CAEXNamespace of a CAEX Document
            </summary>
            <remarks>
                Applicable since CAEX-Version 3.0
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.ChangeMode">
            <summary>
                Enumeration defining possible ChangeMode values of the ChangeMode Attribute
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.ChangeMode.State">
            <summary>
                corresponds to attribute value 'state'
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.ChangeMode.Create">
            <summary>
                corresponds to attribute value 'create'
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.ChangeMode.Delete">
            <summary>
                corresponds to attribute value 'delete'
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.ChangeMode.Change">
            <summary>
                corresponds to attribute value 'change'
            </summary>
        </member>
        <member name="F:Aml.Engine.CAEX.ChangeMode.Undefined">
            <summary>
                corresponds to a null attribute value
            </summary>
        </member>
        <member name="T:Aml.Engine.CAEX.InstanceHierarchyType">
            <summary>
                This Class is a wrapper for the CAEXElement 'InstanceHierarchy' which is a Container element
                for a hierarchy of InternalElements.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXLibrary`1" />
            <seealso cref="T:Aml.Engine.CAEX.IInternalElementContainer" />
        </member>
        <member name="M:Aml.Engine.CAEX.InstanceHierarchyType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.InstanceHierarchyType" /> class.
            </summary>
            <param name="instanceHierarchyNode">An 'nstanceHierarchy' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.InstanceHierarchyType.Constructor">
            <summary>
                The constructor function for the <see cref="T:Aml.Engine.CAEX.InstanceHierarchyType" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InstanceHierarchyType.InternalElement">
            <summary>
                Gets the List of wrappers for the InternalElements of the top level of the InstanceHierarchy.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.InstanceHierarchyType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InstanceHierarchyType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The InstanceHierarchy
                defines the <see cref="P:Aml.Engine.CAEX.InstanceHierarchyType.InternalElement" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InstanceHierarchyType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given position. The InstanceHierarchy
                defines the <see cref="P:Aml.Engine.CAEX.InstanceHierarchyType.InternalElement" /> sequence.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.InterfaceClassType">
            <summary>
                This Class is a wrapper for the CAEXElement 'InterfaceClass'
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CaexObjectWithReference`1" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithAttributes" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithExternalInterface" />
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Creates a Wrapper for the specified XElement, if it is a CAEX InterfaceClass.
            </summary>
            <param name="interfaceClassNode">An 'InterfaceClass' or 'ExternalInterface' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceClassType.Attribute">
            <summary>
                Gets the collection of Attributes for this Instance
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceClassType.AttributeAndDescendants">
            <summary>
                Gets the attributes and all nested attributes.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceClassType.ExternalInterfaceAndDescendants">
            <summary>
                Gets the collection of ExternalInterface objects including all nested descendant interfaces
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceClassType.BaseClass">
            <summary>
                Gets and sets the ReferencedBaseClass for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceClassType.ExternalInterface">
            <summary>
                Gets the collection of ExternalInterfaces for this Instance.
            </summary>
            <remarks>
                Nested Interfaces are allowed only in AMLDocuments based on CAEX Version 3.0 and later.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceClassType.RefBaseClassPath">
            <summary>
                Gets and sets the path which references a base class
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassType.op_Implicit(Aml.Engine.CAEX.InterfaceClassType)~Aml.Engine.AmlObjects.ObjectWithAMLAttributes">
            <summary>
                Conversion to get access to specific AutomationML defined Attributes, assigned to the specified InterfaceClass
                object.
            </summary>
            <param name="interfaceClass">The CAEX InterfaceClass object.</param>
            <returns>
                The InterfaceClass object, converted to an <see cref="T:Aml.Engine.AmlObjects.ObjectWithAMLAttributes" /> type, which provides access to
                specific AML defined attributes.
            </returns>
            <exception cref="T:System.ArgumentNullException">interfaceClass</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassType.Container``1">
            <inheritdoc />
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The InterfaceClass
                defines the <see cref="P:Aml.Engine.CAEX.InterfaceClassType.Attribute" /> and <see cref="P:Aml.Engine.CAEX.InterfaceClassType.ExternalInterface" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceClassType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given position. The InterfaceClass
                defines the <see cref="P:Aml.Engine.CAEX.InterfaceClassType.Attribute" /> and <see cref="P:Aml.Engine.CAEX.InterfaceClassType.ExternalInterface" /> sequence.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.InterfaceFamilyType">
            <summary>
                This Class is a wrapper for the CAEXElement 'InterfaceFamilyType'
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.InterfaceClassType" />
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
            <seealso cref="T:Aml.Engine.CAEX.IInstantiable`1" />
            <seealso cref="T:Aml.Engine.CAEX.IClassWithBaseClassReference`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.InterfaceFamilyType" /> class.
            </summary>
            <param name="node">An 'InterfaceClass' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceFamilyType.Constructor">
            <summary>
                The constructor function for the <see cref="T:Aml.Engine.CAEX.InterfaceFamilyType" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceFamilyType.BaseClass">
            <summary>
                Gets and sets the ReferencedBaseClass for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceFamilyType.InterfaceClass">
            <summary>
                Gets the collection of InterfaceClass objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceFamilyType.RefBaseClassPath">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InterfaceFamilyType.ReferencedClassName">
            <summary>
                Gets the name (not the full path) of the referenced base class.
            </summary>
            <value>The name of the referenced class.</value>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.Container``1">
            <inheritdoc />
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.CreateClassInstance">
            <summary>
                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.
            </summary>
            <returns>The ExternalInterface object</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.Aml#Engine#CAEX#IInstantiable#CreateClassInstance">
            <summary>
                Creates a ExternalInterface object as an instance of this InterfaceClass object.
                All Base-Classes are resolved to create the instance.
            </summary>
            <returns>The CAEXWrapper for the ExternalInterface</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.GetEnumerator">
            <summary>
                Gets the Enumerator for the enumeration of the <see cref="P:Aml.Engine.CAEX.InterfaceFamilyType.InterfaceClass" /> field.
            </summary>
            <returns>Enumerator for InterfaceClass</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.System#Collections#IEnumerable#GetEnumerator">
            <summary>
                Gets the Enumerator for the enumeration of the <see cref="P:Aml.Engine.CAEX.InterfaceFamilyType.InterfaceClass" /> field.
            </summary>
            <returns>Enumerator for InterfaceClass</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.GetReferenceHierarchy">
            <summary>
                Gets the reference (Inheritance) hierarchy including this instance in an ordered sequence of ancestors.
            </summary>
            <returns>Collection of base classes</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.GetReferenceHierarchy``1">
            <summary>
                Gets the reference (Inheritance) hierarchy including this instance in an ordered sequence of ancestors.
            </summary>
            <typeparam name="T">Type of the CAEX class in the hierarchy.</typeparam>
            <returns>a queue of ancestors. this instance is first in the queue</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The InterfaceFamilyType
                defines the <see cref="P:Aml.Engine.CAEX.InterfaceFamilyType.InterfaceClass" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InterfaceFamilyType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The InterfaceFamilyType
                defines the <see cref="P:Aml.Engine.CAEX.InterfaceFamilyType.InterfaceClass" /> sequence.
            </summary>
            <param name="pos">The position</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.InternalElementType">
            <summary>
                This Class is a wrapper for the CAEXElement 'InternalElement'.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.ISplitPoint" />
            <seealso cref="T:Aml.Engine.CAEX.SystemUnitClassType" />
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.InternalElementType" /> class.
            </summary>
            <param name="nodeElement">An 'InternalElement' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.Constructor">
            <summary>
                The constructor function for the <see cref="T:Aml.Engine.CAEX.InternalElementType" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.Aml#Engine#CAEX#IMirror#IsMaster">
            <summary>
                Gets a value indicating whether this instance is a master.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.IsMirror">
            <summary>
                Determines, if this instance is a Mirror
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.MappingObject">
            <summary>
                Gets the MappingObject of an InternalElement
            </summary>
            <remarks>
                Only valid for CAEX 2.15. Don't use this property for later versions of CAEX.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.Master">
            <summary>
                Gets and sets the Master. A Master is only defined, if this instance is a <see cref="P:Aml.Engine.CAEX.InternalElementType.IsMirror" />. Setting a master
                will transform this
                instance into a mirror.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.Aml#Engine#CAEX#IMirror#Master">
            <summary>
                Gets the master.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.MasterID">
            <summary>
                Gets the master identifier, if this InternalElement is a mirror .
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.RefBaseSystemUnitPath">
            <summary>
                Gets and sets the RefBaseSystemUnitPath Attribute of an InternalElement.
                For Class assignments the property <see cref="P:Aml.Engine.CAEX.InternalElementType.SystemUnitClass" /> is appropriate.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.RoleReferences">
            <summary>
                Gets all role references for the InternalElement. The collection includes all
                RoleRequirement objects and SupportedRoleClass objects.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.RoleRequirements">
            <summary>
                Gets the collection of RoleRequirements objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.InternalElementType.SystemUnitClass">
            <summary>
                Gets and sets the referenced SystemUnitClass using the <see cref="P:Aml.Engine.CAEX.InternalElementType.RefBaseSystemUnitPath" />
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.AddRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
                Adds a RoleClass reference to this InternalElement object using the provided
                RoleClass object.  The RoleClass reference is added as
                a <see cref="T:Aml.Engine.CAEX.RoleRequirementsType" /> 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.
            </summary>
            <param name="roleClass">The RoleClass to be assigned to the InternalElement.</param>
            <param name="addSupportedRoleClass">if set to <c>true</c> [add supported role class].</param>
            <param name="addUnique">
                if set to <c>true</c>, the RoleClass reference is not added, if a reference to the
                provided RoleClass already exists.
            </param>
            <param name="addInstance">
                if set to <c>true</c>, the reference is created as am instance of the RoleClass,
                containig all ExternalInterfaces and Attributes of the RoleClass.</param>
            <returns>
                The new added RoleClass reference, which is either a RoleRequirement
                or a SupportedRoleClass. 
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
            <remarks>
                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 <see cref="M:Aml.Engine.CAEX.RoleFamilyType.CreateClassInstance" />
                and the <see cref="M:Aml.Engine.CAEX.InternalElementType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)" /> methods.
            </remarks>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.InternalElementType.AddRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean,System.Boolean,System.Boolean)" /> method using
                a standard base RoleClass from the
                <see cref="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.RoleClassLib(Aml.Engine.CAEX.CAEXDocument)" />
                <code>
            var amlBaseRoleClassLib = AutomationMLBaseRoleClassLibType.RoleClassLib (myDocument);
            var myIH = myDocument.CAEXFile.InstanceHierarchy.Append ("myIH");
            var myIE = myIH.InternalElement.Append("myIH");
            myIE.AddRoleClassReference (amlBaseRoleClassLib.AutomationMLBaseRole);
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.AddRoleClassReference(System.String,System.Boolean,System.Boolean)">
            <summary>
                Adds a RoleClass reference to this InternalElement object using the provided
                CAEX path, referencing a RoleClass object.  The RoleClass reference is added as
                a <see cref="T:Aml.Engine.CAEX.RoleRequirementsType" /> 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.
            </summary>
            <param name="roleClassReference">
                The CAEX path referencing a RoleClass to be assigned
                to the InternalElement.
            </param>
            <param name="addUnique">
                if set to <c>true</c> the reference is not added, if the
                same reference already exists.
            </param>
            <param name="addInstance">
                if set to <c>true</c>, the reference is created as an instance of the RoleClass, 
                identified by the provided roleClassReference, 
                containig all ExternalInterfaces and Attributes of the RoleClass.</param>
            <returns>
                The new added RoleClass reference, which is either a RoleRequirement
                or a SupportedRoleClass. 
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClassReference</exception>
            <remarks>
                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 <see cref="M:Aml.Engine.CAEX.RoleFamilyType.CreateClassInstance" /> and
                the <see cref="M:Aml.Engine.CAEX.InternalElementType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)" /> methods,
            </remarks>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.InternalElementType.AddRoleClassReference(System.String,System.Boolean,System.Boolean)" /> method using
                a standard RoleClass path defined in the <see cref="T:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib" />
                <code>
            var myIH = myDocument.CAEXFile.InstanceHierarchy.Append ("myIH");
            var myIE = myIH.InternalElement.Append("myIH");
            myIE.AddRoleClassReference (AutomationMLBaseRoleClassLib.AutomationMLBaseRole);
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.CreateMirror">
            <summary>
                Creates a new mirror element from this InternalElement
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.CreateSystemUnitClass">
            <summary>
                Creates a system unit class from this InternalElement instance. RoleRequirements are transformed to
                SupportedRoleClasses.
                Attributes and ExternalInterfaces of RoleRequirements are removed.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.HasGenericRoleClassReference(Aml.Engine.CAEX.RoleFamilyType)">
            <summary>
                Determines whether this InternalElement object has an associated reference to
                a RoleClass which is a generalization of the specified <paramref name="specificRoleClass" /> which means, that the
                specified RoleClass
                is more specific than any already associated RoleClass of this InternalElement.
            </summary>
            <param name="specificRoleClass">The RoleClass object.</param>
            <returns>
                <c>true</c> if this InternalElement object has an associated RoleClass,
                which is a generalization of the specified RoleClass; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.HasGenericRoleClassReference(System.String)">
            <summary>
                Determines whether this InternalElement object has an associated RoleClass reference
                which is a generalization of the specified CAEX path role reference.
            </summary>
            <param name="roleReference">The role reference.</param>
            <returns>
                <c>true</c> if this InternalElement object has an associated RoleClass reference
                which is a generalization of the specified CAEX path role reference; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleReference</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.HasRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="roleClass">The RoleClass object.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                <c>true</c> if this InternalElement object has an associated reference to
                the specified RoleClass; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.InternalElementType.HasRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean)" /> method using
                a standard base RoleClass from the
                <see cref="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.RoleClassLib(Aml.Engine.CAEX.CAEXDocument)" />
                <code>
            var amlBaseRoleClassLib = AutomationMLBaseRoleClassLibType.RoleClassLib (myDocument);
            InternalElementType internalElement;
            ...
            internalElement.HasRoleClassReference (amlBaseRoleClassLib.AutomationMLBaseRole);
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.HasSystemUnitClassReference(Aml.Engine.CAEX.SystemUnitFamilyType,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                <c>true</c> if this InternalElement object has an associated reference to
                the specified SystemUnitClass; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.HasRoleClassReference(System.String,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="roleReference">The role reference.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                <c>true</c> if this InternalElement object has an associated RoleClass reference
                with the specified CAEX path role reference; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleReference</exception>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.InternalElementType.HasRoleClassReference(System.String,System.Boolean)" /> method using
                a standard base RoleClass path from the
                <see cref="T:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib" />
                <code>
            InternalElementType internalElement;
            ...
            internalElement.HasRoleClassReference (AutomationMLBaseRoleClassLib.AutomationMLBaseRole);
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The InternalElement
                defines the <see cref="P:Aml.Engine.CAEX.InternalElementType.RoleRequirements" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given position. The InternalElement
                defines the <see cref="P:Aml.Engine.CAEX.InternalElementType.RoleRequirements" /> sequence.
            </summary>
            <param name="pos">The position.</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.New_MappingObject">
            <summary>
                Adding a new MappingObject element to this InternalElement.
            </summary>
            <returns>
                The new MappingObject element if not existing, otherwise the existing.
            </returns>
            <exception cref="T:System.NullReferenceException">An InternalElement object doesn't exist!</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">Raised if applied to CAEX 3.0 and later versions.</exception>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.InternalElementType.ReplaceRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="roleClass">The role class.</param>
            <param name="addSupportedRoleClass">if set to <c>true</c> a supported role class is created.</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
        </member>
        <member name="T:Aml.Engine.CAEX.MappingType">
            <summary>
                This Class is a wrapper for the CAEXElement 'MappingObject'
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
        </member>
        <member name="M:Aml.Engine.CAEX.MappingType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.MappingType" /> class.
            </summary>
            <param name="nodeElement">A 'MappingObject' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingType.MappingRoleReference">
            <summary>
                Gets the Role reference, which can provide additional RoleClass Mapping elements/>.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingType.AttributeNameMapping">
            <summary>
                Gets the collection of AttributeNameMapping objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingType.InterfaceIDMapping">
            <summary>
                Gets the collection of InterfaceIDMapping objects contained in this instance.
            </summary>
            <remarks>
                InterfaceIDMapping Elements are only defined since CAEX Version 3.0.
            </remarks>
        </member>
        <member name="P:Aml.Engine.CAEX.MappingType.InterfaceNameMapping">
            <summary>
                Gets the collection of InterfaceNameMapping objects contained in this instance.
            </summary>
            <remarks>
                InterfaceNameMapping Elements are only defined in CAEX Version 2.15.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.MappingType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.MappingType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The MappingType
                defines the <see cref="P:Aml.Engine.CAEX.MappingType.InterfaceIDMapping" />, <see cref="P:Aml.Engine.CAEX.MappingType.InterfaceNameMapping" /> and
                <see cref="P:Aml.Engine.CAEX.MappingType.AttributeNameMapping" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.MappingType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence at the given position. The MappingType
                defines the <see cref="P:Aml.Engine.CAEX.MappingType.InterfaceIDMapping" />, <see cref="P:Aml.Engine.CAEX.MappingType.InterfaceNameMapping" /> and
                <see cref="P:Aml.Engine.CAEX.MappingType.AttributeNameMapping" /> sequence.
            </summary>
            <param name="pos">The position</param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.RevisionType">
            <summary>
                This Class is a wrapper for the CAEXElement 'Revision' which contains organizational information about the state of
                the revision of a CAEX object
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXBasicObject" />
        </member>
        <member name="M:Aml.Engine.CAEX.RevisionType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.RevisionType" /> class.
            </summary>
            <param name="revisionNode">The 'Revision' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.RevisionType.AuthorName">
            <summary>
                Gets or sets the name of the author.
            </summary>
            <value>
                The name of the author.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.RevisionType.Comment">
            <summary>
                Gets or sets the comment.
            </summary>
            <value>
                The comment.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.RevisionType.NewVersion">
            <summary>
                Gets or sets the new version.
            </summary>
            <value>
                The new version.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.RevisionType.NewVersionObject">
            <summary>
                Gets and sets the provided CAEX object as the new version.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RevisionType.OldVersion">
            <summary>
                Gets or sets the old version.
            </summary>
            <value>
                The old version.
            </value>
        </member>
        <member name="P:Aml.Engine.CAEX.RevisionType.OldVersionObject">
            <summary>
                Gets and sets the provided CAEX object as the old version.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RevisionType.RevisionDate">
            <summary>
                Gets or sets the revision date.
            </summary>
            <value>
                The revision date.
            </value>
        </member>
        <member name="T:Aml.Engine.CAEX.RoleClassType">
            <summary>
                This Class is a wrapper for the CAEXElement 'RoleClass'
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CaexObjectWithReference`1" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithExternalInterface" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithAttributes" />
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.RoleClassType" /> class.
            </summary>
            <param name="roleClassNode">A 'RoleClass' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleClassType.Attribute">
            <summary>
                Gets the collection of Attribute objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleClassType.AttributeAndDescendants">
            <summary>
                Gets the attributes and all nested attributes.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleClassType.ExternalInterfaceAndDescendants">
            <summary>
                Gets the collection of ExternalInterface objects including all nested descendant interfaces
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleClassType.ExternalInterface">
            <summary>
                Gets the collection of ExternalInterface objects contained in this instance.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassType.op_Implicit(Aml.Engine.CAEX.RoleClassType)~Aml.Engine.AmlObjects.ObjectWithAMLAttributes">
            <summary>
                Conversion to get access to specific AutomationML defined Attributes
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The result of the conversion.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassType.Container``1">
            <summary>
                Gets the CAEX Container for elements of type T, which is owned by this CAEX object
            </summary>
            <typeparam name="T"></typeparam>
            <returns>
                The CAEX container
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The RoleClass
                defines the <see cref="P:Aml.Engine.CAEX.RoleClassType.Attribute" /> and <see cref="P:Aml.Engine.CAEX.RoleClassType.ExternalInterface" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleClassType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The RoleClass
                defines the <see cref="P:Aml.Engine.CAEX.RoleClassType.Attribute" /> and <see cref="P:Aml.Engine.CAEX.RoleClassType.ExternalInterface" /> sequence.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.RoleFamilyType">
            <summary>
                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
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.RoleClassType" />
            <seealso cref="T:System.Collections.Generic.IEnumerable`1" />
            <seealso cref="T:Aml.Engine.CAEX.IInstantiable`1" />
            <seealso cref="T:Aml.Engine.CAEX.IClassWithBaseClassReference`1" />
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.RoleFamilyType" /> class.
            </summary>
            <param name="roleClassNode">A 'RoleClass' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleFamilyType.Constructor">
            <summary>
                The constructor function for the <see cref="T:Aml.Engine.CAEX.RoleFamilyType" />.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleFamilyType.BaseClass">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleFamilyType.RefBaseClassPath">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleFamilyType.ReferencedClassName">
            <summary>
                Gets the name (not the full path) of the referenced base class.
            </summary>
            <value>The name of the referenced class.</value>
        </member>
        <member name="P:Aml.Engine.CAEX.RoleFamilyType.RoleClass">
            <summary>
                Gets the collection of RoleClass objects contained in this instance.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.Container``1">
            <inheritdoc />
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.CreateClassInstance">
            <summary>
                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.
            </summary>
            <returns>The RoleRequirements object</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.Aml#Engine#CAEX#IInstantiable#CreateClassInstance">
            <summary>
                Creates a RoleRequirement as an instance of this RoleClass object. All Base-Class references
                are resolved to create the instance.
            </summary>
            <returns>The CAEXWrapper as a RoleRequirement</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.CreateSupportedRoleClass">
            <summary>
                Creates a SupportedRoleClass object from this RoleClass.
            </summary>
            <returns>The created SupportedRoleClass</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.GetEnumerator">
            <summary>
                Gets the Enumerator for the enumeration of the <see cref="P:Aml.Engine.CAEX.RoleFamilyType.RoleClass" /> field.
            </summary>
            <returns>
                An enumerator that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.System#Collections#IEnumerable#GetEnumerator">
            <summary>
                Gets the Enumerator for the enumeration of the <see cref="P:Aml.Engine.CAEX.RoleFamilyType.RoleClass" /> field.
            </summary>
            <returns>
                An enumerator that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.GetReferenceHierarchy">
            <summary>
                Gets the reference (Inheritance) hierarchy including this instance in an ordered sequence of ancestors.
            </summary>
            <returns>Enumerator of base classes.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.GetReferenceHierarchy``1">
            <summary>
                Gets the reference (Inheritance) hierarchy including this instance in an ordered sequence of ancestors.
            </summary>
            <typeparam name="T">The class type.</typeparam>
            <returns>A queue of ancestors. this instance is first in the queue</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The RoleFamilyType
                defines the <see cref="P:Aml.Engine.CAEX.RoleFamilyType.RoleClass" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.RoleFamilyType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The RoleFamilyType
                defines the <see cref="P:Aml.Engine.CAEX.RoleFamilyType.RoleClass" /> sequence.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.SystemUnitClassLibType">
            <summary>
                This Class is a wrapper for the CAEXElement 'SystemUnitClassLib'.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CAEXLibrary`1" />
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassLibType.SystemUnitClass">
            <summary>
                Gets a collection of SystemUnitClass objects contained in this instance.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassLibType.#cctor">
            <summary>
                Initializes the <see cref="T:Aml.Engine.CAEX.SystemUnitClassLibType" /> class.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassLibType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SystemUnitClassLibType" /> class.
            </summary>
            <param name="systemUnitClassLibNode">A 'SystemUnitClassLib' XML node.</param>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassLibType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassLibType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The SystemUnitClassLibType
                defines the <see cref="P:Aml.Engine.CAEX.SystemUnitClassLibType.SystemUnitClass" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassLibType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The SystemUnitClassLibType
                defines the <see cref="P:Aml.Engine.CAEX.SystemUnitClassLibType.SystemUnitClass" /> sequence.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="T:Aml.Engine.CAEX.SystemUnitClassType">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.CaexObjectWithReference`1" />
            <seealso cref="T:Aml.Engine.CAEX.IInternalElementContainer" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithExternalInterface" />
            <seealso cref="T:Aml.Engine.CAEX.IObjectWithAttributes" />
            <seealso cref="T:Aml.Engine.CAEX.ICAEXContainer" />
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.#ctor(System.Xml.Linq.XElement)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SystemUnitClassType" /> class.
            </summary>
            <param name="systemUnitClassNode">A 'SystemUnitClass' or 'InternalElement' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassType.Attribute">
            <summary>
                Gets the collection of Attribute objects for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassType.AttributeAndDescendants">
            <summary>
                Gets the attributes and all nested attributes.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassType.ExternalInterfaceAndDescendants">
            <summary>
                Gets the collection of ExternalInterface objects including all nested descendant interfaces
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassType.ExternalInterface">
            <summary>
                Gets a collection of ExternalInterface objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassType.InternalElement">
            <summary>
                Gets the collection of InternalElement objects for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassType.InternalLink">
            <summary>
                Gets the collection of InternalLink objects contained in this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassType.RoleReferences">
            <summary>
                Gets all role references for the SystemUnitClass. The collection includes all
                RoleRequirement objects and SupportedRoleClass objects.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitClassType.SupportedRoleClass">
            <summary>
                Gets the collection of SupportedRoleClass objects contained in this instance.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.SupportedRoleClassWithName(System.String)">
            <summary>
                Get the RoleClass from the sequence of <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.SupportedRoleClass" />  with the provided
                <paramref name="roleClassName" />.
            </summary>
            <param name="roleClassName">Name of the role class.</param>
            <returns>The supported RoleClass object with the provided name if existent, otherwise <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.op_Implicit(Aml.Engine.CAEX.SystemUnitClassType)~Aml.Engine.AmlObjects.ObjectWithAMLAttributes">
            <summary>
                Conversion to get access to specific AutomationML defined Attributes
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                The result of the conversion.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">The CAEX object, contained in a sequence, owned by this CAEX object.</param>
            <returns>
                The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.Container``1">
            <inheritdoc />
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.GetEnumerator">
            <summary>
                Enumeration of contained InternalElement objects
            </summary>
            <returns>
                An enumerator that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.System#Collections#IEnumerable#GetEnumerator">
            <summary>
                Enumeration of contained InternalElement objects
            </summary>
            <returns>An enumerator that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The SystemUnitClass
                defines the <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.Attribute" />, <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.ExternalInterface" />,
                <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.InternalElement" />, <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.InternalLink" />, and
                <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.SupportedRoleClass" /> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
                if set to <c>true</c> it is inserted as the
                first item in its associated sequence.
            </param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
                Inserts the specified CAEX object in it's associated sequence. The SystemUnitClass
                defines the <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.Attribute" />, <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.ExternalInterface" />,
                <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.InternalElement" />, <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.InternalLink" />, and
                <see cref="P:Aml.Engine.CAEX.SystemUnitClassType.SupportedRoleClass" /> sequence.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.InsertAfter(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Inserts the provided CAEX object as a new sibling after this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted.</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.InsertBefore(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Inserts the provided CAEX object as a new sibling before this CAEX object.
            </summary>
            <param name="caexObject">The CAEX object to be inserted</param>
            <exception cref="T:System.ArgumentNullException">caexObject</exception>
            <exception cref="T:Aml.Engine.CAEX.SchemaConformanceException">The provided object is not allowed to be a sibling of this instance.</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.LowestCommonParent(Aml.Engine.CAEX.SystemUnitClassType)">
            <summary>
                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.
            </summary>
            <param name="systemUnitClass">The system unit class.</param>
            <returns>the SystemUnitClass object which is the lowest common parent</returns>
            <exception cref="T:System.ArgumentNullException">systemUnitClass</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.HasInterfaceClassReference(Aml.Engine.CAEX.InterfaceFamilyType,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="interfaceClass">The InterfaceClass object.</param>
            <param name="regardInheritance">
                if set to <c>true</c> inheritance relations
                are regarded (default is <c>false</c>).
            </param>
            <returns>
                <c>true</c> if this CAEX Element object has an associated reference to
                the specified InterfaceClass; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.SystemUnitClassType.HasInterfaceClassReference(Aml.Engine.CAEX.InterfaceFamilyType,System.Boolean)" /> method using
                a standard base InterfaceClass from the
                <see cref="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLibType.InterfaceClassLib(Aml.Engine.CAEX.CAEXDocument)" />
                <code>
            var amlInterfaceClassLib = AutomationMLInterfaceClassLibType.InterfaceClassLib (myDocument);
            InternalElementType internalElement;
            ...
            internalElement.HasInterfaceClassReference (amlInterfaceClassLib.COLLADAInterface);
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.AddInterfaceClassReference(Aml.Engine.CAEX.InterfaceFamilyType,System.Boolean,System.Boolean)">
            <summary>
                Adds an InterfaceClass reference to this SystemUnitClass object using the provided
                InterfaceClass object.  The InterfaceClass reference is added as
                a <see cref="T:Aml.Engine.CAEX.ExternalInterfaceType" /> object. 
            </summary>
            <param name="interfaceClass">The InterfaceClass to be assigned to the SystemUnitClass.</param>
            <param name="addUnique">
                if set to <c>true</c>, the InterfaceClass reference is not added, if a reference to the
                provided InterfaceClass already exists.
            </param>
            <param name="addInstance">
                if set to <c>true</c>, the reference is created as am instance of the InterfaceClass,
                containig all ExternalInterfaces and Attributes of the InterfaceClass.</param>
            <returns>
                The new added InterfaceClass reference. 
            </returns>
            <exception cref="T:System.ArgumentNullException">interfaceClass</exception>       
            <remarks>
                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 <see cref="M:Aml.Engine.CAEX.InterfaceFamilyType.CreateClassInstance" />
                and the <see cref="M:Aml.Engine.CAEX.SystemUnitClassType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)" /> methods.
            </remarks>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.SystemUnitClassType.AddInterfaceClassReference(Aml.Engine.CAEX.InterfaceFamilyType,System.Boolean,System.Boolean)" /> method using
                a standard base InterfaceClass from the
                <see cref="M:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLibType.InterfaceClassLib(Aml.Engine.CAEX.CAEXDocument)" />
                <code>
            var amlInterfaceClassLib = AutomationMLInterfaceClassLibType.InterfaceClassLib (myDocument);
            var myIH = myDocument.CAEXFile.InstanceHierarchy.Append ("myIH");
            var myIE = myIH.InternalElement.Append("myIH");
            myIE.AddInterfaceClassReference (amlInterfaceClassLib.AutomationMLBaseInterface);
            </code>
            </example>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitClassType.AddInterfaceClassReference(System.String,System.Boolean,System.Boolean)">
            <summary>
                Adds an InterfaceClass reference to this SystemUnitClass object using the provided
                CAEX path, referencing an InterfaceClass object.  The InterfaceClass reference is added as
                a <see cref="T:Aml.Engine.CAEX.ExternalInterfaceType" /> object.
            </summary>
            <param name="interfaceClassReference">
                The CAEX path referencing a InterfaceClass to be assigned
                to the SystemUnitClass.
            </param>
            <param name="addUnique">
                if set to <c>true</c> the reference is not added, if the
                same reference already exists.
            </param>
            <param name="addInstance">
                if set to <c>true</c>, the reference is created as an instance of the InterfaceClass, 
                identified by the provided interfaceClassReference, 
                containig all ExternalInterfaces and Attributes of the InterfaceClass.</param>
            <returns>
                The new added InterfaceClass reference.
            </returns>
            <exception cref="T:System.ArgumentNullException">interfaceClassReference</exception>
            <remarks>
                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 <see cref="M:Aml.Engine.CAEX.InterfaceFamilyType.CreateClassInstance" /> and
                the <see cref="M:Aml.Engine.CAEX.SystemUnitClassType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)" /> methods,
            </remarks>
            <example>
                This sample shows how to call the <see cref="M:Aml.Engine.CAEX.SystemUnitClassType.AddInterfaceClassReference(System.String,System.Boolean,System.Boolean)" /> method using
                a standard InterfaceClass path defined in the <see cref="T:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib" />
                <code>
            var myIH = myDocument.CAEXFile.InstanceHierarchy.Append ("myIH");
            var myIE = myIH.InternalElement.Append("myIH");
            myIE.AddInterfaceClassReference (AutomationMLInterfaceClassLib.AutomationMLBaseInterface);
            </code>
            </example>
        </member>
        <member name="T:Aml.Engine.CAEX.SystemUnitFamilyType">
            <summary>
            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.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.SystemUnitClassType"/>
            <seealso cref="T:System.Collections.Generic.IEnumerable`1"/>
            <seealso cref="T:Aml.Engine.CAEX.IInstantiable`1"/>
            <seealso cref="T:Aml.Engine.CAEX.IClassWithBaseClassReference`1"/>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.#ctor(System.Xml.Linq.XElement)">
            <summary>
            Initializes a new instance of the <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType"/> class.
            </summary>
            <param name="systemUnitClassNode">A 'SystemUnitClass' XML node.</param>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitFamilyType.BaseClass">
            <summary>
            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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitFamilyType.RefBaseClassPath">
            <summary>
            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.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitFamilyType.ReferencedClassName">
            <summary>
            Gets the name (not the full path) of the referenced base class.
            </summary>
            <value>The name of the referenced class.</value>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitFamilyType.SystemUnitClass">
            <summary>
            Gets a collection of SystemUnitClass objects of this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.CAEX.SystemUnitFamilyType.Constructor">
            <summary>
            The constructor function for the <see cref="T:Aml.Engine.CAEX.SystemUnitFamilyType"/>.
            </summary>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.AddRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean)">
             <summary>
             Adds a RoleClass reference to this SystemUnitClass object using the provided RoleClass
             object. The RoleClass reference is added as a <see cref="T:Aml.Engine.CAEX.SupportedRoleClassType"/> object.
             </summary>
             <param name="roleClass">The RoleClass to be assigned to the SystemUnitClass.</param>
             <param name="addUnique">
             if set to <c>true</c>, the RoleClass reference is not added, if a reference to the
             provided RoleClass already exists.
             </param>
             <returns>The new added RoleClass reference.</returns>
             <exception cref="T:System.ArgumentNullException">roleClass</exception>
             <example>
             This sample shows how to call the <see cref="M:Aml.Engine.CAEX.SystemUnitFamilyType.AddRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean)"/> method using a standard base RoleClass from the <see cref="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.RoleClassLib(Aml.Engine.CAEX.CAEXDocument)"/>
             <code>
            var amlBaseRoleClassLib = AutomationMLBaseRoleClassLibType.RoleClassLib (myDocument);
            var mySlib = myDocument.CAEXFile.SystemUnitClassLib.Append ("mySlib");
            var mySuc = mySlib.SystemUnitClass.Append("mySuc");
            mySuc.AddRoleClassReference (amlBaseRoleClassLib.AutomationMLBaseRole);
             </code>
             </example>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.AddRoleClassReference(System.String,System.Boolean)">
             <summary>
             Adds a RoleClass reference to this SystemUnitClass object using the provided CAEX path,
             referencing a RoleClass object. The RoleClass reference is added as a <see
             cref="T:Aml.Engine.CAEX.SupportedRoleClassType"/> object.
             </summary>
             <param name="roleClassReference">
             The CAEX path referencing a RoleClass to be assigned to the SystemUnitClass.
             </param>
             <param name="addUnique">
             if set to <c>true</c> the reference is not added, if the same reference already exists.
             </param>
             <returns>The new added RoleClass reference, which is a SupportedRoleClass.</returns>
             <exception cref="T:System.ArgumentNullException">roleClassReference</exception>
             <example>
             This sample shows how to call the <see cref="M:Aml.Engine.CAEX.SystemUnitFamilyType.AddRoleClassReference(System.String,System.Boolean)"/>
             method using a standard RoleClass path defined in the <see cref="T:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib"/>
             <code>
            var mySlib = myDocument.CAEXFile.SystemUnitClassLib.Append ("mySlib");
            var mySuc = mySlib.SystemUnitClass.Append("mySuc");
            mySuc.AddRoleClassReference (AutomationMLBaseRoleClassLib.AutomationMLBaseRole);
             </code>
             </example>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.CAEXSequence(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
            Gets the CAEXSequence owned by this CAEX object, which contains the specified CAEX object.
            </summary>
            <param name="caexObject">
            The CAEX object, contained in a sequence, owned by this CAEX object.
            </param>
            <returns>
            The CAEX sequence or null, if no sequence exists, containing the specified CAEX object.
            </returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.Container``1">
            <inheritdoc/>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.CreateClassInstance">
            <summary>
            Creates an InternalElement as an instance of this class. All References to Base classes
            are resolved.
            </summary>
            <remarks>
            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.
            </remarks>
            <returns>The InternalElement</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.Aml#Engine#CAEX#IInstantiable#CreateClassInstance">
            <summary>
            Creates an InternalElement as an instance of this class. All References to Base classes
            are resolved.
            </summary>
            <returns>CAEXWrapper for the InternalElement</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.GetEnumerator">
            <summary>
            Gets the Enumerator for the enumeration of the <see cref="P:Aml.Engine.CAEX.SystemUnitFamilyType.SystemUnitClass"/> field.
            </summary>
            <returns>An enumerator that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets the Enumerator for the enumeration of the <see cref="P:Aml.Engine.CAEX.SystemUnitFamilyType.SystemUnitClass"/> field.
            </summary>
            <returns>An enumerator that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.GetInheritedSupportedRoles">
            <summary>
            Gets a collection of SupportedRoleClasses objects of this SystemUnitClass and of all
            inherited BaseClasses. Duplicates are removed from the result.
            </summary>
            <returns>A collection of SupportedRoleClass objects for this instance and its BaseClasses.</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.GetReferencedSystemUnitClass(System.String)">
            <summary>
            Getting a referenced SystemUnitClass.
            </summary>
            <param name="systemUnitClassReference">Full path to a SystemUnitClass</param>
            <returns>The referenced SystemUnitClass</returns>
            <exception cref="T:System.ArgumentNullException">systemUnitClassReference</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.GetReferenceHierarchy">
            <summary>
            Gets the reference (Inheritance) hierarchy including this instance in an ordered
            sequence of ancestors.
            </summary>
            <returns>Collection of base classes</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.GetReferenceHierarchy``1">
            <summary>
            Gets the reference (Inheritance) hierarchy including this instance in an ordered
            sequence of ancestors.
            </summary>
            <typeparam name="T">Type of the CAEX class in the hierarchy.</typeparam>
            <returns>a queue of ancestors. this instance is first in the queue</returns>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.HasGenericRoleClassReference(Aml.Engine.CAEX.RoleFamilyType)">
            <summary>
            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 <c>false</c>.
            </summary>
            <param name="roleClass">The RoleClass object.</param>
            <returns>
            <c>true</c> if this SystemUnitFamilyType object has an associated RoleClass reference
            which is a generalization of the specified RoleClass (the RoleClass is more specific);
            otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.HasGenericRoleClassReference(Aml.Engine.CAEX.RoleRequirementsType)">
            <summary>
            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 <c>false</c>.
            </summary>
            <param name="roleReference">The RoleReference object.</param>
            <returns>
            <c>true</c> if this SystemUnitFamilyType object has an associated SupportedRoleClass
            reference which is a generalization of the specified RoleClass (the RoleClass is more
            specific); otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.HasRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean)">
             <summary>
             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 <paramref
             name="regardInheritanceOfRoleClasses"/> value, always the Role assignments to this
             SystemUnitClass and any ancestors of this SystemUnitClass are checked, using the <see
             cref="M:Aml.Engine.CAEX.SystemUnitFamilyType.GetInheritedSupportedRoles"/> method.
             </summary>
             <param name="roleClass">The RoleClass object.</param>
             <param name="regardInheritanceOfRoleClasses">
             if set to <c>true</c> inheritance relations are regarded (default is <c>false</c>).
             </param>
             <returns>
             <c>true</c> if this SystemUnitClass object has a SupportedRoleClass with a reference to
             the specified RoleClass; otherwise, <c>false</c>.
             </returns>
             <exception cref="T:System.ArgumentNullException">roleClass</exception>
             <example>
             This sample shows how to call the <see cref="M:Aml.Engine.CAEX.SystemUnitFamilyType.HasRoleClassReference(Aml.Engine.CAEX.RoleFamilyType,System.Boolean)"/> method using a standard base RoleClass from the <see cref="M:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLibType.RoleClassLib(Aml.Engine.CAEX.CAEXDocument)"/>
             <code>
            var amlBaseRoleClassLib = AutomationMLBaseRoleClassLibType.RoleClassLib (myDocument);
            SystemUnitFamilyType systemUnitClass;
            ...
            systemUnitClass.HasRoleClassReference (amlBaseRoleClassLib.AutomationMLBaseRole);
             </code>
             </example>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.HasRoleClassReference(System.String,System.Boolean)">
             <summary>
             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.
             </summary>
             <param name="roleClassReference">The CAEX path to a RoleClass object.</param>
             <param name="regardInheritance">
             if set to <c>true</c> inheritance relations are regarded (default is <c>false</c>).
             </param>
             <returns>
             <c>true</c> if this SystemUnitClass object has a SupportedRoleClass with the specified
             CAEX path reference.
             </returns>
             <exception cref="T:System.ArgumentNullException">roleClass</exception>
             <example>
             This sample shows how to call the <see cref="M:Aml.Engine.CAEX.SystemUnitFamilyType.HasRoleClassReference(System.String,System.Boolean)"/>
             method using a standard base RoleClass path from the <see cref="T:Aml.Engine.AmlObjects.AutomationMLBaseRoleClassLib"/>
             <code>
            SystemUnitFamilyType systemUnitClass;
            ...
            systemUnitClass.HasRoleReference (AutomationMLBaseRoleClassLib.AutomationMLBaseRole);
             </code>
             </example>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.Insert(Aml.Engine.CAEX.CAEXWrapper,System.Boolean)">
            <summary>
            Inserts the specified CAEX object in it's associated sequence. The SystemUnitFamilyType
            defines the <see cref="P:Aml.Engine.CAEX.SystemUnitFamilyType.SystemUnitClass"/> sequence.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="asFirst">
            if set to <c>true</c> it is inserted as the first item in its associated sequence.
            </param>
            <returns>
            <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
            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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.Insert(System.Int32,Aml.Engine.CAEX.CAEXWrapper)">
            <summary>
            Inserts the specified CAEX object in it's associated sequence. The SystemUnitFamilyType
            defines the <see cref="P:Aml.Engine.CAEX.SystemUnitFamilyType.SystemUnitClass"/> sequence.
            </summary>
            <param name="pos"></param>
            <param name="caexObject">The CAEX object.</param>
            <returns>
            <c>true</c>, 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 <c>false</c>.
            </returns>
            <remarks>
            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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.CAEX.SystemUnitFamilyType.ReplaceRoleClassReference(Aml.Engine.CAEX.RoleFamilyType)">
            <summary>
            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.
            </summary>
            <param name="roleClass">The role class.</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException">roleClass</exception>
        </member>
        <member name="T:Aml.Engine.Resources.NamespaceDoc">
            <summary>
                The Aml.Engine.Resources Namespace gives public access to the XSD Datatype resource strings.
            </summary>
        </member>
        <member name="T:Aml.Engine.Resources.XsdDataTypes">
            <summary>
              Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.ResourceManager">
            <summary>
              Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.Culture">
            <summary>
              Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
              Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.AnyURIType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:anyURI ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.Base64BinaryType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:base64Binary ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.BooleanType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:boolean ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.ByteType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:byte ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.DateTimeType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:dateTime ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.DateType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:date ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.DecimalType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:decimal ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.DoubleType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:double ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.DurationType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:duration ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.ENTITIESType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:ENTITIES ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.ENTITYType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:ENTITY ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.FloatType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:float ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.GDayType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:gDay ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.GMonthDayType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:gMonthDay ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.GMonthType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:gMonth ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.GYearMonthType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:gYearMonth ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.GYearType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:gYear ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.HexBinaryType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:hexBinary ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.IDREFSType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:IDREFS ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.IDREFType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:IDREF ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.IDType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:ID ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.IntegerType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:integer ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.IntType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:int ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.LanguageType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:language ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.LongType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:long ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.NameType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:Name ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.NCNameType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:NCName ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.NegativeIntegerType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:negativeInteger ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.NMTOKENSType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:NMTOKENS ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.NMTOKENType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:NMTOKEN ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.NonNegativeIntegerType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:nonNegativeInteger ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.NonPositiveIntegerType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:nonPositiveInteger ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.NormalizedStringType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:normalizedString ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.PositiveIntegerType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:positiveInteger ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.QNameType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:QName ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.ShortType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:short ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.StringType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:string ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.TimeType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:time ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.TokenType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:token ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.UnsignedByteType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:unsignedByte ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.UnsignedIntType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:unsignedInt ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.UnsignedLongType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:unsignedLong ähnelt.
            </summary>
        </member>
        <member name="P:Aml.Engine.Resources.XsdDataTypes.UnsignedShortType">
            <summary>
              Sucht eine lokalisierte Zeichenfolge, die xs:unsignedShort ähnelt.
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.EmptyLookup`2">
            <summary>
                Extension class which provides an empty lookup table
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TElement">The type of the element.</typeparam>
        </member>
        <member name="P:Aml.Engine.Services.EmptyLookup`2.Instance">
            <summary>
                Gets the empty lookup table instance.
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.ISplitPoint">
            <summary>
                This interface is defined for all CAEXObjects to which a split point can be assigned. SplitPoints are
                allowed on <see cref="T:Aml.Engine.CAEX.InternalElementType" /> and <see cref="T:Aml.Engine.CAEX.CAEXLibrary`1" />.
            </summary>
            <seealso cref="T:Aml.Engine.CAEX.ICAEXWrapper" />
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IAMLService">
            <summary>
                This is the basic interface for an AML service. This interface has to be implemented
                by any AML service
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IXMLDocumentRegistry">
            <summary>
                This is a special interface for an AML service, which uses a registry to store data about an XML Document.
            </summary>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IXMLDocumentRegistry.RemoveDocument(Aml.Engine.XML.XDocumentWrapper)">
            <summary>
                Removes the document from the internal registry of the service.
            </summary>
            <param name="document">The XML document.</param>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IAutoUpdate">
            <summary>
                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).
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.IAutoUpdate.IsAutoUpdateEnabled">
            <summary>
                Gets or sets a value indicating whether this instance will automatically update
                cross references between AutomationML objects.
            </summary>
            <value>
                <c>true</c> if the automatic update is enabled; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="E:Aml.Engine.Services.Interfaces.IAutoUpdate.ReferenceUpdated">
            <summary>
                Occurs when any reference has been updated.
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.UpdateEventArgs">
            <summary>
                Event arguments used to inform about update events in the <see cref="T:Aml.Engine.Services.Interfaces.IAutoUpdate" /> service.
            </summary>
            <seealso cref="T:System.EventArgs" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.UpdateEventArgs.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XAttribute)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.Services.Interfaces.UpdateEventArgs" /> class.
            </summary>
            <param name="referencedElement">The referenced element.</param>
            <param name="reference">The reference.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.UpdateEventArgs.#ctor(System.Xml.Linq.XElement,System.Xml.Linq.XAttribute,System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.Services.Interfaces.UpdateEventArgs" /> class.
            </summary>
            <param name="referencedElement">The referenced element.</param>
            <param name="reference">The reference.</param>
            <param name="newValue">The updated new value for the reference</param>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.UpdateEventArgs.Reference">
            <summary>
                Gets the updated reference.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.UpdateEventArgs.UpdateValue">
            <summary>
                Gets the updated new value (used in changing event notifications, if the reference has not updated).
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.UpdateEventArgs.ReferencedElement">
            <summary>
                Gets the referenced element which is triggered by the update
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.ICAEXReference">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.ICAEXReference.CaexObject">
            <summary>
                Gets the CAEX object which owns the reference.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.ICAEXReference.ReferenceAttributeName">
            <summary>
                Gets the name of the reference attribute which contains the value of the reference.
                To get or set the attribute value the <see cref="M:Aml.Engine.CAEX.CAEXWrapper.SetXAttributeValue(System.Xml.Linq.XName,System.Object)" />
                an <see cref="M:Aml.Engine.CAEX.CAEXWrapper.GetXAttributeValue(System.Xml.Linq.XName)" /> methods can be used.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.ICAEXReference.ReferenceAttributeValue">
            <summary>
                Gets the reference attribute value.
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IExternalReferenceResolver.LoadOrGetReferencedDocument(Aml.Engine.CAEX.ExternalReferenceType)">
            <summary>
                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 <see cref="T:Aml.Engine.Services.Interfaces.IMerge" /> service to achieve this.
            </summary>
            <param name="externalReference">the external reference</param>
            <returns>
                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.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IExternalReferenceResolver.LoadOrGetReferencedDocument(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                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.
            </summary>
            <param name="document">The CAEX document.</param>
            <param name="path">The path.</param>
            <returns>
                the resolved document for the alias, extracted from the path.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IExternalReferenceResolver.ResolvedDocuments(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Gets all already resolved externals for the provided CAEXDocument containing ExternalReference objects
            </summary>
            <param name="documentWithExternals">The CAEX document containing ExternalRefrence objects.</param>
            <returns>
                An enumeration of all resolved documents.
            </returns>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IQuery">
            <summary>
              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 <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> service should be
              registered.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllClassReferences(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)">
            <summary>
                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
                <paramref name="elementName" /> is
                set, only classes with the defined element name are considered.
            </summary>
            <param name="document">The CAEX document which is searched through.</param>
            <param name="classPath">The class path.</param>
            <param name="elementName">
                Name of the element. Valid values are 'RoleClass', 'SystemUnitClass', 'InterfaceClass' and
                'AttributeType'.
            </param>
            <returns>An enumeration of all classes which use the identified class as a base class.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllClassReferences(Aml.Engine.CAEX.CAEXObject)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>An enumeration of all classes which use the provided CAEX object as a base class.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllClassReferencesDeep(Aml.Engine.CAEX.CAEXObject)">
            <summary>
                Gets all classes which have references to the provided CAEX object and their referencing classes (recursive).
                This method extends the <see cref="M:Aml.Engine.Services.Interfaces.IQuery.AllClassReferences(Aml.Engine.CAEX.CAEXObject)" /> and gets not only the directly
                derived classes of a base class but also the derived classes of these classes and further on.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>The derived classes tree for the specified base class.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllClassReferencesDeep(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)">
            <summary>
                Gets all classes which have references to the provided CAEX object and their referencing classes (recursive).
                This method extends the <see cref="M:Aml.Engine.Services.Interfaces.IQuery.AllClassReferences(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)" /> 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
                <paramref name="elementName" /> is
                set, only classes with the defined element name are considered.
            </summary>
            <param name="document">The CAEX document which is searched through.</param>
            <param name="classPath">The class path.</param>
            <param name="elementName">
                Name of the element. Valid values are 'RoleClass', 'SystemUnitClass', 'InterfaceClass' and
                'AttributeType'.
            </param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllElementsIdentifiedByCAEXPath(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                Lookup table of elements which are identifiable by a CAEX path.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllElementsWithAliasReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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 <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>Lookup table of elements with Alias references.  The Alias part of the CAEXPath is used as a dictionary key.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllElementsWithCAEXPathReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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 <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>
                Lookup table of elements with path references. The CAEXPath is used as a grouping key.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllElementsWithIDReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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 <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>Lookup table of elements with ID references.  The ID is used as a dictionary key.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllElementsWithIDs(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="ID">If an ID is specified, only elements with the defined ID are searched.</param>
            <returns>
                Lookup table of elements with IDs.  The ID is used as a dictionary key.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllElementsWithInternalLinks(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                A collection of all objects with associated InternalLinks.
            </returns>
            <remarks>
                Note the difference to the method <see cref="M:Aml.Engine.Services.Interfaces.IQuery.ElementsWithInternalLinkRelations(Aml.Engine.CAEX.CAEXBasicObject)" /> which doesn't return the
                owners of an InternalLink but the related elements.
            </remarks>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllElementsWithNameReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementName"></param>
            <returns>Lookup table of elements with name references. The name is used as a grouping key.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllExternalDataReferences(Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Returns all ExternalInterfaces in the provided document or optionally
                in the caexObject and descendants,  which are
                instances of the standard Interface class 
                <see cref="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.ExternalDataConnector" />.
            </summary>
            <param name="document">The document.</param>
            <param name="caexObject">Optional parameter, defining a possible start object for the query.</param>
            <returns>
                A collection of all ExternalInterface which are instances of the
                standard Interface class <see cref="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.ExternalDataConnector" />.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllExternalInterfacesOfType(Aml.Engine.CAEX.CAEXDocument,System.String,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                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 <paramref name="interfaceClassPath"/>.
            </summary>
            <param name="document">The document.</param>
            <param name="interfaceClassPath">The CAEX ClassPath of the InterfaceClassType</param>
            <param name="caexObject">Optional parameter, defining a possible start object for the query.</param>
            <returns>
                A collection of all ExternalInterface which are
                instances of the  Interface class defined by the provided <paramref name="interfaceClassPath"/>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AllInternalElementsWithInternalLinks(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Returns all InternalElements which are descendants of the provided CAEX object with InternalLinks.
                These elements are the owners of the InternalLink objects.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                A collection of all objects with associated InternalLinks.
            </returns>
            <remarks>
                Note the difference to the method <see cref="M:Aml.Engine.Services.Interfaces.IQuery.ElementsWithInternalLinkRelations(Aml.Engine.CAEX.CAEXBasicObject)" /> which doesn't return the
                owners of an InternalLink but the related elements.
            </remarks>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.AttributeMirrors(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Returns all Mirrors of the specified Attribute
            </summary>
            <param name="master">The master.</param>
            <returns>
                An enumeration of mirror Attribute objects
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.ElementsWithAliasReference(Aml.Engine.CAEX.CAEXBasicObject,System.String,System.String)">
            <summary>
                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
                <seealso cref="T:Aml.Engine.Services.Interfaces.ICAEXReference" />.
                If the <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="alias">The Alias.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>a collection of element references which use the provided Alias in a reference</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.ElementsWithCAEXPathReference(Aml.Engine.CAEX.CAEXBasicObject,System.String,System.String)">
            <summary>
                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
                <seealso cref="T:Aml.Engine.Services.Interfaces.ICAEXReference" />.
                If the <paramref name="elementName" /> is set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="caexPath">The path.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>a collection of element references which have a reference to the provided Path^.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.ElementsWithIDReference(Aml.Engine.CAEX.CAEXBasicObject,System.String,System.String)">
            <summary>
                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
                <seealso cref="T:Aml.Engine.Services.Interfaces.ICAEXReference" />.
                If the <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="ID">The identifier.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>a collection of element references which have a reference to the provided ID</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.ElementsWithInternalLinkRelations(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Returns all InternalElements and SystemUnitClasses which are descendants of the provided CAEX object,
                which are related to others via InternalLinks.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>A collection of related SystemUnitClass objects</returns>
            <remarks>
                Note the difference to the method <see cref="M:Aml.Engine.Services.Interfaces.IQuery.AllElementsWithInternalLinks(Aml.Engine.CAEX.CAEXBasicObject)" /> which doesn't return the
                related elements but the InternalLink owners.
            </remarks>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.ExternalInterfaceMirrors(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Returns all Mirrors of the specified ExternalInterface
            </summary>
            <param name="master">The master.</param>
            <returns>
                An enumeration of mirror ExternalInterface objects
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.FindByID(Aml.Engine.CAEX.CAEXDocument,System.String,System.Boolean)">
            <summary>
                Tries to locate a CAEX object from the specified ID.
                If the ID uses an alias reference and an <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> can be located,
                it is tried to resolve the external reference and to get the object from the external source.
            </summary>
            <param name="doc">The document.</param>
            <param name="id">The identifier.</param>
            <param name="resolveAlias">
                if set to <c>true</c> tries to resolve an alias reference with an ExternalReferenceResolver
                service.
            </param>
            <returns>
                The CAEX object if it is found; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.FindByPath(Aml.Engine.CAEX.CAEXDocument,System.String,System.Boolean)">
            <summary>
                Tries to locates a CAEX object from the specified CAEX - Path.
                If the path uses an alias reference and an <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> can be located,
                it is tried to resolve the external reference and to get the object from the external source.
            </summary>
            <param name="caexDocument">The document.</param>
            <param name="path">The path.</param>
            <param name="resolveAlias">
                if set to <c>true</c> tries to resolve an alias reference with an ExternalReferenceResolver
                service.
            </param>
            <returns>The CAEXObject if it is found; otherwise <c>null</c>.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.InterfacesWithInternalLinkRelations(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Returns all ExternalInterface objects which are descendants of the provided CAEX object
                and are used in relations (InternalLinks).
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>A collection of related ExternalInterface objects</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.InternalElementMirrors(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Returns all Mirrors of the specified InternalElement
            </summary>
            <param name="master">The master.</param>
            <returns>
                An enumeration of mirror InternalElements.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.InternalLinksToElement(Aml.Engine.CAEX.SystemUnitClassType)">
            <summary>
                Gets all InternalLinks that reference the specified InternalElement or SystemUnitClass.
            </summary>
            <param name="systemUnitClass">The InternalElement or SystemUnitClass.</param>
            <returns>a collection of InternalLinks.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.InternalLinksToInterface(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Gets all InternalLinks that reference the specified ExternalInterface.
            </summary>
            <param name="externalInterface">The ExternalInterface.</param>
            <returns>a collection of InternalLinks.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.IsMaster(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the specified InternalElement is referenced by other InternalElement
                objects called 'Mirrors'.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a 'Master'-InternalElement; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.IsMaster(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Determines whether the specified ExternalInterface is referenced by other ExternalInterface
                objects called 'Mirrors'.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a 'Master'-ExternalInterface; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.IsMaster(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Determines whether the specified AttributeType is referenced by other AttributeType
                objects called 'Mirrors'.
            </summary>
            <param name="attribute">The attribute type</param>
            <returns>
                <c>true</c> if the specified element is a 'Master'-Attribute; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IQuery.IsReferenced(Aml.Engine.CAEX.CAEXObject)">
            <summary>
                Determines whether the specified CAEX object is referenced.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c> if the specified CAEX object is referenced; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IStatistic">
            <summary>
                This service interface is used to get statistic data from a CAEX document.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfAllObjects(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all objects (sum of all others with specific counts) and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all countable objects.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfAttributes(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all Attribute objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all attributes.</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfAttributeTypes(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all AttributeType objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all AttributeTypes</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfAttributeTypeReferences(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all AttributeType reference objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all AttributeTypes</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfInterfaceClasses(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all InterfaceClass objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all InterfaceClasses</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfInterfaceInstances(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all ExternalInterface objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all ExternalInterfaces</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfInternalElements(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all InternalElement objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all InternalElements</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfLinks(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all InternalLink objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all InternalLinks</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfRoleClasses(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all RoleClass objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all RoleClasses</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfRoleClassReferences(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all RoleClass reference objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all RoleClasses</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfSystemUnitClasses(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all SystemUnitClass objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all SystemUnitClasses</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IStatistic.NumberOfSystemUnitClassReferences(Aml.Engine.CAEX.CAEXFileType)">
            <summary>
                Counts all SystemUnitClass reference objects and returns the result.
            </summary>
            <param name="caexFile">The CAEX file.</param>
            <returns>Total number of all SystemUnitClasses</returns>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IUniqueName">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUniqueName.IsUniqueCAEXName(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element has a unique CAEX name in the sequence of equal elements
                of its parent.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the elements name is unique, otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUniqueName.RegisterDefault(System.String,System.String)">
            <summary>
                Registers a new default name for the generation of unique names for the specified element.
            </summary>
            <param name="elementTagName">The CAEX Tag name defining the elements which should get the default.</param>
            <param name="defaultName">The default name </param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUniqueName.Resume">
            <summary>
                Resumes activities of the unique name service.
            </summary>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUniqueName.Suspend">
            <summary>
                Suspends activities of the unique name service.
            </summary>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUniqueName.UniqueCAEXName(System.Xml.Linq.XElement,System.String)">
            <summary>
                Creates a unique CAEX Name for a child with the specified elementTagName in the specified sequence
            </summary>
            <param name="sequence">The sequence of elements.</param>
            <param name="elementTagName">Name of the element tag.</param>
            <returns>
                a unique name using the registered default extended with an added number, representing the maximal number
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUniqueName.UniqueCAEXName(System.Xml.Linq.XElement,System.String,System.String)">
            <summary>
                Creates a unique CAEX Name for a child with the specified elementTagName in the specified sequence using the
                specified
                defaultName
            </summary>
            <param name="sequence">The sequence.</param>
            <param name="elementTagName">Name of the element tag.</param>
            <param name="defaultName">The default name.</param>
            <returns>
                a unique name using the registered default extended with an added number, representing the maximal number
            </returns>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IValidationResult">
            <summary>
                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 <see cref="T:Aml.Engine.Services.Interfaces.IValidator`1" />
                service.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.IValidationResult.Element">
            <summary>
                Gets the element which has been validated.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.IValidationResult.RepairResult">
            <summary>
                Gets information about the result of a repair operation for one element.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.IValidationResult.ValidationInformation">
            <summary>
                Gets information about the validation of one element.
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IValidator">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IValidator.NameValidation(Aml.Engine.CAEX.CAEXObject,System.String)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="name">The name, which should be assigned to the object.</param>
            <returns>A value tuple, returning the validation result and a message</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IValidator.IDValidation(Aml.Engine.CAEX.CAEXObject,System.String)">
            <summary>
                Validates the ID of a CAEX object.  IDs of CAEX objects shall be unique.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="ID">
                The ID, which should be assigned to the object. If no ID is defined, the uniqueness of the already
                assigned ID is evaluated.
            </param>
            <returns>A value tuple, returning the validation result and a message</returns>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IValidator`1">
            <summary>
                This service interface is defined for the validation of an AML document. The type parameter
                of this generic interface defined the validation result type.
            </summary>
            <typeparam name="RESULTTYPE">The type of the validation result</typeparam>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IValidator" />
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAutoUpdate" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IValidator`1.Repair(`0)">
            <summary>
                Repairs the specified validated element.
            </summary>
            <param name="validation">
                The validated element.
            </param>
            <returns>
                <c>true</c> if the element has been repaired, <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IValidator`1.ValidateAll(Aml.Engine.CAEX.CAEXDocument,System.Boolean)">
            <summary>
                Get Validation Information for all elements in the specified document, which have validation issues. The
                <see cref="T:Aml.Engine.Services.Interfaces.IValidationResult" /> provides detailed information about available Repair
                Options and an additional Information Text.
            </summary>
            <param name="document">The CAEX document.</param>
            <param name="generateLongDescription">if set to <c>true</c> generate long description for each validation issue.</param>
            <returns>
                A collection of validation information for CAEX objects. One CAEX object may have multiple
                occurrences with different validation issues in this collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IValidator`1.ValidateAll(Aml.Engine.CAEX.CAEXDocument,Aml.Engine.AmlObjects.AutomationMLContainer,System.Boolean)">
            <summary>
                Get Validation Information for all elements in the specified document, which have validation issues. The
                <see cref="T:Aml.Engine.Services.Interfaces.IValidationResult" /> 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.
            </summary>
            <param name="document">The CAEX document.</param>
            <param name="container">The AutomationML container, containing the document source.</param>
            <param name="generateLongDescription">if set to <c>true</c> generate long description for each validation issue.</param>
            <returns>
                A collection of validation information for CAEX objects. One CAEX object may have multiple
                occurrences with different validation issues in this collection.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IValidator`1.ValidateAliasReferences(Aml.Engine.CAEX.CAEXDocument,System.Boolean)">
            <summary>
                Validates the alias references and returns the validation result describing possible repair options.  The
                <see cref="T:Aml.Engine.Services.Interfaces.IValidationResult" /> provides detailed information about available Repair
                Options and an additional Information Text.
            </summary>
            <param name="document">The CAEX document.</param>
            <param name="generateLongDescription">if set to <c>true</c> generate long description for each validation issue.</param>
            <returns></returns>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IMerge">
            <summary>
                This interface defines methods for a merge service. A merge service can merge
                ExternalReferences into an AML document.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IMerge.Merge(Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.ExternalReferenceType,System.String[]@,System.Boolean)">
            <summary>
                Merges the defined ExternalReference into the provided CAEXDocument. The source is loaded from the file path in the
                external reference.
            </summary>
            <param name="document">The document.</param>
            <param name="externalReference">The external reference.</param>
            <param name="mergeProtocol">The merge protocol.</param>
            <param name="autoTransform">if set to <c>true</c> the service performs a schema transformation if necessary.</param>
            <returns>
                <c>true</c>, if merge was successful
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IMerge.Merge(Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.ExternalReferenceType,System.IO.Stream,System.String[]@,System.Boolean)">
            <summary>
                Merges the defined ExternalReference into the provided CAEXDocument. The source is loaded from the provided
                external source stream.
            </summary>
            <param name="document">The document.</param>
            <param name="externalReference">The external reference.</param>
            <param name="externalSource">The external source stream.</param>
            <param name="mergeProtocol">The merge protocol.</param>
            <param name="autoTransform">if set to <c>true</c> the service performs a schema transformation if necessary.</param>
            <returns>
                <c>true</c>, if merge was successful
            </returns>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.ISplit">
            <summary>
                This interface defines the service interface for a split service. A split service
                is able to split one <see cref="T:Aml.Engine.CAEX.CAEXDocument" /> into multiple files using split points.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.ISplit.RemoveSplitPoint(Aml.Engine.Services.Interfaces.ISplitPoint)">
            <summary>
                Removes the split point for the provided CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.ISplit.SetSplitPoint(Aml.Engine.Services.Interfaces.ISplitPoint)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.ISplit.Split(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="document">The document.</param>
            <param name="alias">The alias name used to define the ExternalReference.</param>
            <param name="filePath">The file path to the saved Split parts.</param>
            <returns>The CAEX document containing the split parts. </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.ISplit.Split(Aml.Engine.CAEX.CAEXDocument,Aml.Engine.Services.Interfaces.ISplitPoint,System.String,System.String)">
            <summary>
                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.
            </summary>
            <param name="document">The document.</param>
            <param name="splitPoint">The split point defining the split content.</param>
            <param name="alias">The alias name used to define the ExternalReference.</param>
            <param name="filePath">The file path to the saved Split parts.</param>
            <returns>The CAEX document containing the splitted part. </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.ISplit.SplitPoints(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Gets a collection of all split points for the provided document.
            </summary>
            <param name="document">The document.</param>
            <returns>all split points for this document.</returns>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.ISchemaTransform">
            <summary>
                This interface class defines a service interface for a schema transformation service
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.ISchemaTransform.TransformTo(Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Method to do a schema transformation for the provided document to the defined schema.
                This method can be used for upward and downward transformations.
            </summary>
            <param name="document">the document to be transformed</param>
            <param name="targetSchema">the target schema</param>
            <returns>the transformed document</returns>
        </member>
        <member name="E:Aml.Engine.Services.Interfaces.ISchemaTransform.TransformationEnded">
            <summary>
                Raised from the ShemaTransform service when a transformation has ended.
            </summary>
        </member>
        <member name="E:Aml.Engine.Services.Interfaces.ISchemaTransform.TransformationStarted">
            <summary>
                Raised from the ShemaTransform service when a transformation has started.
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.SchemaTransformationEventArgs">
            <summary>
                Event arguments for schema transformation events
            </summary>
            <seealso cref="T:System.EventArgs" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.SchemaTransformationEventArgs.#ctor(Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.CAEXDocument.CAEXSchema)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.Services.Interfaces.SchemaTransformationEventArgs" /> class.
            </summary>
            <param name="sourceDocument">The source document.</param>
            <param name="targetSchema">The target schema.</param>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.SchemaTransformationEventArgs.SourceDocument">
            <summary>
                Gets the source document.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.SchemaTransformationEventArgs.TargetDocument">
            <summary>
                Gets or sets the target document.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.Interfaces.SchemaTransformationEventArgs.TargetSchema">
            <summary>
                Gets the target schema.
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.Interfaces.IUndoRedo">
            <summary>
                The UndoRedo service supports undo and redo of all changes made to a CAEXDocument.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IAMLService" />
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.BeginTransaction(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                Begins a new transaction. All changes, made to a CAEXDocument inside a transaction are treated as a single
                operation.
            </summary>
            <param name="document">The CAEX document to which the transaction should be associated.</param>
            <param name="name">A friendly name for this transaction.</param>
            <returns>If the transaction started</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.CanRedo(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Determines, if the service can redo a command
            </summary>
            <param name="document">The document.</param>
            <returns>
                <c>true</c> if this instance can redo the specified document; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.CanUndo(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Determines, if the service can undo a command
            </summary>
            <param name="document">The document.</param>
            <returns>
                <c>true</c> if this instance can undo the specified document; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.ClearStacks(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Clears the undo and redo stacks.
            </summary>
            <param name="document">The document.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.EndTransaction(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Ends the current transaction.
            </summary>
            <param name="document">The document.</param>
            <returns>If the transaction ended</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.LastModificationDate(Aml.Engine.CAEX.CAEXDocument,System.Boolean)">
            <summary>
                Gets the date of the most recently executed command for the specified document.
            </summary>
            <param name="document">The document.</param>
            <param name="undo">
                if set to <c>true</c> the date of the last undo operation is returned;
                otherwise the date of the last redo operation.
            </param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.Pause(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Request to not record changes of the specified document. If the recording of document changes is
                paused the <see cref="M:Aml.Engine.Services.Interfaces.IUndoRedo.Undo(Aml.Engine.CAEX.CAEXDocument)" /> and <see cref="M:Aml.Engine.Services.Interfaces.IUndoRedo.Redo(Aml.Engine.CAEX.CAEXDocument)" /> methods can not be applied.
            </summary>
            <param name="document">The document.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.PushCommand(Aml.Engine.CAEX.Commands.ICAEXCommand)">
            <summary>
                A new command is pushed on the undo stack of this service.
            </summary>
            <param name="cmd">The command.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.Redo(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Redo the most recently operation, which was undone
            </summary>
            <param name="document">The document.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.RedoActions(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Gets all command names of the actions in the redo stack for the provided CAEX document.
            </summary>
            <param name="document">The document.</param>
            <returns>List of command names</returns>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.Resume(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Request to resume recording changes of the specified document.
            </summary>
            <param name="document">The document.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.Undo(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Undo of the last operation
            </summary>
            <param name="document">The document.</param>
        </member>
        <member name="M:Aml.Engine.Services.Interfaces.IUndoRedo.UndoActions(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Gets all command names of the actions in the undo stack for the provided CAEX document.
            </summary>
            <param name="document">The document.</param>
            <returns>List of command names</returns>
        </member>
        <member name="T:Aml.Engine.Services.CAEXReference">
            <summary>
                This class is used in queries to provide information about objects, which contain references to other objects.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.ICAEXReference" />
        </member>
        <member name="M:Aml.Engine.Services.CAEXReference.#ctor(System.Xml.Linq.XElement,System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.Services.CAEXReference" /> class.
            </summary>
            <param name="element">The element.</param>
            <param name="referenceAttributeName">Name of the reference attribute.</param>
        </member>
        <member name="P:Aml.Engine.Services.CAEXReference.CaexObject">
            <summary>
                Gets the CAEX object which contains the reference.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.CAEXReference.Element">
            <summary>
                Gets the XML element, which contains the reference.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.CAEXReference.ReferenceAttributeName">
            <summary>
                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 <see cref="M:Aml.Engine.CAEX.CAEXWrapper.SetXAttributeValue(System.Xml.Linq.XName,System.Object)" />
                and <see cref="M:Aml.Engine.CAEX.CAEXWrapper.GetXAttributeValue(System.Xml.Linq.XName)" /> methods can be used.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.CAEXReference.ReferenceAttributeValue">
            <summary>
                Gets the reference attribute value.
            </summary>
        </member>
        <member name="T:Aml.Engine.Services.QueryResult">
            <summary>
                This class supports the interpretation of the queryResult table which is the result of some queries, defined in
                <see cref="T:Aml.Engine.Services.Interfaces.IQuery" />
            </summary>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllCaexObjects(System.Linq.ILookup{System.String,Aml.Engine.Services.Interfaces.ICAEXReference})">
            <summary>
                Gets the CAEX objects  from the query result.
            </summary>
            <param name="queryResult">The queryResult.</param>
            <returns>An enumeration of all CAEX objects in the query result.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllElementsIdentifiedByCAEXPath(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <param name="doc">The document.</param>
            <returns>
                Groups of elements which are identifiable by a CAEX path.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllElementsWithAliasReference(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <param name="doc">The document.</param>
            <returns>group of elements with Alias references.  The Alias part of the CAEXPath is used as a group key.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllElementsWithCAEXPathReference(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <param name="doc">The document.</param>
            <returns>group of elements with path references. The CAEXPath is used as a group key.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllElementsWithIDReference(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <param name="doc">The document.</param>
            <returns>group of elements with ID references.  The ID is used as a group key.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllElementsWithIDs(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Gets all the elements with IDs. Elements using the same ID are grouped together.
                Use this method to validate the uniqueness of IDs.
            </summary>
            <param name="doc">The document.</param>
            <returns>group of elements with IDs.  The ID is used as a group key.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllElementsWithNameReference(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                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.
            </summary>
            <param name="doc">The document.</param>
            <returns>group of elements with path references. The CAEXPath is used as a group key.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllInternalElementMasters(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Gets all InternalElement objects from the document which are masters.
            </summary>
            <param name="doc">The document.</param>
            <returns>An enumeration of all InternalElement objects which are InternalElement master objects.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.AllInternalElementMirrors(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Gets all InternalElement objects from the document which are mirrors.
            </summary>
            <param name="doc">The document.</param>
            <returns>An enumeration of all InternalElement mirror objects.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.CaexObjectsOfType``1(System.Linq.ILookup{System.String,Aml.Engine.Services.Interfaces.ICAEXReference})">
            <summary>
                Gets the CAEX objects of the specified type from the query result.
            </summary>
            <typeparam name="T">Type of the required CAEX object.</typeparam>
            <param name="queryResult">The queryResult.</param>
            <returns>
                An enumeration of all CAEX objects of the specified type in the query result.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.ElementsWithAliasReference(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                Gets alls the elements from the document which use the provided Alias in a reference
            </summary>
            <param name="doc">The document.</param>
            <param name="alias">The Alias.</param>
            <returns>
                A collection of elements which use the provided Alias in a reference
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.ElementsWithCAEXPathReference(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                Gets alls the elements from the document which have a reference to the provided Path.
            </summary>
            <param name="doc">The document.</param>
            <param name="path">The path.</param>
            <returns>
                a collection of elements which have a reference to the provided Path
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.ElementsWithIDReference(Aml.Engine.CAEX.CAEXDocument,System.String)">
            <summary>
                Gets alls the elements from the document which have a reference to the provided ID.
            </summary>
            <param name="doc">The document.</param>
            <param name="ID">The identifier.</param>
            <returns>
                a collection of elements which have a reference to the provided ID
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.ElementsWithInternalLinkRelations(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Returns all InternalElements and SystemUnitClasses in the defined Document, which are related to others
                via InternalLinks.
            </summary>
            <param name="doc">the Document</param>
            <returns>A collection of related SystemUnitClass objects</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.ExternalInterfaces(System.Linq.ILookup{System.String,Aml.Engine.Services.Interfaces.ICAEXReference})">
            <summary>
                Gets the ExternalInterface objects from the query result.
            </summary>
            <param name="queryResult">The queryResult.</param>
            <returns>An enumeration of all ExternalInterface objects in the query result.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.InternalElementMirrors(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Returns all Mirrors of the specified InternalElement.
            </summary>
            <param name="master">The master.</param>
            <returns>
                An enumeration of mirror InternalElements.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.InternalElements(System.Linq.ILookup{System.String,Aml.Engine.Services.Interfaces.ICAEXReference})">
            <summary>
                Gets the InternalElement objects from the query result.
            </summary>
            <param name="queryResult">The queryResult.</param>
            <returns>An enumeration of all InternalElement objects in the query result.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.InternalLinks(System.Linq.ILookup{System.String,Aml.Engine.Services.Interfaces.ICAEXReference})">
            <summary>
                Gets the InternalLink objects from the query result.
            </summary>
            <param name="queryResult">The queryResult.</param>
            <returns>An enumeration of all InternalLink objects in the query result.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.InternalLinksToElement(Aml.Engine.CAEX.SystemUnitClassType)">
            <summary>
                Gets all InternalLink referencing the provided SystemUnitClass object.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object.</param>
            <returns>
                An enumeration of all InternalLink objects referencing the provided SystemUnitClass.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.InternalLinksToInterface(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Gets all InternalLinks that reference the specified ExternalInterface.
            </summary>
            <param name="externalInterface">The ExternalInterface.</param>
            <returns>a collection of InternalLinks.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryResult.ReferencesWithName(System.Linq.ILookup{System.String,Aml.Engine.Services.Interfaces.ICAEXReference},System.String)">
            <summary>
                Gets all the references with the provided name from the query result.
            </summary>
            <param name="queryResult">The queryResult.</param>
            <param name="name">The name.</param>
            <returns>An enumeration of all references with the provided name in the query result.</returns>
        </member>
        <member name="T:Aml.Engine.Services.QueryService">
            <summary>
                This class defines the default query service for a <see cref="T:Aml.Engine.CAEX.CAEXDocument" />.
                The query methods of this service are based on System.Xml.Linq and System.Xml.XPath.
            </summary>
            <seealso cref="T:Aml.Engine.Services.Interfaces.IQuery" />
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllClassReferences(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)">
            <summary>
                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
                <paramref name="elementName" /> is
                set, only classes with the defined element name are considered.
            </summary>
            <param name="document">The CAEX document which is searched through.</param>
            <param name="classPath">The class path.</param>
            <param name="elementName">
                Name of the element. Valid values are 'RoleClass', 'SystemUnitClass', 'InterfaceClass' and
                'AttributeType'.
            </param>
            <returns>
                An enumeration of all classes which use the identified class as a base class.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllClassReferences(Aml.Engine.CAEX.CAEXObject)">
            <summary>
                Gets all classes which have references to the provided CAEX object.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllClassReferencesDeep(Aml.Engine.CAEX.CAEXObject)">
            <summary>
                Gets all classes which have references to the provided CAEX object and their referencing classes (recursive)
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllClassReferencesDeep(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)">
            <summary>
            Gets all classes which have references to the provided CAEX object and their referencing classes (recursive).
            This method extends the <see cref="M:Aml.Engine.Services.QueryService.AllClassReferences(Aml.Engine.CAEX.CAEXDocument,System.String,System.String)" /> 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
            <paramref name="elementName" /> is
            set, only classes with the defined element name are considered.
            </summary>
            <param name="document">The CAEX document which is searched through.</param>
            <param name="classPath">The class path.</param>
            <param name="elementName">Name of the element. Valid values are 'RoleClass', 'SystemUnitClass', 'InterfaceClass' and
            'AttributeType'.</param>
            <returns></returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllElementsIdentifiedByCAEXPath(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                Groups of elements which are identifiable by a CAEX path.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllElementsWithAliasReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>
                group of elements with Alias references.  The Alias part of the CAEXPath is used as a group key.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllElementsWithCAEXPathReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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 <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>
                Lookup table of elements with path references. The CAEXPath is used as a grouping key.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllElementsWithIDReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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 <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>
                Lookup table of elements with ID references.  The ID is used as a dictionary key.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllElementsWithIDs(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="ID">If an ID is specified, only elements with the defined ID are searched.</param>
            <returns>
                Lookup table of elements with IDs.  The ID is used as a group key.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllElementsWithInternalLinks(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object</param>
            <returns>
                A collection of all objects with associated InternalLinks.
            </returns>
            <remarks>
                Note the difference to the method <see cref="M:Aml.Engine.Services.QueryService.ElementsWithInternalLinkRelations(Aml.Engine.CAEX.CAEXBasicObject)" /> which doesn't return the
                owners of an InternalLink but the related elements.
            </remarks>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllElementsWithNameReference(Aml.Engine.CAEX.CAEXBasicObject,System.String)">
            <summary>
                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.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="elementName"></param>
            <returns>
                Lookup table of elements with name references. The name is used as a grouping key.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllExternalDataReferences(Aml.Engine.CAEX.CAEXDocument,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
            Returns all ExternalInterfaces in the provided document or optionally
            in the caexObject and descendants,  which are
            instances of the standard Interface class
            <see cref="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.ExternalDataConnector" />.
            </summary>
            <param name="document">The document.</param>
            <param name="caexObject">Optional parameter, defining a possible start object for the query.</param>
            <returns>
            A collection of all ExternalInterface which are instances of the
            standard Interface class <see cref="F:Aml.Engine.AmlObjects.AutomationMLInterfaceClassLib.ExternalDataConnector" />.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllExternalInterfacesOfType(Aml.Engine.CAEX.CAEXDocument,System.String,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
            Returns all ExternalInterfaces which are
            instances of the  Interface class defined by the provided <paramref name="interfaceClassPath" />.
            </summary>
            <param name="document">The document.</param>
            <param name="interfaceClassPath">The CAEX ClassPath of the InterfaceClassType</param>
            <param name="caexObject">Optional parameter. If set only descendants of this object are searched.</param>
            <returns>
            A collection of all ExternalInterface which are
            instances of the  Interface class defined by the provided <paramref name="interfaceClassPath" />.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AllInternalElementsWithInternalLinks(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Returns all InternalElements which are descendants of the provided CAEX object with InternalLinks.
                These elements are the owners of the InternalLink objects.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                A collection of all objects with associated InternalLinks.
            </returns>
            <remarks>
                Note the difference to the method <see cref="M:Aml.Engine.Services.QueryService.ElementsWithInternalLinkRelations(Aml.Engine.CAEX.CAEXBasicObject)" /> which doesn't return the
                owners of an InternalLink but the related elements.
            </remarks>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.AttributeMirrors(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Returns all Mirrors of the specified Attribute
            </summary>
            <param name="master">The master.</param>
            <returns>
                An enumeration of mirror Attribute objects
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.ElementsWithAliasReference(Aml.Engine.CAEX.CAEXBasicObject,System.String,System.String)">
            <summary>
                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
                <seealso cref="T:Aml.Engine.Services.Interfaces.ICAEXReference" />.
                If the <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="alias">The Alias.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>
                a collection of element references which use the provided Alias in a reference
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.ElementsWithCAEXPathReference(Aml.Engine.CAEX.CAEXBasicObject,System.String,System.String)">
            <summary>
                Gets alls the elements which are descendants of the provided CAEX object
                which have a reference to the provided CAEXPath.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="caexPath">The path.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>
                a collection of elements which have a reference to the provided Path
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.ElementsWithIDReference(Aml.Engine.CAEX.CAEXBasicObject,System.String,System.String)">
            <summary>
                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
                <seealso cref="T:Aml.Engine.Services.Interfaces.ICAEXReference" />.
                If the <paramref name="elementName" /> is
                set, only elements with the defined element name are considered.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <param name="ID">The identifier.</param>
            <param name="elementName">If parameter is set, only elements with the given element Name are considered.</param>
            <returns>
                a collection of element references which have a reference to the provided ID
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.ElementsWithInternalLinkRelations(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Returns all InternalElements and SystemUnitClasses which are descendants of the provided CAEX object,
                which are related to others via InternalLinks.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                A collection of related SystemUnitClass objects
            </returns>
            <remarks>
                Note the difference to the method <see cref="M:Aml.Engine.Services.QueryService.AllElementsWithInternalLinks(Aml.Engine.CAEX.CAEXBasicObject)" /> which doesn't return the
                related elements but the InternalLink owners.
            </remarks>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.ExternalInterfaceMirrors(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Returns all Mirrors of the specified ExternalInterface
            </summary>
            <param name="master">The master.</param>
            <returns>
                An enumeration of mirror ExternalInterface objects
            </returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.FindByID(Aml.Engine.CAEX.CAEXDocument,System.String,System.Boolean)">
            <summary>
                Finds the first element in the defined document, which ID is equal to the provided ID.
            </summary>
            <param name="doc">The XDocument</param>
            <param name="id">The ID to look at</param>
            <param name="resolveAlias">
                if set to <c>true</c> tries to resolve an alias reference with an ExternalReferenceResolver
                service.
            </param>
            <returns>
                the CAEXObject or <c>null</c>, if no element with the specified ID could be found.
            </returns>
            <exception cref="T:System.ArgumentNullException">doc</exception>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.FindByPath(Aml.Engine.CAEX.CAEXDocument,System.String,System.Boolean)">
            <summary>
                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 <see cref="T:Aml.Engine.Services.Interfaces.IExternalReferenceResolver" /> service. If
                such a service
                is registered, the CAEXObject is tried to be found in the resolved document.
            </summary>
            <param name="caexDocument">The XDocument</param>
            <param name="path">The CAEXPath to look at</param>
            <param name="resolveAlias">if set to <c>true</c> [resolve alias].</param>
            <returns>
                the CAEXObject or <c>null</c>, if no element with the specified path could be found.
            </returns>
            <exception cref="T:System.ArgumentNullException">caexDocument</exception>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.InterfacesWithInternalLinkRelations(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Returns all ExternalInterface objects which are descendants of the provided CAEX object
                and are used in relations (InternalLinks).
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                A collection of related ExternalInterface objects
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.InternalElementMirrors(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Returns all Mirrors of the specified InternalElement
            </summary>
            <param name="master">The master.</param>
            <returns>
                An enumeration of mirror InternalElements
            </returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.InternalLinksToElement(Aml.Engine.CAEX.SystemUnitClassType)">
            <summary>
                Gets all InternalLink objects referencing the provided SystemUnitClass object via an external interface attached to
                the SystemUnitClass.
            </summary>
            <param name="systemUnitClass">The SystemUnitClass object</param>
            <returns>An enumeration of InternalLinks.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.InternalLinksToInterface(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Gets all InternalLinks that reference the specified ExternalInterface.
            </summary>
            <param name="externalInterface">The ExternalInterface.</param>
            <returns>a collection of InternalLinks.</returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.IsMaster(Aml.Engine.CAEX.InternalElementType)">
            <summary>
                Determines whether the specified InternalElement is referenced by other InternalElement
                objects called 'Mirrors'.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a 'Master'-InternalElement; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.IsMaster(Aml.Engine.CAEX.ExternalInterfaceType)">
            <summary>
                Determines whether the specified ExternalInterface is referenced by other ExternalInterface
                objects called 'Mirrors'.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a 'Master'-ExternalInterface; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.IsMaster(Aml.Engine.CAEX.AttributeType)">
            <summary>
                Determines whether the specified attribute is a master attribute.
            </summary>
            <param name="attribute">The attribute.</param>
            <returns>
                <c>true</c> if the specified attribute is master; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Services.QueryService.IsReferenced(Aml.Engine.CAEX.CAEXObject)">
            <summary>
                Determines whether the specified CAEX object is referenced.
            </summary>
            <param name="caexObject">The CAEX object.</param>
            <returns>
                <c>true</c> if the specified CAEX object is referenced; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:Aml.Engine.Services.ServiceLocator">
            <summary>
                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 <see cref="T:Aml.Engine.Services.Interfaces.IAMLService" /> interface.
            </summary>
        </member>
        <member name="M:Aml.Engine.Services.ServiceLocator.#cctor">
            <summary>
                Initializes the <see cref="T:Aml.Engine.Services.ServiceLocator" /> class and registers the default service.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.ServiceLocator.QueryService">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.ServiceLocator.UndoRedoService">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.ServiceLocator.UniqueNameService">
            <summary>
                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.
            </summary>
        </member>
        <member name="P:Aml.Engine.Services.ServiceLocator.AutoUpdateService">
            <summary>
                Gets the automatic update service.
            </summary>
        </member>
        <member name="M:Aml.Engine.Services.ServiceLocator.GetService``1">
            <summary>
                Gets a service for the provided service interface
            </summary>
            <typeparam name="T"></typeparam>
            <returns>The located service.</returns>
        </member>
        <member name="M:Aml.Engine.Services.ServiceLocator.Register``1(``0)">
            <summary>
                Registers a service which will be locatable
            </summary>
            <typeparam name="T">The service type.</typeparam>
            <param name="service">The service.</param>
        </member>
        <member name="M:Aml.Engine.Services.ServiceLocator.UnRegister``1">
            <summary>
                Unregisters a service of this type which will afterwards no more locatable
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:Aml.Engine.Schema.AMLSchemaManager">
            <summary>
                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.
            </summary>
        </member>
        <member name="F:Aml.Engine.Schema.AMLSchemaManager.ResourcePath">
            <summary>
                Defines the resource path of the assembly
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager.#ctor(System.IO.Stream,System.String)">
            <inheritdoc />
            <summary>
                Constructor for schema manager
            </summary>
            <param name="stream">Schema stream</param>
            <param name="namespaceUri">Namespace path</param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager.MakeAml(System.Xml.Linq.XElement)">
            <summary>
                The specified node is checked, and made to an AML object, if additional
                properties and values are defined for this node.
            </summary>
            <param name="xmlNode">The XML node.</param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager.AddUUID(System.Xml.Linq.XElement)">
            <summary>
                The node gets a UUID
            </summary>
            <param name="node"></param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager.CreateElement(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean)">
            <summary>
                Method overrides the <see cref="M:Aml.Engine.Schema.XmlSchemaManager.CreateElement(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean)" />.
                The created node is made to an AML node.
            </summary>
            <param name="parentName">Name of the child's parent</param>
            <param name="childName">Name of the child</param>
            <param name="allAttributes">
                optional parameter to define, that not only required attributes, but all
                possible attributes should be created.
            </param>
            <returns>
                The created XML node.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager.SetSchemaVersion(System.Xml.Linq.XElement)">
            <summary>
                Sets the schema version.
            </summary>
            <param name="node">The node.</param>
        </member>
        <member name="T:Aml.Engine.Schema.AMLSchemaManager2_15">
            <summary>
                Singleton Class: Schema manager for CAEX-Schema Version 2.15 used in AutomationML
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager2_15.#ctor(System.IO.Stream)">
            <summary>
                Singleton private constructor reads the schema from an embedded resource stream
            </summary>
            <param name="stream"></param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager2_15.SetSchemaVersion(System.Xml.Linq.XElement)">
            <inheritdoc />
            <summary>
                Sets the schema version.
            </summary>
            <param name="node">The node.</param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager2_15.MakeAml(System.Xml.Linq.XElement)">
            <summary>
                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
            </summary>
            <param name="node"></param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager2_15.CreateInstance">
            <summary>
                creates the singleton instance of the Schema manager
            </summary>
            <returns>Instance of AMLSchemaManager2_15</returns>
        </member>
        <member name="P:Aml.Engine.Schema.AMLSchemaManager2_15.Instance">
            <summary>
                Gets the static default SchemaManager Instance for the CAEX-Schema Version 2.15 used in AutomationML
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.AMLSchemaManager2_15.SchemaLocation">
            <inheritdoc />
            <summary>
                SchemaLocation attribute defining noNamespaceSchemaLocation
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager2_15.AdjustCAEXFileToSchema(System.Xml.Linq.XElement)">
            <summary>
                This method will adjust the provided CAEXFile element to this schema instance.
                The method can be used in a schema transformation.
            </summary>
            <param name="caexFileNode"></param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager2_15.AdjustNameToSchema(System.Xml.Linq.XElement)">
            <summary>
                Adjusts the name of the provided XML element and the names of the elements attributes to schema.
            </summary>
            <param name="element">The element.</param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager2_15.ExtractSchemaToFile(System.String)">
            <summary>
                Extracts the schema from the embedded resource and writes it to a file in the specified folder
            </summary>
            <param name="folderPath">The folder path.</param>
            <returns>Returns the name of the created file or <c>null</c>, 
            if user has no access rights to the folder.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager2_15.SetSchemaLocation(System.Xml.Linq.XElement,System.String)">
            <summary>
                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.
            </summary>
            <param name="root">The Document root</param>
            <param name="folderPath">Folder Path for schema extraction</param>
        </member>
        <member name="T:Aml.Engine.Schema.AMLSchemaManager3_0">
            <summary>
                Singleton Class: Schema manager for CAEX-Schema Version 3.0 used in AutomationML
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager3_0.#ctor(System.IO.Stream)">
            <summary>
                Singleton private constructor reads the schema from an embedded resource stream
            </summary>
            <param name="stream"></param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager3_0.SetSchemaVersion(System.Xml.Linq.XElement)">
            <summary>
                Sets the schema version.
            </summary>
            <param name="node">The node.</param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager3_0.MakeAml(System.Xml.Linq.XElement)">
            <summary>
                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
            </summary>
            <param name="node"></param>
        </member>
        <member name="P:Aml.Engine.Schema.AMLSchemaManager3_0.CAEXNamespace">
            <summary>
                Gets the Namespace defined for CAEX Version 3.0. The Namespace name is
                <see href="http://www.dke.de/CAEX">http://www.dke.de/CAEX</see>.
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.AMLSchemaManager3_0.Instance">
            <summary>
                Gets the static default SchemaManager Instance for the CAEX-Schema Version 3.0 used in AutomationML
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.AMLSchemaManager3_0.SchemaLocation">
            <summary>
                Gets the SchemaLocation attribute
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager3_0.AdjustCAEXFileToSchema(System.Xml.Linq.XElement)">
            <summary>
                This method will adjust the provided CAEXFile element to this schema instance.
                The method can be used in a schema transformation.
            </summary>
            <param name="caexFileNode"></param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager3_0.AdjustNameToSchema(System.Xml.Linq.XElement)">
            <summary>
                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 <see cref="P:Aml.Engine.Schema.AMLSchemaManager3_0.CAEXNamespace" />
                to the element's name.
            </summary>
            <param name="element">The XML element.</param>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager3_0.ExtractSchemaToFile(System.String)">
            <summary>
                Extracts the schema from the embedded resource and writes it to a file in the specified folder
            </summary>
            <param name="folderPath"></param>
            <returns>Returns the name of the created file or <c>null</c>, if user has no access rights to the folder.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.AMLSchemaManager3_0.SetSchemaLocation(System.Xml.Linq.XElement,System.String)">
            <summary>
                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.
            </summary>
            <param name="root">The Document root</param>
            <param name="folderPath">Folder Path for schema extraction</param>
        </member>
        <member name="T:Aml.Engine.Schema.NamespaceDoc">
            <summary>
                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 <see cref="T:Aml.Engine.Schema.AMLSchemaManager2_15" />
                and
                CAEX version 3.0, which is <see cref="T:Aml.Engine.Schema.AMLSchemaManager3_0" />. 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.
            </summary>
        </member>
        <member name="T:Aml.Engine.Schema.XmlSchemaElementInfo">
            <summary>
                This class defined methods and properties to access schema information for a schema element.
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaElementInfo.#ctor(System.Xml.Schema.XmlSchemaElement)">
            <summary>
                creates an instance for the defines schema element
            </summary>
            <param name="schemaElement">The schema element.</param>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaElementInfo.AllAttributes">
            <summary>
                Gets the schema elements for all attributes of this instance
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaElementInfo.Choices">
            <summary>
                Gets the names for all choices defined for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaElementInfo.MaxOccurrence">
            <summary>
                Gets the maximum occurrence.
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaElementInfo.Optional">
            <summary>
                Gets the names for all optional elements defined for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaElementInfo.Required">
            <summary>
                Gets the names for all required elements defined for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaElementInfo.RequiredAttributes">
            <summary>
                Gets the names for all required attributes defined for this instance.
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaElementInfo.SchemaElement">
            <summary>
                Gets the defining schema element for this instance
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaElementInfo.WithoutChoice">
            <summary>
                Gets the names of all elements in this instance which don't provide choices
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaElementInfo.SetInfo(System.Xml.Linq.XNamespace)">
            <summary>
                Sets the schema information for this instance and the provided namespace
            </summary>
            <param name="ns"></param>
        </member>
        <member name="T:Aml.Engine.Schema.XmlSchemaManager">
            <summary>
                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.
            </summary>
        </member>
        <member name="F:Aml.Engine.Schema.XmlSchemaManager.Elements">
            <summary>
                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)
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.#ctor(System.IO.Stream,System.Xml.Linq.XNamespace)">
            <summary>
                Create an instance of the schema manager for the given schema. The Schema
                is compiled and parsed
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaManager.Schema">
            <summary>
                the parsed Xml-Schema
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.XmlSchemaInfo(System.Xml.Linq.XName,System.Xml.Linq.XName,Aml.Engine.Schema.XmlSchemaElementInfo@)">
            <summary>
                Registered schema information about an element
            </summary>
            <param name="p">The p.</param>
            <param name="c">The c.</param>
            <param name="info">The information.</param>
            <returns></returns>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaManager.Namespace">
            <summary>
                Gets the Schema Namespace
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaManager.SchemaLocation">
            <summary>
                Gets the SchemaLocation string
            </summary>
        </member>
        <member name="P:Aml.Engine.Schema.XmlSchemaManager.SchemaSet">
            <summary>
                Gets the actual XSD schema set
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.AcceptsAny(System.Xml.Schema.XmlSchemaElement)">
            <summary>
                Determines if the schema element accepts values of any type.
            </summary>
            <param name="schemaElement">The schema element.</param>
            <returns><c>true</c>, if any types are accepted as values.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.AddNew(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Object)">
            <summary>
                Creates a new Xml-Element with the provided content and inserts it to the provided parent according to
                this schema instance.
            </summary>
            <param name="parent">The parent XML element.</param>
            <param name="childName">The name of the child element.</param>
            <param name="content">Initial content of the child.</param>
            <returns>The created XML element.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.AddNewAfterSelf(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Object)">
            <summary>
                Creates a new Xml-Element with the provided content and inserts it behind the provided sibling according to
                this schema instance.
            </summary>
            <param name="siblingBefore">the sibling of the new added element.</param>
            <param name="childName">the name of the new added element.</param>
            <param name="content">the content of the new added element.</param>
            <returns>The created XML element.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.AttributeNames(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean)">
            <summary>
                Gets the Attribute names of the specified child element of the specified parent element.
            </summary>
            <param name="parentName">name of the child's parent</param>
            <param name="childName">name of the child</param>
            <param name="required">optional parameter, defining of only required attributes</param>
            <returns>Enumeration of attribute names</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.Attributes(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean)">
            <summary>
                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 <c>true</c>, only the required
                attributes are returned. The default behaviour is, that all attributes -
                optional and required attributes - are returned.
            </summary>
            <param name="parentName">
                name of the child's parent
            </param>
            <param name="childName">
                name of the child
            </param>
            <param name="required">
                optional parameter, defining of only required attributes are returned, or all attributes.
            </param>
            <returns>
                Enumeration of attribute definitions
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.AttributeValueRestrictions(System.Xml.Linq.XName,System.Xml.Linq.XName,System.String)">
            <summary>
                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.
            </summary>
            <param name="parentName">The name of the child's parent</param>
            <param name="childName">the name of the child (owner of the attribute)</param>
            <param name="attributeName">Name of the attribute.</param>
            <returns>
                list of restrictions for an attribute value - object type has to be
                interpreted by the caller
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.AttributeValueType(System.Xml.Linq.XName,System.Xml.Linq.XName,System.String)">
            <summary>
                Gets the Attribute value types for the attribute with the defined name of a
                child element which belongs to the given parent. If <c>XmlTypeCode.Item</c> is
                returned, the value type is equal to the schema internal any type.
            </summary>
            <param name="parentName">Name of the parent.</param>
            <param name="childName">Name of the child.</param>
            <param name="attributeName">Name of the attribute.</param>
            <returns>
                The type code defined for the value.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.AttributeValueType(System.Xml.Schema.XmlSchemaAttribute)">
            <summary>
                Gets the type code for the schema attribute.
            </summary>
            <param name="schemaAttribute">The schema attribute.</param>
            <returns>The XML type code.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.CanAddNew(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
                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.
            </summary>
            <param name="parent">The parent node</param>
            <param name="childName">name of the child</param>
            <returns>
                <c>true</c>, if a child with that name can be added; <c>false</c> otherwise
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.ChildElementNames(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="parentName">Name of the child's parent.</param>
            <param name="childName">Name of the child</param>
            <param name="includeChoice">if set to <c>true</c> [include choice].</param>
            <returns>Enumeration of all names of possible child elements.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.ChildElements(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="parentName">Name of the child's parent.</param>
            <param name="childName">Name of the child</param>
            <param name="includeChoice">if set to <c>true</c> [include choice].</param>
            <returns>Enumeration of all SchemaDefinitions of possible child elements.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.Choices(System.Xml.Linq.XName,System.Xml.Linq.XName)">
            <summary>
                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 <see cref="M:Aml.Engine.Schema.XmlSchemaManager.IsChoice(System.String,System.String)" /> returns true for the defined
                child name.
            </summary>
            <param name="parentName">Name of the child's parent</param>
            <param name="childName">Name of the child</param>
            <returns>
                Enumeration of names, representing the possible alternatives for child elements.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.CreateAttribute(System.Xml.Linq.XElement,System.String)">
            <summary>
                Creates the attribute with the provided name if this attribute is defined in this schema instance.
            </summary>
            <param name="element">The element.</param>
            <param name="attributeName">Name of the attribute.</param>
            <returns>The created XML attribute.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.CreateElement(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean)">
            <summary>
                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 <see cref="M:Aml.Engine.Schema.XmlSchemaManager.Insert(System.Xml.Linq.XElement,System.Xml.Linq.XElement)" />
                for insertion or <see cref="M:Aml.Engine.Schema.XmlSchemaManager.InsertNew(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Boolean)" /> for a combined
                creation and insertion.
            </summary>
            <param name="parentName">Name of the child's parent</param>
            <param name="childName">Name of the child</param>
            <param name="allAttributes">
                Optional parameter to define, that not only required attributes, but all
                possible attributes should be created.
            </param>
            <returns>
                The created XML element.
            </returns>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.GetAnnotation(System.Xml.Schema.XmlSchemaElement)">
            <summary>
                Gets the annotation from the schema element.
            </summary>
            <param name="schemaElement">The schema element.</param>
            <returns>The annotation of the schema element, as it is defined in the schema.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.GetAnnotation(System.Xml.Schema.XmlSchemaAttribute)">
            <summary>
                Gets the annotation from the schema attribute element.
            </summary>
            <param name="schemaAttribute">The schema attribute.</param>
            <returns>
                The annotation of the schema attribute, as it is defined in the schema.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.GetAnnotation(System.Xml.Schema.XmlSchemaAnnotated)">
            <summary>
                Gets the annotation from the annotated schema element.
            </summary>
            <param name="schemaElement">The schema element.</param>
            <returns>The annotation.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.HasChoiceOfElements(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean@)">
            <summary>
                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
            </summary>
            <param name="parentName">Name of the parent.</param>
            <param name="childName">Name of the child.</param>
            <param name="onlyOne">if set to <c>true</c> [only one].</param>
            <returns>
                <c>true</c> if the specified parent to child relation is restricted to a choice of elements; otherwise,
                <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.HasSequenceOfSimpleElements(System.Xml.Linq.XName,System.Xml.Linq.XName,System.Boolean@)">
            <summary>
                Determines, if the schema defines a sequence of simple elements for the provided parent child combination.
            </summary>
            <param name="parentName">Name of the parent.</param>
            <param name="childName">Name of the child.</param>
            <param name="onlyOne">if set to <c>true</c> [only one].</param>
            <returns>
                <c>true</c> if the provided parent child combination consists of a sequence of simple elements; otherwise,
                <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.Insert(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
            <summary>
                Inserts an existing child node into the collection of child nodes of the
                specified parent node.
            </summary>
            <param name="parent">The parent node</param>
            <param name="child">The child node</param>
            <returns>
                <c>true</c>, if the node has been inserted; <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.InsertNew(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="parent">The parent node for insertion.</param>
            <param name="childName">Name of the child</param>
            <param name="allAttributes">
                optional parameter to specify, that all attributes should be added
                automatically to the created node.
            </param>
            <returns>
                the created and inserted node.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.IsChoice(System.String,System.String)">
            <summary>
                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 <see cref="M:Aml.Engine.Schema.XmlSchemaManager.Choices(System.Xml.Linq.XName,System.Xml.Linq.XName)" />.
            </summary>
            <param name="parentName">Name of the child's parent</param>
            <param name="childName">Name of the child</param>
            <returns>
                <c>true</c> if the defining collection is a choice; otherwise the collection
                of child's is defined as a sequence.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.IsChoiceForOneElement(System.Xml.Schema.XmlSchemaElement)">
            <summary>
                Determines if the schema defines a choice of only one element for the provided schema element.
            </summary>
            <param name="schemaElement">The schema element.</param>
            <returns>
                <c>true</c> if the specified schema element defines a choice of only one element; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.IsDefinedAttribute(System.Xml.Linq.XName,System.Xml.Linq.XName,System.String)">
            <summary>
                Determines, if the Attribute with the provided is defined for this element
            </summary>
            <param name="parentName">Name of the parent.</param>
            <param name="childName">Name of the child.</param>
            <param name="attributeName">Name of the attribute.</param>
            <returns>
                <c>true</c> if the attribute name is an allowed attribute for the child; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.IsParent(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
                Determines, if the parent is allowed to contain a child with the provided name according to this schema instance.
            </summary>
            <param name="parent">The parent.</param>
            <param name="childName">Name of the child.</param>
            <returns>
                <c>true</c> if the parent can contain a child element with that name; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.IsRequiredAttribute(System.Xml.Linq.XName,System.Xml.Linq.XName,System.String)">
            <summary>
                Determines, if the Attribute with the provided name is a required attribute when added to the parent child
                combination.
            </summary>
            <param name="parentName">Name of the parent.</param>
            <param name="childName">Name of the child.</param>
            <param name="attributeName">Name of the attribute.</param>
            <returns>
                <c>true</c> if the attribute is a required attribute in this parent child combination; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.MaxOccurence(System.String,System.String)">
            <summary>
                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 <see cref="F:System.Decimal.MaxValue" />. If the occurrence is <c>0</c>, the
                existence of a child with that name under a parent with that name is not allowed.
            </summary>
            <param name="parentName">Name of the child's parent</param>
            <param name="childName">Name of the child</param>
            <returns>The maximal occurrence of children with the defined name.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.MinOccurence(System.Xml.Linq.XName,System.Xml.Linq.XName)">
            <summary>
                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.
            </summary>
            <param name="parentName">Name of the child's parent</param>
            <param name="childName">Name of the child</param>
            <returns>
                <c>0</c> for optional occurrence or <c>1</c> for mandatory occurrence. A value
                of <c>-1</c> indicates that no occurrences are allowed at all.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.SchemaElement(System.Xml.Linq.XName,System.Xml.Linq.XName)">
            <summary>
                Gets the schema information for the provided parent child combination.
            </summary>
            <param name="parentName">name of the parent element</param>
            <param name="childName">name of the child element</param>
            <returns>returns <c>null</c>, if no schema information exists for the parent child combination.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.SiblingBefore(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
                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 <c>null</c> is returned.
            </summary>
            <param name="parent">The parent node</param>
            <param name="childName">Name of the child.</param>
            <returns>
                The child node of the parent, which should be the sibling before a newly added
                node, or <c>null</c>, if no node exists.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.Validate(System.Xml.Linq.XDocument,System.String[]@)">
            <summary>
                Validates a document if it is conform to this schema instance.
            </summary>
            <param name="source">The source.</param>
            <param name="messages">The messages.</param>
            <returns><c>true</c>, if the validation was without errors; false, otherwise.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.ValueType(System.Xml.Linq.XName,System.Xml.Linq.XName)">
            <summary>
                Returns the type code for a value that may be associated with the defined child.
            </summary>
            <param name="parentName">Name of the parent</param>
            <param name="childName">Name of the child</param>
            <returns>the XML type code.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.SetSchemaLocation(System.Xml.Linq.XElement,System.String)">
            <summary>
                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.
            </summary>
            <param name="root">The Document root</param>
            <param name="folderPath">Folder Path for schema extraction</param>
        </member>
        <member name="M:Aml.Engine.Schema.XmlSchemaManager.ParseElement(System.String,System.Xml.Schema.XmlSchemaElement)">
            <summary>
                Parsing the schema to populate the elements dictionary.
            </summary>
            <param name="parentElement">
            </param>
            <param name="element">
            </param>
        </member>
        <member name="T:Aml.Engine.Schema.XmlTypeCodeExtensions">
            <summary>
                This static class provides extension methods for the interpretation of <see cref="T:System.Xml.Schema.XmlTypeCode" />.
            </summary>
        </member>
        <member name="M:Aml.Engine.Schema.XmlTypeCodeExtensions.AttributeType(System.Xml.Schema.XmlTypeCode)">
            <summary>
                Gets the CLR-Type for the provided typeCode
            </summary>
            <param name="typeCode">Source</param>
            <returns>CLR-Type</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlTypeCodeExtensions.XmlTypeCodeFromSchemaType(System.String)">
            <summary>
                Gets the <see cref="T:System.Xml.Schema.XmlTypeCode" /> from the W3C XSD schema type string.
            </summary>
            <param name="schemaType">W3C XSD schema type, defined as xs:..., like xs:double and others.</param>
            <returns>
                the XmlTypeCode. If the schemaType is not recognized,
                <see cref="F:System.Xml.Schema.XmlTypeCode.None" /> is returned.
            </returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlTypeCodeExtensions.DefaultDecodedValue(System.Xml.Schema.XmlTypeCode)">
            <summary>
                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 <see cref="M:Aml.Engine.Schema.XmlTypeCodeExtensions.AttributeType(System.Xml.Schema.XmlTypeCode)" /> method.
            </summary>
            <param name="typeCode">the type code</param>
            <returns>The default CLR type value, according to the provided type code.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlTypeCodeExtensions.Default(System.Xml.Schema.XmlTypeCode)">
            <summary>
                Returns the default value for XmlTypeCode
            </summary>
            <param name="typeCode">Source</param>
            <returns>The default value, according to the provided type code.</returns>
        </member>
        <member name="M:Aml.Engine.Schema.XmlTypeCodeExtensions.DefaultEncodedValue(System.Xml.Schema.XmlTypeCode)">
            <summary>
                Converts the default value for the specified typeCode to a valid XML value string
            </summary>
            <param name="typeCode">The <see cref="T:System.Xml.Schema.XmlTypeCode" /></param>
            <returns>The default XML value, according to the provided type code.</returns>
            <see cref="M:Aml.Engine.Schema.XmlTypeCodeExtensions.DefaultDecodedValue(System.Xml.Schema.XmlTypeCode)" />
        </member>
        <member name="T:Aml.Engine.XML.IDocument">
            <summary>
                Interface for a XDocument Wrapper
            </summary>
        </member>
        <member name="P:Aml.Engine.XML.IDocument.XDocument">
            <summary>
                Gets the XDocument.
            </summary>
        </member>
        <member name="M:Aml.Engine.XML.IDocument.SaveToStream(System.Boolean)">
            <summary>
                Saves the document to stream.
            </summary>
            <param name="prettyPrint">if set to <c>true</c> pretty print for the document is enabled.</param>
            <returns>The document stream.</returns>
        </member>
        <member name="T:Aml.Engine.XML.IXMLWrapper">
            <summary>
                XML related properties of a wrapped instance
            </summary>
        </member>
        <member name="P:Aml.Engine.XML.IXMLWrapper.Document">
            <summary>
                Gets the XDocument containing the XML node of this object.
                If the object has not been inserted into a document, the XDocument is <c>null</c>.
                Direct manipulations of the XML document are not monitored by the AML engine.
            </summary>
        </member>
        <member name="P:Aml.Engine.XML.IXMLWrapper.Exists">
            <summary>
                Determines, if this instance is wrapped around an existing XML node
            </summary>
        </member>
        <member name="P:Aml.Engine.XML.IXMLWrapper.Node">
            <summary>
                Get the XML node of this instance. Direct manipulations of the XML node are not monitored by the AML engine.
            </summary>
        </member>
        <member name="P:Aml.Engine.XML.IXMLWrapper.Owner">
            <summary>
                Gets the XML parent node of this instance. Direct manipulations of the XML node are not monitored by the AML
                engine.
            </summary>
        </member>
        <member name="P:Aml.Engine.XML.IXMLWrapper.TagName">
            <summary>
                Gets the Schema Tag name of this instance.
            </summary>
        </member>
        <member name="T:Aml.Engine.XML.XDocumentWrapper">
            <summary>
                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.
            </summary>
            <seealso cref="T:Aml.Engine.XML.IDocument" />
        </member>
        <member name="M:Aml.Engine.XML.XDocumentWrapper.#ctor(System.Xml.Linq.XDocument)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Engine.XML.XDocumentWrapper" /> class.
            </summary>
            <param name="xDocument">The x document.</param>
        </member>
        <member name="P:Aml.Engine.XML.XDocumentWrapper.XDocument">
            <summary>
                Gets the underlying XDocument
            </summary>
        </member>
        <member name="M:Aml.Engine.XML.XDocumentWrapper.Document(System.Xml.Linq.XElement)">
            <summary>
                Gets the XDocument wrapper which contains the specified XML node. If the node is not contained in an XML document,
                no document is returned.
            </summary>
            <param name="node">The XML node.</param>
            <returns>The XDocument wrapper, containing the XML node.</returns>
            <exception cref="T:System.ArgumentNullException">XML node is null.</exception>
        </member>
        <member name="M:Aml.Engine.XML.XDocumentWrapper.Document(Aml.Engine.XML.IXMLWrapper)">
            <summary>
                Gets the XDocument wrapper which contains the specified object. If the object has not been inserted into a
                document,
                no document is returned.
            </summary>
            <param name="xObject">The XNodeWrapper object.</param>
            <returns>The XDocument wrapper .</returns>
        </member>
        <member name="M:Aml.Engine.XML.XDocumentWrapper.SaveToFile(System.String,System.Boolean)">
            <summary>
                Saves the document to the specified file path.
            </summary>
            <param name="filename">The file path to save the document to.</param>
            <param name="prettyPrint">Set to true, if pretty printing is desired.</param>
            <exception cref="T:System.ArgumentNullException">filename</exception>
        </member>
        <member name="M:Aml.Engine.XML.XDocumentWrapper.SaveToStream(System.Boolean)">
            <summary>
                Saves the document to the specified file path.
            </summary>
            <param name="prettyPrint">Set to true, if pretty printing is desired</param>
            <returns>The stream, containing the document content.</returns>
        </member>
        <member name="M:Aml.Engine.XML.XDocumentWrapper.XName(System.String)">
            <summary>
                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.
            </summary>
            <param name="tagname">A Tag name which should be transformed to an XName.</param>
            <returns>The generated XName.</returns>
            <exception cref="T:System.ArgumentNullException">tag name</exception>
        </member>
        <member name="M:Aml.Engine.XML.XDocumentWrapper.Unload">
            <summary>
                Unloads this document instance.
            </summary>
            <remarks>
                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.
            </remarks>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.CAEXIDOfElement(System.Xml.Linq.XElement)">
            <summary>
                Returns the CAEX ID <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ID_ATTRIBUTE" /> of a the XElement if such an Attribute exists.
            </summary>
            <param name="element">The XElement.</param>
            <returns>The Name or string.empty if the ID-Attribute is missing</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.CAEXNameOfElement(System.Xml.Linq.XElement)">
            <summary>
                Returns the CAEX Name <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.NAME_ATTRIBUTE" /> of a the XElement if such an Attribute exists.
            </summary>
            <param name="element">The XElement.</param>
            <returns>The Name or string.empty if the Name-Attribute is missing</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.CAEXNameOfParent(System.Xml.Linq.XElement)">
            <summary>
                Returns the CAEX Name <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.NAME_ATTRIBUTE" /> of a parent XElement if such an Attribute exists.
            </summary>
            <param name="element">The XElement.</param>
            <returns>
                The Name or string.empty if the Parent or the Name-Attribute is missing
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.CAEXPath(System.Xml.Linq.XElement)">
            <summary>
                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.
            </summary>
            <param name="element">The element.</param>
            <returns>
                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.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.GetDateTimeValue(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
                Gets the value of the element with the defined name as a DateTime Value
            </summary>
            <param name="owner">The owner.</param>
            <param name="elementName">Name of the element.</param>
            <returns>
                DateTime value of the element
            </returns>
            <exception cref="T:System.ArgumentNullException">owner</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.GetFullNodeCAEXPath(System.Xml.Linq.XElement)">
            <summary>
                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.
            </summary>
            <param name="xmlNode">The XmlNode to get the full path for</param>
            <returns>The full path from the document root element to the given XmlNode. </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.GetFullNodePath(System.Xml.Linq.XElement)">
            <summary>
                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.
            </summary>
            <param name="xmlNode">The XmlNode to get the full path for</param>
            <returns>The full path from the document root element to the given XmlNode. </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.IsInheritanceAttribute(System.Xml.Linq.XAttribute)">
            <summary>
                Determines whether Attribute is  an inheritance attribute.
            </summary>
            <param name="xmlAttribute">The XML attribute.</param>
            <returns>
                <c>true</c> if the attribute is an inheritance attribute; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.GetFullNodePathNames(System.Xml.Linq.XElement,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="xmlNode">The XmlNode to get the full path for</param>
            <param name="withSeparator">if set to <c>true</c> separators are added to the path part names.</param>
            <returns>
                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.
            </returns>
            <exception cref="T:System.ArgumentNullException">xmlNode</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.GetFullNodeCAEXPathNames(System.Xml.Linq.XElement,System.Boolean)">
            <summary>
                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.
            </summary>
            <param name="xmlNode">The XmlNode to get the full path for</param>
            <param name="withSeparator">if set to <c>true</c> separators are added to the path part names.</param>
            <returns>
                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.
            </returns>
            <exception cref="T:System.ArgumentNullException">xmlNode</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.GetPartialNodeCAEXPath(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
            <summary>
                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.
            </summary>
            <param name="xmlNode">The XmlNode to get the full path for</param>
            <param name="root">The root.</param>
            <returns>
                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.
            </returns>
            <exception cref="T:System.ArgumentNullException">xmlNode</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.GetStringValue(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
                Gets the XML node with the provided elementName from the specified owner and returns its value
            </summary>
            <param name="owner">The owner.</param>
            <param name="elementName">Name of the element.</param>
            <returns>The node value as a string.</returns>
            <exception cref="T:System.ArgumentNullException">owner</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.GetValueElementValue(System.Xml.Linq.XElement)">
            <summary>
                Gets the value of a CAEX 'Value' element.
            </summary>
            <param name="element">The XML node.</param>
            <returns>The value of the CAEX 'Value' element. </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.ICMasterID(System.Xml.Linq.XElement)">
            <summary>
                Gets the MasterID of a potential mirror ExternalInterface
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>The ID of the master ExternalInterface.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.IDReferenceInMapping(System.Xml.Linq.XElement)">
            <summary>
                Get the IDReferences if this is an InterfaceIDMapping object.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                Enumeration of the ID-references in the InterfaceIDMapping. The returned value tuple contains the
                name of the attribute and the attribute value.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.IDReferencesInInternalLink(System.Xml.Linq.XElement)">
            <summary>
                Get the IDReferences if this is an InternalLink.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                Enumeration of the ID-references in an InternalLink. The returned value tuple contains the
                name of the attribute and the attribute value.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.IEMasterID(System.Xml.Linq.XElement)">
            <summary>
                Gets the MasterID of a potential mirror InternalElement.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                The ID of the master InternalElement. It is not checked, if this is a GUID.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.AttributeMasterID(System.Xml.Linq.XElement)">
            <summary>
                Gets the InternalElementID of a potential mirror Attribute.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                The ID of the master InternalElement to which the Attribute belongs. It is not checked, if this is a GUID.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.InterfaceClassMasterID(System.Xml.Linq.XElement)">
            <summary>
                Get the ID of the Master InterfaceClass if this is a Mirror.
            </summary>
            <param name="element">The element.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.InternalElementMasterID(System.Xml.Linq.XElement)">
            <summary>
                Get the ID of the Master InternalElement if this is a Mirror.
            </summary>
            <param name="element">The element.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.RoleReference(System.Xml.Linq.XElement)">
            <summary>
                Get the RoleReference if this XML node is a RoleRequirement or a SupportedRoleClass
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>The value of the role reference attribute of the XML node</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.SetDateTimeValue(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.DateTime)">
            <summary>
                Sets a date time value for a child-element with the defined name of the defined owner
            </summary>
            <param name="owner">Owner of the element with the defined name</param>
            <param name="elementName">Name of the child element</param>
            <param name="value">DateTime value</param>
            <exception cref="T:System.ArgumentNullException">owner</exception>
            <exception cref="T:System.InvalidOperationException">is not a valid element</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.SetStringValue(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.String)">
            <summary>
                Sets a string value for a child-element with the defined name of the defined owner
            </summary>
            <param name="owner">Owner of the element with the defined name</param>
            <param name="elementName">Name of the child element</param>
            <param name="value">string value</param>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXAttributes.SystemUnitClassReference(System.Xml.Linq.XElement)">
            <summary>
                Get the SystemUnitClass reference if this is an InternalElement <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFBASESYSTEMUNITPATH" />
                .
            </summary>
            <param name="element">The element.</param>
            <returns>System.String.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlClassOperation.BaseClass(System.Xml.Linq.XElement)">
            <summary>
                Gets the base class for the specified CAEX class, if a class to class relation exists and can
                be resolved in the current document.
            </summary>
            <param name="caexClass">The CAEX class.</param>
            <returns>The base class for the specified CAEX class.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlClassOperation.GetReferenceHierarchy(System.Xml.Linq.XElement)">
            <summary>
                Gets the reference (Inheritance) hierarchy including the provided CAEX class in an ordered sequence of ancestors.
            </summary>
            <param name="caexClassNode">The CAEX class XML node.</param>
            <returns>
                Enumeration of base classes.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlClassOperation.IsDerived(System.Xml.Linq.XElement,System.Xml.Linq.XElement,System.Xml.Linq.XName,System.String)">
            <summary>
                Determines whether the specified elementWithDerivedAttributes has a child Element, which has the same ElementName
                and AttributeValue for the named
                Attribute as the specified elementWithAttribute
            </summary>
            <param name="elementWithAttribute">The element With Attribute which is tested for derivations.</param>
            <param name="elementWithDerivedAttributes">The element With Derived Attributes.</param>
            <param name="elementName">Name of the element.</param>
            <param name="attributeName">Name of the attribute.</param>
            <returns><c>true</c> if the specified attribute element is derived; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlClassOperation.IsDescendant(System.Xml.Linq.XElement,System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a descendant of the ancestor.
            </summary>
            <param name="element">The element.</param>
            <param name="ancestor">The tested ancestor.</param>
            <returns>
                <c>true</c> if the specified element is a descendant of the ancestor; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlClassOperation.IsOverridden(System.Xml.Linq.XElement)">
            <summary>
                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.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified node is overridden; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlClassOperation.OverriddenElements(System.Xml.Linq.XElement,System.String)">
            <summary>
                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.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <param name="attributeValue">The attribute value, used to define the overridden object.</param>
            <returns>
                <c>the collection of overridden elements</c> if the specified node is overridden; otherwise,
                <c>Enumerable.Empty</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXMapping.MappingPathToRoleReference(System.Xml.Linq.XElement)">
            <summary>
                Gets the name of the path, defining a role reference for the defined mapping element.
            </summary>
            <param name="mappingElement">The mapping element.</param>
            <returns>The path to the RoleClass.</returns>
            <remarks>
                This method is designed for CAEX 2.15 where no direct association between
                a RoleClass and a mapping element exists.
            </remarks>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXMapping.MappingPathToSystemUnitClassReference(System.Xml.Linq.XElement)">
            <summary>
                Gets the CAEX path of a referenced SystemUnitClass for a Mapping element
            </summary>
            <param name="mappingElement">The mapping element.</param>
            <returns>The path to the SystemUnitClass.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXMapping.ReferencedElementFromMapping(System.Xml.Linq.XAttribute)">
            <summary>
                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 <c>null</c>.
            </summary>
            <param name="mappingAttribute">The mapping.</param>
            <returns>The referenced element.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXMapping.RoleFromMapping(System.Xml.Linq.XAttribute)">
            <summary>
                Gets the RoleRequirement element to which this mapping attribute is assigned.
            </summary>
            <param name="mappingAttribute">The mapping.</param>
            <returns>The RoleRequirement element or <c>null</c>, if it doesn't exist.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXMapping.RoleReferenceToMapping(System.Xml.Linq.XElement)">
            <summary>
                Gets the RoleReference for a mapping.
            </summary>
            <param name="mappingAttribute">The mapping attribute.</param>
            <returns>XElement.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXMapping.SystemUnitClassFromMapping(System.Xml.Linq.XAttribute)">
            <summary>
                Gets the SystemUnitClass element to which this mapping attribute is assigned.
            </summary>
            <param name="mappingAttribute">The mapping.</param>
            <returns>The SystemUnitClass element or <c>null</c>, if it doesn't exist.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXMapping.SystemUnitClassReferenceToMapping(System.Xml.Linq.XElement)">
            <summary>
                Gets the SystemUnitClass-Reference for a mapping.
            </summary>
            <param name="mappingAttribute">The mapping attribute.</param>
            <returns>XElement.</returns>
        </member>
        <member name="T:Aml.Engine.Xml.Extensions.XmlCAEXSchema">
            <summary>
                Class, defining extension methods, related to the interpretation of the Schema version of a CAEX file.
            </summary>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.CAEXSchema(System.Xml.Linq.XElement)">
            <summary>
                Gets the correct CAEX schema version for the specified XML node
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>The CAEX schema version.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IDReferenceAttributes(System.Xml.Linq.XElement)">
            <summary>
                Gets the names of the Attributes of the provided node, which can contain an ID reference.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>Array of attribute names of the ID-reference attributes.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsAdditionalInformation(System.Xml.Linq.XElement)">
            <summary>
                Determines, if the XML-Element is an Additional Information element
            </summary>
            <param name="element">XML-Element from a CAEX-Document</param>
            <returns><c>true</c>, if the XML-Element is an Additional Information element</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsBasicAttribute(System.Xml.Linq.XElement)">
            <summary>
                Determines, if the XML-Element is an Attribute
            </summary>
            <param name="element">XML-Element from a CAEX-Document</param>
            <returns><c>true</c>, if the XML-Element is an Attribute</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsAttribute(System.Xml.Linq.XElement)">
            <summary>
                Determines, if the XML-Element is an Attribute (Basic or Type)
            </summary>
            <param name="element">XML-Element from a CAEX-Document</param>
            <returns><c>true</c>, if the XML-Element is an Attribute</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsAttributeMirror(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a mirror of an Attribute.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a mirror of an Attribute; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsAttributeNameMapping(System.Xml.Linq.XElement)">
            <summary>
                Determines, if the XML-Element is an AttributeNameMapping
            </summary>
            <param name="element">XML-Element from a CAEX-Document</param>
            <returns><c>true</c>, if the XML-Element is an AttributeNameMapping</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsAttributeType(System.Xml.Linq.XElement)">
            <summary>
                Determines, if the XML-Element is an AttributeType
            </summary>
            <param name="element">XML-Element from a CAEX-Document</param>
            <returns><c>true</c>, if the XML-Element is an AttributeType</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsCAEXClass(System.Xml.Linq.XElement,System.Boolean)">
            <summary>
                Determines whether the Element is a CAEXClass: RoleClass, SystemUnitClass
                or InterfaceClass
            </summary>
            <param name="element">The element.</param>
            <param name="includeLibraryType">if library types should be handled as classes</param>
            <returns>
                <c>true</c> if the specified element is a CAEXClass; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsElementWithID(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the XML node is an element with an ID.
            </summary>
            <param name="node">The node.</param>
            <returns>
                <c>true</c> if the specified node is an element with identifier reference; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsElementWithIDReference(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the XML node is an element with an ID reference.
            </summary>
            <param name="node">The node.</param>
            <returns>
                <c>true</c> if the specified node is an element with identifier reference; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsElementWithIDReference(System.Xml.Linq.XElement,System.String)">
            <summary>
                Determines whether the XML node is an element with an ID reference to the provided ID
            </summary>
            <param name="node">The node.</param>
            <param name="ID">The ID</param>
            <returns>
                <c>true</c> if the specified node is an element with identifier reference; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsElementWithNameReference(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the XML node is an element which references another element using the name of the element
            </summary>
            <param name="node">The node.</param>
            <returns>
                <c>true</c> if the specified node is an element which references another element using the name of the element;
                otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsElementWithPathReference(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the XML node is an element with a path reference
            </summary>
            <param name="node">The node.</param>
            <returns>
                <c>true</c> if the specified node is an element with path reference; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsElementWithPathReference(System.Xml.Linq.XElement,System.String)">
            <summary>
                Determines whether the XML node is an element with a path reference to the provided path
            </summary>
            <param name="node">The node.</param>
            <param name="path">The Path</param>
            <returns>
                <c>true</c> if the specified node is an element with this path reference; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsExternalInterface(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an ExternalInterface.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is an ExternalInterface; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsExternalReference(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an ExternalReference element
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is an ExternalReference; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsFacet(System.Xml.Linq.XElement)">
            <summary>
                Determines whether this instance is an AMLFacet.
            </summary>
            <param name="node">The node.</param>
            <returns>
                <c>true</c> if the specified node is a facet; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsICMirror(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a mirror of an ExternalInterface.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a mirror of an ExternalInterface; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsIEMirror(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a mirror of an InternalElement.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if the specified element is a mirror of an InternalElement; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsInterfaceClass(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an InterfaceClass.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is an InterfaceClass; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsInstanceHierarchy(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an InterfaceClass.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is an InstanceHierarchy; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsInterfaceIDMapping(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an InterfaceIDMapping.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is an InterfaceIDMapping; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsInterfaceNameMapping(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an InterfaceNameMapping.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is an InterfaceNameMapping; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsInternalElement(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an InternalElement.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is an InternalElement; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsAttributeTypeLib(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an AttributeTypeLib.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is an AttributeTypeLibrary; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsSystemUnitClassLib(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a SystemUnitClassLib.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is an SystemUnitClassLib; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsRoleClassLib(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a RoleClassLib.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is a RoleClassLib; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsInterfaceClassLib(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a InterfaceClassLib.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is a InterfaceClassLib; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsInternalLink(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is an InternalLink.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is an InternalLink; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsInternalLinkAttribute(System.Xml.Linq.XAttribute)">
            <summary>
                Determines whether the specified XML object is an InternalLink attribute.
            </summary>
            <param name="a">The XML attribute object.</param>
            <returns>
                <c>true</c> if the specified XML object is an InternalLink attribute; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsLibrary(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a CAEX Library.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is a Library; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsMappingElement(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element defines a Mapping which means, the element is
                either a <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGOBJECT_ATTRIBUTENAME_STRING" />, a  <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGOBJECT_INTERFACENAME_STRING" /> or
                a <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.MAPPINGOBJECT_INTERFACEID_STRING" />.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element defines a Mapping; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsMirrorElement(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the Element can define a mirror object.
            </summary>
            <param name="element">The element.</param>
            <returns>
                <c>true</c> if whether the Element can define a mirror object; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsRoleClass(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a RoleClass <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ROLECLASS_STRING" />.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is a RoleClass; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsRoleRequirement(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a RoleRequirement <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ROLEREQUIREMENTS_STRING" />.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is a RoleRequirement; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsSupportedRoleClass(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a SupportedRoleClass <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SUPPORTEDROLECLASS_STRING" />.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is a SupportedRoleClass; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.IsSystemUnitClass(System.Xml.Linq.XElement)">
            <summary>
                Determines whether the specified element is a SystemUnitClass <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.SYSTEMUNITCLASS_STRING" />.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                <c>true</c> if the specified element is a SystemUnitClass; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.NameReferenceAttributes(System.Xml.Linq.XElement)">
            <summary>
                Gets the names of the Attributes of the provided node, which can contain an ID reference.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>An array of attribute names, which are used to reference objects using the objects name.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.PathReferenceAttributeName(System.Xml.Linq.XElement)">
            <summary>
                Gets the name of the path reference attribute of the specified element.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>
                For an <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTETYPE_STRING" /> the result is <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFATTRIBUTETYPE" />.
                For all other classes, the result is <see cref="F:Aml.Engine.CAEX.CAEX_CLASSModel_TagNames.ATTRIBUTE_NAME_REFBASECLASSPATH" />.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.PathReferenceAttributes(System.Xml.Linq.XElement)">
            <summary>
                Gets the names of the Attributes of the provided XML node, which can contain a path reference.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>An array of attribute names, which can contain a path reference.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.ReferencedElement(System.Xml.Linq.XAttribute)">
            <summary>
                Gets the element which is referenced by the specified attribute.
            </summary>
            <param name="reference">The attribute, defining the reference.</param>
            <returns>The referenced element</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.SchemaManager(System.Xml.Linq.XElement)">
            <summary>
                Gets the schema manager, used to manage any modifications of the provided XML node.
            </summary>
            <param name="xmlNode">The XML node.</param>
            <returns>The schema manager, used to manage any modifications of the provided XML node.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlCAEXSchema.XName(System.Xml.Linq.XElement,System.String)">
            <summary>
                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.
            </summary>
            <param name="node">A Node used to get the namespace information</param>
            <param name="tagname">A CAEX Tag name which should be transformed to an XName.</param>
            <returns>The XName build from the provided tag name.</returns>
        </member>
        <member name="T:Aml.Engine.Xml.Extensions.XmlOperation">
            <summary>
                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.
            </summary>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.CreateCAEXWrapper(System.Xml.Linq.XElement)">
            <summary>
                Wraps the provided Xml-Element into an element specific CAEXWrapper object.
            </summary>
            <param name="element">the Xml-Element</param>
            <returns>The specific CAEXWrapper object if the element is a CAEX element; otherwise null</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.AllElementsFromBaseClassAndSelf``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.String,System.Collections.Generic.IEqualityComparer{System.Xml.Linq.XElement})">
            <summary>
                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.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="caexClass">a derived class</param>
            <param name="tagName">The CAEX element name (Tag-name)</param>
            <param name="elementsAreEqual">Equality comparer to exclude equal elements of a base class</param>
            <returns>All inherited elements including those, which are marked as deleted.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.ExistingElementsFromBaseClassAndSelf``1(Aml.Engine.CAEX.IClassWithBaseClassReference{``0},System.String,System.Collections.Generic.IEqualityComparer{System.Xml.Linq.XElement})">
            <summary>
                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.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="caexClass">a derived class</param>
            <param name="tagName">The CAEX element name (Tag-name)</param>
            <param name="elementsAreEqual">Equality comparer to exclude equal elements of a base class</param>
            <returns>All inherited elements not including those, which are marked as deleted.</returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.FirstElement(System.Xml.Linq.XElement)">
            <summary>
                Gets the first element of the provided parent
            </summary>
            <param name="parent">The parent.</param>
            <returns>
                First element if one exists; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.FirstElement(System.Xml.Linq.XElement,System.String)">
            <summary>
                Gets the first element of the provided parent with the provided local name
            </summary>
            <param name="parent">The parent.</param>
            <param name="localName">The local name of the child element.</param>
            <returns>
                First element if one exists; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.GetOrAppendChildIfContentNotNull(System.Xml.Linq.XElement,System.Xml.Linq.XName,System.Object,System.Boolean@)">
            <summary>
                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.
            </summary>
            <param name="owner">The owner of the element.</param>
            <param name="elementName">The element name.</param>
            <param name="content">Some content, which is added to the element, if it is created.</param>
            <param name="isDeleted">if <c>true</c>, element has been deleted when content is null and element is not required.</param>
            <returns>
                the element
            </returns>
            <exception cref="T:System.ArgumentNullException">owner</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.InterfaceFromInternalLinkAttribute(System.Xml.Linq.XAttribute)">
            <summary>
                Gets the Interface from the provided InternalLink Attribute value.
            </summary>
            <param name="internalLinkAttribute">The internal link attribute.</param>
            <returns>
                The XML node of the ExternalInterface.
            </returns>
            <exception cref="T:System.ArgumentNullException">internalLinkAttribute</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.MasterAttribute(System.Xml.Linq.XAttribute)">
            <summary>
                Gets the Master Attribute from the provided  RefAttributeType value.
            </summary>
            <param name="refAttribute">The attribute reference.</param>
            <returns>
                The XML node of the Attribute.
            </returns>
            <exception cref="T:System.ArgumentNullException">refAttribute</exception>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.LastElement(System.Xml.Linq.XElement)">
            <summary>
                Gets the last child element of the defined parent
            </summary>
            <param name="parent">The parent.</param>
            <returns>
                the last child or <c>null</c>, if no child exists.
            </returns>
        </member>
        <member name="M:Aml.Engine.Xml.Extensions.XmlOperation.LastElement(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
                Gets the last child element of the defined parent with the defined local name
            </summary>
            <param name="parent">The parent.</param>
            <param name="name">the name of the child node to look at.</param>
            <returns>
                the last child or <c>null</c>, if no child exists with this name.
            </returns>
        </member>
    </members>
</doc>
