概念的には、質問しているそれぞれの異なるデータ型を持つノードを追加することは、フォルダノードを作成しノードを追加することと変わりありません。
milo-examples
プロジェクトのExampleNamespace
プロジェクトでは、その方法を示しています。
FolderType
のインスタンスではなく、カスタムObjectType
のインスタンスを本当に使用する場合は、行う必要のある簿記作業があります。
- 新しいタイプを表すObjectTypeNodeのインスタンスを作成します。
- 必要な各プロパティ/メンバについて、必要なデータ型で構成された新しいVariableNodeを作成し、ObjectTypeNodeからHasComponentまたはHasProperty参照をこのVariableNodeに追加します。 (これらのノードは、仕様がInstanceDeclarationsを呼び出すものです)
- ObjectObjectNodeをBaseObjectTypeNodeのサブタイプとしてアドレス空間に追加します。
次に、元のObjectNodeを作成したときに、タイプ定義を、新しく作成されたObjectTypeNodeとして、たとえばFolderTypeではなく指定します。
この仕様の第3回と第5回ではどのように動作するのか、またはUaExpertのようなクライアントを使用して、サーバー内の既存のObjectTypeの一部(ServerType
など)を調べることができます。
編集:これを行う方法の例があります。here。これはちょっとかさばっているようだ...あなたは正しい。通常、ObjectTypesとVariableTypesはモデリングツールで設計され、NodeSet XMLファイルを介してインポートされますが、それは今のものの範囲外です...
私はあなたが何を求めているのかよく分かりません。あなたは精緻化できますか? –