SBML L3v1Core p. 144 and 150.
As discovered by Lucian Smith in the context of issue #3476019, validation rules 10311 and 20401 have overlap: Both of them state "The value of the attribute id in a UnitDefinition object must conform to the syntax of the SBML type UnitSId". 20401 also adds the condition that the identifier must not be identical to certain other identifiers. This is actually a bad thing because it means that whatever trips 10311 must always also trip 20401.
A possible solution would be to remove the duplicate statement in 20401.
My feeling is that the better change is to remove the redundancy from the text of rule 20401. Rule 10311 is in a block of rules all concerned with syntax of identifiers, so IMHO it makes more sense to leave it there, and remove the syntax statements from rule 20401, leaving 20401 to talk about the uniqueness of identifiers.
I am accepting this issue as valid.
I am fine removing the redundancy from either place.
I agree with the proposed change and that it should be done.
I agree with the proposed change and that it should be done.
Since we have 4 editors agreeing, i believe we can count this as an accepted issue and the solution found.
Moving his to status 'Pending' and adding it to the list of known errata at http://sbml.org/Documents/Specifications/SBML_Level_3/Version_1/Core/Confirmed_issues_in_the_Level_3_Version_1_Core_Specification
Fixed in SVN for L3v2, and will be part of the forthcoming release of that specification.