UPPER and/or lower case in specification
sparrell opened this issue · 2 comments
In the current draft UPPER case is used for all of the Actions and at least one of the current reference implementation allows either UPPER or lower or miXEd case. An issue was raised as a side topic on another issue before the work was moved into this public repo. The side topic was not resolved so I opened this issue so it doesn't get lost. Below is what kicked off the discussion from the other forum.
Brett (chair of STIX committee) commented:
`As a point of clarification when referencing STIX / CybOX items, we use a case and style standard of:
1.3.1. Naming Conventions
All type names, property names and literals are in lowercase. Words in property names are separated with an underscore (_), while words in type names and string enumerations are separated with a dash (-). All type names, property names, object names, and vocabulary terms are between three and 250 characters long. In the JSON serialization all property names and string literals MUST be exactly the same, including case, as the names listed in the property tables in this specification. For example, the SDO common property created_by_ref must result in the JSON key name "created_by_ref". Properties marked required in the property tables MUST be present in the JSON serialization.
1.3.3. Font Colors and Style
The following color, font and font style conventions are used in this document: The Consolas font is used for all type names, property names and literals. type names are in red with a light red background – threat-actor property names are in bold style – created_at literals (values) are in green with a green background – malicious-activity All relationship types” are string literals, therefore they will also appear in green with a green background – related-to In an object's property table, if a common property is being redefined in some way, then the background is dark grey. All examples in this document are expressed in JSON. They are in Consolas 9 pt font, with straight quotes, black text and a light blue background. All examples have a 2 space indentation. Parts of the example may be omitted for conciseness and clarity. These omitted parts are denoted with the ellipses (...).
9.1. Custom Properties
9.1.1. Requirements
Custom Property names MUST be in ASCII and MUST only contain the characters a–z (lowercase ASCII), 0–9, and underscore (_). Custom Property names MUST have a minimum length of 3 ASCII characters. Custom Property names MUST be no longer than 250 ASCII characters in length.
`
The issue is should openc2 follow STIX in specifying "In the JSON serialization all property names and string literals MUST be exactly the same, including case, as the names listed in the property tables in this specification.", and should we follow STIX lower case rule.
This was discussed at the OpenC2-STIX COA working group bi-weekly meeting and everyone agreed that there was no logical reason not to adopt. Next step is modifying the text (in both draft spec and in whatever went to STIX) accordingly. So I'll leave this issue open until then.
This repository has been deprecated.
The naming convention has been updated. See the current version of the Language Description Document.