Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BrowseName missing namespace index #108

Open
JElgar opened this issue Jan 10, 2025 · 9 comments
Open

BrowseName missing namespace index #108

JElgar opened this issue Jan 10, 2025 · 9 comments

Comments

@JElgar
Copy link

JElgar commented Jan 10, 2025

Ive notice in some specs the BrowseName is missing a namespace index e.g.

https://github.com/OPCFoundation/UA-Nodeset/blob/dee199135d85a5cb0dc5db25e27228b1f9d7ea0d/AutoID/Opc.Ua.AutoID.NodeSet2.xml#L173C36-L173C59

According to this: https://reference.opcfoundation.org/Core/Part6/v104/docs/F.3 it seems like both the namespace index and the name should be included.

This may be related to this issue but its not totally clear to me #22

Im trying to understand

  1. Why is there this discrepancy here, am I missing something?
  2. Is there some fallback value for when the namespace index is not there (e.g. is it always 0 as this seem to suggest https://reference.opcfoundation.org/DI/v102/docs/11.2)?
@AndreasHeine
Copy link

https://reference.opcfoundation.org/Core/Part3/v104/docs/5.2.4

Servers may often choose to use the same namespace for the NodeId and the BrowseName. However, if they want to provide a standard Property, its BrowseName shall have the namespace of the standards body although the namespace of the NodeId reflects something else, for example the local Server.

@JElgar
Copy link
Author

JElgar commented Jan 10, 2025

Thank you for the quick response! Sorry I find that paragraph quite hard to understand, does that mean if a BrowseName does not have a namespace index then the namespace index matches that of the NodeId?

@AndreasHeine
Copy link

AndreasHeine commented Jan 10, 2025

Thank you for the quick response! Sorry I find that paragraph quite hard to understand, does that mean if a BrowseName does not have a namespace index then the namespace index matches that of the NodeId?

its a companion spec. so it shall have the index of the origin standard body so either di or opc ua...

still looking!

edit: as far as i know its only allowed in nodeids to omit the "ns=0" for example... have never read something similar for browsenames!

@AndreasHeine
Copy link

AndreasHeine commented Jan 10, 2025

the nodeset says

<Alias Alias="EnumValueType">i=7594</Alias>

which means it shall be 0 because it comes from ua namespace

ping: @GoetzGoerisch

@JElgar
Copy link
Author

JElgar commented Jan 10, 2025

Sorry I'm not very familiar with this stuff so still a bit lost. Why does that Alias mean it comes from ua namespace?

@AndreasHeine
Copy link

AndreasHeine commented Jan 10, 2025

https://reference.opcfoundation.org/Core/Part6/v104/docs/F.15

maybe this section helps

because the EnumValueType has alias nodeid without a namespaceindex which means its UA namespace.

the part i cant answer is if its allowed to omit the index in browsenames in the nodesetfile if its UA namespace similar to nodeids!?

@opcfoundation-org
Copy link
Contributor

The string syntax is defined here:
https://reference.opcfoundation.org/Core/Part6/v105/docs/5.1.12#_Ref122649467

The NamespaceIndex is not missing. It is omitted if NS=0
i.e. 0:EnumValues and EnumValues are the same.

@JElgar
Copy link
Author

JElgar commented Jan 20, 2025

Ah thats brill thank you!

Does this mean the documentation in other places needs updating, or are those referring to a different kind of qualified name? e.g. both the following don't mention its optional

(Also is there a better repo/place to discuss documentation issues?)

@opcfoundation-org
Copy link
Contributor

The first reference should reference the formal syntax that was not defined when the text was written.

The second reference is the encoding independent definition of the QualifiedName which always has the NamespaceIndex.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants