You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
on top of #630
changes:
- ADDED: citation's "attributedTo" may also link to tools -- yes, we
have "processes", which are basically tools, but this way it might get
more convenient to use citations for BOM generators.
- DOCS: streamlined documentation
- REFACTOR: reworked the ProtoBuf structures to match some constraints
in the the spec -- `choice`/`oneOf` ...
- TESTS: practical examples for `citation.expressions`
// At least one of the "attributedTo" or "process" elements must be present. This is equivalent to the "anyOf" constraint in the JSON schema.
2621
+
// Details a specific attribution of data within the BOM to a contributing entity or process.
2622
2622
messageCitation {
2623
+
messagePointers {
2624
+
// Users of other serialisation formats (e.g. XML) shall use the JSON Pointer format to ensure consistent field referencing across representations.
2625
+
// Must contain at least 1 item.
2626
+
repeatedstringpointer=1;
2627
+
}
2628
+
messageExpressions {
2629
+
// Specifies a path expression used to locate a value within a BOM. The expression syntax shall conform to the format of the BOM's serialisation.
2630
+
// Use [JSONPath](https://datatracker.ietf.org/doc/html/rfc9535) for JSON, [XPath](https://www.w3.org/TR/xpath/) for XML, and default to JSONPath for Protocol Buffers unless otherwise specified.
2631
+
// Implementers shall ensure the expression is valid within the context of the applicable serialisation format. Use either "pointer" or "expression" but not both in this object.
2632
+
// Must contain at least 1 item.
2633
+
repeatedstringexpression=1;
2634
+
}
2635
+
2623
2636
// Optional unique identifier for the citation
2624
2637
optionalstringbom_ref=1;
2625
-
// One or more JSON Pointers(https://datatracker.ietf.org/doc/html/rfc6901) identifying the BOM fields to which the attribution applies.
2626
-
repeatedstringpointer=2;
2627
-
// Specifies a path expression used to locate a value within a BOM. The expression syntax shall conform to the format of the BOM's serialisation. Use [JSONPath](https://datatracker.ietf.org/doc/html/rfc9535) for JSON, [XPath](https://www.w3.org/TR/xpath/) for XML, and default to JSONPath for Protocol Buffers unless otherwise specified. Implementers shall ensure the expression is valid within the context of the applicable serialisation format. Use either "pointer" or "expression" but not both in this object.
2628
-
repeatedstringexpression=3;
2638
+
// Exactly one of the "pointers" or "expressions" elements must be present.
2639
+
oneoftarget {
2640
+
// One or more JSON Pointers(https://datatracker.ietf.org/doc/html/rfc6901) identifying the BOM fields to which the attribution applies.
2641
+
Pointerspointers=2;
2642
+
// One or more path expressions used to locate values within a BOM.
2643
+
Expressionsexpressions=3;
2644
+
}
2629
2645
// Timestamp when the attribution was made or the information was supplied.
2630
2646
google.protobuf.Timestamptimestamp=4;
2631
-
// The `bom-ref` of an object, such as a component, service, organisational entity, or person that supplied the cited information.
2647
+
// The `bom-ref` of an object, such as a component, service, tool, organisational entity, or person that supplied the cited information.
2648
+
// At least one of the "attributed_to" or "process" elements must be present.
2632
2649
optionalstringattributed_to=5;
2633
-
// An optional `bom-ref` to a process (such as a formula, workflow, task, or step) defined in the `formulation` section that executed or generated the attributed data. At least one of the "attributedTo" or "process" elements must be present.
2650
+
// The `bom-ref` to a process (such as a formula, workflow, task, or step) defined in the `formulation` section that executed or generated the attributed data.
2651
+
// At least one of the "attributed_to" or "process" elements must be present.
2634
2652
optionalstringprocess=6;
2635
-
// An optional description or comment about the context or quality of the data attribution. At least one of the "attributedTo" or "process" elements must be present.
2653
+
// An optional description or comment about the context or quality of the data attribution.
Copy file name to clipboardExpand all lines: schema/bom-1.7.schema.json
+11-11Lines changed: 11 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -532,7 +532,7 @@
532
532
"items": {"$ref": "#/definitions/citation"},
533
533
"uniqueItems": true,
534
534
"title": "Citations",
535
-
"description": "A list of attributions indicating which entity supplied information for specific fields within the BOM."
535
+
"description": "A collection of attributions indicating which entity supplied information for specific fields within the BOM."
536
536
},
537
537
"properties": {
538
538
"type": "array",
@@ -6125,43 +6125,43 @@
6125
6125
"$ref": "#/definitions/refType",
6126
6126
"title": "BOM Reference"
6127
6127
},
6128
-
"attributedTo": {
6129
-
"$ref": "#/definitions/refLinkType",
6130
-
"title": "Attributed To",
6131
-
"description": "The `bom-ref` of an object, such as a component, service, organisational entity, or person that supplied the cited information."
6132
-
},
6133
6128
"pointers": {
6134
6129
"type": "array",
6135
6130
"items": {
6136
6131
"type": "string",
6137
6132
"title": "Field Reference",
6138
-
"description": "A [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) identifying the BOM field to which the attribution applies. Users of other serialisation formats (e.g. XML) shall use the JSON Pointer format to ensure consistent field referencing across representations."
6133
+
"description": "A [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) identifying the BOM field to which the attribution applies.\nUsers of other serialisation formats (e.g. XML) shall use the JSON Pointer format to ensure consistent field referencing across representations."
6139
6134
},
6140
6135
"minItems": 1,
6141
6136
"title": "Field References",
6142
-
"description": "One or more [JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901) identifying the BOM fields to which the attribution applies."
6137
+
"description": "One or more [JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901) identifying the BOM fields to which the attribution applies.\nExactly one of the \"pointers\" or \"expressions\" elements must be present."
6143
6138
},
6144
6139
"expressions": {
6145
6140
"type": "array",
6146
6141
"items": {
6147
6142
"type": "string",
6148
6143
"title": "Path Expression",
6149
-
"description": "Specifies a path expression used to locate a value within a BOM. The expression syntax shall conform to the format of the BOM's serialisation. Use [JSONPath](https://datatracker.ietf.org/doc/html/rfc9535) for JSON, [XPath](https://www.w3.org/TR/xpath/) for XML, and default to JSONPath for Protocol Buffers unless otherwise specified. Implementers shall ensure the expression is valid within the context of the applicable serialisation format."
6144
+
"description": "Specifies a path expression used to locate a value within a BOM. The expression syntax shall conform to the format of the BOM's serialisation.\nUse [JSONPath](https://datatracker.ietf.org/doc/html/rfc9535) for JSON, [XPath](https://www.w3.org/TR/xpath/) for XML, and default to JSONPath for Protocol Buffers unless otherwise specified.\nImplementers shall ensure the expression is valid within the context of the applicable serialisation format."
6150
6145
},
6151
6146
"minItems": 1,
6152
6147
"title": "Path Expressions",
6153
-
"description": "One or more path expressions used to locate values within a BOM."
6148
+
"description": "One or more path expressions used to locate values within a BOM.\nExactly one of the \"pointers\" or \"expressions\" elements must be present."
6154
6149
},
6155
6150
"timestamp": {
6156
6151
"type": "string",
6157
6152
"format": "date-time",
6158
6153
"title": "Timestamp",
6159
6154
"description": "The date and time when the attribution was made or the information was supplied."
6160
6155
},
6156
+
"attributedTo": {
6157
+
"$ref": "#/definitions/refLinkType",
6158
+
"title": "Attributed To",
6159
+
"description": "The `bom-ref` of an object, such as a component, service, tool, organisational entity, or person that supplied the cited information.\nAt least one of the \"attributedTo\" or \"process\" elements must be present."
6160
+
},
6161
6161
"process": {
6162
6162
"$ref": "#/definitions/refLinkType",
6163
6163
"title": "Process Reference",
6164
-
"description": "An optional `bom-ref` to a process (such as a formula, workflow, task, or step) defined in the `formulation` section that executed or generated the attributed data."
6164
+
"description": "The `bom-ref` to a process (such as a formula, workflow, task, or step) defined in the `formulation` section that executed or generated the attributed data.\nAt least one of the \"attributedTo\" or \"process\" elements must be present."
A JSON Pointer(https://datatracker.ietf.org/doc/html/rfc6901) identifying the BOM field to which the attribution applies. Users of other serialisation formats (e.g. XML) shall use the JSON Pointer format to ensure consistent field referencing across representations.
8907
+
A JSON Pointer(https://datatracker.ietf.org/doc/html/rfc6901) identifying the BOM field to which the attribution applies.
8908
+
Users of other serialisation formats (e.g. XML) shall use the JSON Pointer format to ensure consistent field referencing across representations.
8903
8909
</xs:documentation>
8904
8910
</xs:annotation>
8905
8911
</xs:element>
@@ -8917,7 +8923,9 @@ limitations under the License.
Specifies a path expression used to locate a value within a BOM. The expression syntax shall conform to the format of the BOM's serialisation. Use [JSONPath](https://datatracker.ietf.org/doc/html/rfc9535) for JSON, [XPath](https://www.w3.org/TR/xpath/) for XML, and default to JSONPath for Protocol Buffers unless otherwise specified. Implementers shall ensure the expression is valid within the context of the applicable serialisation format.
8926
+
Specifies a path expression used to locate a value within a BOM. The expression syntax shall conform to the format of the BOM's serialisation.
8927
+
Use [JSONPath](https://datatracker.ietf.org/doc/html/rfc9535) for JSON, [XPath](https://www.w3.org/TR/xpath/) for XML, and default to JSONPath for Protocol Buffers unless otherwise specified.
8928
+
Implementers shall ensure the expression is valid within the context of the applicable serialisation format.
8921
8929
</xs:documentation>
8922
8930
</xs:annotation>
8923
8931
</xs:element>
@@ -8935,7 +8943,7 @@ limitations under the License.
0 commit comments