View Issue Details

IDProjectCategoryView StatusLast Update
000652210000-006: MappingsSpecpublic2021-08-31 15:56
ReporterHerbert Oppmann Assigned ToRandy Armstrong  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Summary0006522: XML mapping restricts BrowseNames of Complex DataTypes and their members
Description

In the XML mapping of values of Complex DataTypes, both the name of the type and the names of the members end up as names of XML elements in the XML NodeSet. Element names have to follow the rules from https://www.w3.org/TR/xml/#NT-Name, so either
1) if a Complex DataType or one of its members does not follow the rules for an XML name, the value can't be mapped to XML (something I don't like)
or
2) an official, unique, reversable mapping has to be defined from any utf-8 BrowseName to an XML Name to be used as Element name (I'm not sure if I like that - that will look ugly)
or
3) the possible mapping to XML unfortunately places restrictions on the names of Complex DataTypes and their members (and that should be documented)

There is an additional complexity here: In names of XML elements, escape sequences are not allowed, i.e. something like <Element> does not work. Therefore, the allowed characters also depend on the XML document encoding:
<?xml version='1.0' encoding='utf-8'?> would be fine for everything, but e.g. <?xml version="1.0" encoding="ascii"?> would narrow down the allowed characters of a Name.

Two possible solutions for the document encoding dependency:

1) In addition to the restrictions of XML Name, names of Complex DataType and their members shall be ASCII only, so they work with any XML document encoding
2) OPC UA NodeSet XML files shall use document encoding "utf-8" to not further restrict names of Complex DataType and their members beyond what XML Name requires

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Jim Luth

2021-04-06 16:55

administrator   ~0014175

Better proposal is to use the Symbolic Name to mitigate this.

Randy Armstrong

2021-08-14 00:52

administrator   ~0014737

Add reference SymbolicName in DataTypeDefinition in OPC 10000-6 - UA Specification Part 6 - Mappings 1.05.3 RC

Jim Luth

2021-08-31 15:56

administrator   ~0014784

Agreed to changes edited in 1.05.01 Draft 4.

Issue History

Date Modified Username Field Change
2021-02-25 15:00 Herbert Oppmann New Issue
2021-04-06 16:55 Jim Luth Note Added: 0014175
2021-04-06 16:55 Jim Luth Assigned To => Randy Armstrong
2021-04-06 16:55 Jim Luth Status new => assigned
2021-08-14 00:52 Randy Armstrong Status assigned => resolved
2021-08-14 00:52 Randy Armstrong Resolution open => fixed
2021-08-14 00:52 Randy Armstrong Note Added: 0014737
2021-08-31 15:56 Jim Luth Status resolved => closed
2021-08-31 15:56 Jim Luth Note Added: 0014784