From 0915063175b54ebce9742bd8e86f65385feff598 Mon Sep 17 00:00:00 2001 From: opcfoundation-org Date: Tue, 2 Nov 2021 21:00:53 +0900 Subject: [PATCH] on node export only output TypeId for vars/objects (#1574) only output the DataTypeDefinitionId and ReferenceTypeId vor var/objects fixes nodeset output of #1532 fixes OPCFoundation/UA-ModelCompiler#94 --- Stack/Opc.Ua.Core/Stack/State/BaseInstanceState.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Stack/Opc.Ua.Core/Stack/State/BaseInstanceState.cs b/Stack/Opc.Ua.Core/Stack/State/BaseInstanceState.cs index c2dc6f576..d5e9a4893 100644 --- a/Stack/Opc.Ua.Core/Stack/State/BaseInstanceState.cs +++ b/Stack/Opc.Ua.Core/Stack/State/BaseInstanceState.cs @@ -529,7 +529,7 @@ protected override void Export(ISystemContext context, Node node) node.ReferenceTable.Add(referenceTypeId, true, this.Parent.NodeId); } - if (!NodeId.IsNull(this.TypeDefinitionId)) + if (!NodeId.IsNull(this.TypeDefinitionId) && (NodeClass == NodeClass.Object || NodeClass == NodeClass.Variable)) { node.ReferenceTable.Add(ReferenceTypeIds.HasTypeDefinition, false, this.TypeDefinitionId); } @@ -556,7 +556,7 @@ public override void Save(ISystemContext context, XmlEncoder encoder) encoder.WriteNodeId("ReferenceTypeId", m_referenceTypeId); } - if (!NodeId.IsNull(m_typeDefinitionId)) + if (!NodeId.IsNull(m_typeDefinitionId) && (NodeClass == NodeClass.Object || NodeClass == NodeClass.Variable)) { encoder.WriteNodeId("TypeDefinitionId", m_typeDefinitionId); }