Replies: 3 comments 1 reply
-
I thought about this a bit. There are probably (at least) two parts:
The technical part of an extension is really about saying what we mean in a machine readable way. That is a bit difficult, because OSCAL is a producer standard (or spec): it says how to make OSCAL documents, not how to process them. So one approach is to say "if you don't understand my extension (and maybe version), you can't process my document - just stop now". A less strict approach is to allow extensions to flag if the extension needs to be understood, or is just supplemental data. If we're going to allow supplemental data, then consumers / processors need to know what to do with it - just pass it through or drop it are probably the reasonable options. First cut extension mechanism:
That allows to to handle cases like: Obviously it is limiting in that it doesn't provide ability to do something like a |
Beta Was this translation helpful? Give feedback.
-
This question will be addressed by #857. |
Beta Was this translation helpful? Give feedback.
-
@david-waltermire-nist I know #825 was closed and it is only one extension mechanism in OSCAL, but is it something I should declare and reframe as an issue for consideration the OSCAL 1.1.0 Milestone? |
Beta Was this translation helpful? Give feedback.
-
This is a generalization of a question from gitter, where there was some discussion on the use of
ns
forprop
values.My concern is how domain-specific extensions (of which
prop
is an example) get handled, and how consumers can know that ignoring an extension isn't going to break things.As an example, consider
<prop name="ControlShouldBeLeftOut" value="true" ns="http://example.com"/>
If I'm a consumer that is aware of all extensions, and the semantics associated with them, then I could do the right thing in every case. However that seems a lot to ask without at least some kind of policy on publishing them, and a standard way to interpret the (machine-readable?) policy.
Perhaps it would be better to publish some guidance on what extensions can (and can not) do?
Possibly there should be some metadata flag that says "to interpret this catalog, consumers need to understand the following extensions: X, Y, Z"? That could also drive to more modular / re-usable extension mechanisms / policies.
Beta Was this translation helpful? Give feedback.
All reactions