View Issue Details

IDProjectCategoryView StatusLast Update
000864811020: Companion Spec TemplateApi Changepublic2024-07-01 08:37
ReporterJim Luth Assigned ToKarl Deiretsbacher  
Status resolvedResolutionfixed 
Summary0008648: Normative BrowseNames that are not used on Types or InstanceDeclarations need to be defined.

Code generators need something in the NodeSet to trigger the generation of a constant for the MachineryBuildingBlocks BrowseName.
We do this with Properties by include unattached Variables. The same is needed for MachineryBuildingBlocks.

This is an issue because the code generated for the MachineTool NodeSet assumes a constant is defined in the Machinery spec because the Namespace of the MachineryBuildingBlocks component is the Machinery specification. There is no work around that does not require hand editing auto-generated code or a complete rewrite of BrowseName handling by generators.

As general principle: if a specification defines a normative BrowseName like MachineryBuildingBlocks then that BrowseName must be defined in a machine readable format.

The unofficial convention with the Core NodeSets has been to add unattached Variables into the NodeSet but there are other options including:

1) A separate BrowseName file like we do with NodeIds;
2) A new top-level element in the NodeSet that defines normative BrowseNames without Nodes;
3) Recommend the creation of an Interface when such BrowseNames are defined on an Object;

But the key point is these BrowseNames are defined somewhere in a machine-readable format. Users should not have copy and paste from a PDF.

TagsNo tags attached.


related to 0008640 assignedRandy Armstrong NodeSets, XSDs and Generated Code Normative BrowseNames that are not used on Types or InstanceDeclarations need to be defined. 
related to 0009262 closedRandy Armstrong 10000-006: Mappings Normative BrowseNames that are not used on Types or InstanceDeclarations need to be defined. 


Jim Luth

2023-01-24 16:28

administrator   ~0018562

Agreed to add an attribute to the nodeset to indicate the node is a "template", not a single concrete instance with a well-known nodeid and add a convention to the spec table format to indicate this.

Karl Deiretsbacher

2024-07-01 08:37

manager   ~0021395

Fixed in Draft 1 of 1.01.18

Issue History

Date Modified Username Field Change
2023-01-24 16:28 Jim Luth New Issue
2023-01-24 16:28 Jim Luth Status new => assigned
2023-01-24 16:28 Jim Luth Assigned To => Randy Armstrong
2023-01-24 16:28 Jim Luth Issue generated from: 0008640
2023-01-24 16:28 Jim Luth Note Added: 0018562
2023-01-24 16:28 Jim Luth Relationship added related to 0008640
2023-01-24 16:29 Jim Luth Project NodeSets, XSDs and Generated Code => 11020: Companion Spec Template
2023-01-24 16:29 Jim Luth Category Feature Request => Api Change
2023-01-24 16:29 Jim Luth Assigned To Randy Armstrong => Karl Deiretsbacher
2023-11-13 16:32 Karl Deiretsbacher Relationship added related to 0009262
2024-07-01 08:37 Karl Deiretsbacher Status assigned => resolved
2024-07-01 08:37 Karl Deiretsbacher Resolution open => fixed
2024-07-01 08:37 Karl Deiretsbacher Note Added: 0021395