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
NOASSERTION
should be a general concept and not element of the enum values
#71
Comments
optional values (or |
I completely agree - 'no assertion' is a concept, one which is permitted for some fields (the value is said to be optional) and prohibited for other fields (the value is said to be required). It makes sense for 'no assertion' to be expressed in a serialisation format or programming language's 'native' way, if available. Thus, in a Clojure implementation I would use If an Element declares that it conforms to a specific SPDX profile, that may make some fields required where they would otherwise be optional. As a clarification, when you say:
...I presume you are referring to SPDX Element types that have an Enum field, not the 'end user' of SPDX data? |
+1 It should be noted that UNKNOWN is distinct from NOASSERTION -- it is an explicit statement rather than the lack of a statement, so UNKNOWN Is a legitimate enumerated item. For fields that are optional in some contexts and required in others, both application behavior and serialization must be carefully considered.
|
this is a duplicate of #76? |
Close this issue as it's being tracked in #76 |
Currently the .png shows the ENUM values of
DependencyScope
:I think this should not include
noAssertion
and that instead there should be a general concept of optional values. And, if an optional value is not present, that can be serialized asNOASSERTION
ornull
or ...Further, the default value and cardinallity of an enum should be decided by the user and not by the enum.
(It might also be an issue, that some programming languages have global namespaces for enum vaules and
noAssertion
is appearing in multiple ones)The text was updated successfully, but these errors were encountered: