Roman Ćapacz wrote an example of his label proposal:
<nml:label>
<nml:parameter name="type">c-vlan</nml:parameter>
<nml:parameter name="value>42</nml:parameter>
</nml:label>
By default, other namespaces than nml basic one are not needed but I
would not forbid them. Use of a set of nml:parameter elements (flat
structure) seems to be enough flexible to cover almost all possible
cases but I can imagine a very rare requirement to have a nested
structure inside nml:label, for example:
<nml:label>
<nml:paremeter name="type">xyz</nml:parameter>
<nml-ext:something_1>
<nml-ext:something_2>
...
</nml-ext:something_2>
</nml-ext:something_1>
</nml:label>
(that is why I've added anyElement in the RNC snippet)
If you are 100% sure that such a requirement will not come up I'm fine
to remove this extension possibility.
My question to all: how to we want NML to be extensible?
In this particular use case I'm pretty confident that if we extend NML
as in the above example, all parsers need to be rewritten/modified, and
we will make this a "NML version 2" including the required change in
(URL of) the NML base schema. Hence, this extensibility is not required
for this NML version 1.
That said, I can imagine that someone will interweave third-part XML
constructs. E.g., some software may add some policy attributes:
<nml:label>
<nml:paremeter name="type">xyz</nml:parameter>
<myauth:policy>
<myauth:user>PSNC</myauth:user>
<myauth:permission>allow-all-labels</myauth:permission>
</myauth:policy>
</nml:label>
Specific questions:
1. Should we allow/support interweaving of third-part XML constructs in
NML, or explicitly restrict/forbid that?