Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

Sandbox Approach and Conventions

djhaynes edited this page Mar 5, 2012 · 3 revisions

The OVAL Language Sandbox utilizes an experimental namespace to distinguish experimental capabilities from those in the official OVAL Language. The experimental namespace uses the following format.

http://oval.mitre.org/XMLSchema/x-<schema-destination>-<capability>

In this format, <schema-destination> is the OVAL Language schema where the capability will reside if migrated into an official OVAL Language release (e.g. oval, oval-def, macos, macos-def, etc.) and <capability> is the name of the new capability (e.g. pkgutil-test, artifact-hunting, etc.). For consistency, if multiple words are used for either of these values, they should be separated using hyphens. Similarly, the schema files that contain the experimental capabilities will use the following format.

x-<schema-destination>-<capability>.xsd

The primary reason for allowing capabilities to be specified in their own schema files as opposed to requiring that all capabilities destined for a particular OVAL Language schema be specified in a single file (e.g. all Windows capabilities going into a Windows schema file) is to allow for the flexibility of only using the capabilities that are needed. That is, not everyone will want to use every experimental capability for a particular OVAL Language schema. This also has the added benefit of making it much easier to review a particular capability and any changes that are made to it.

Also, to allow for the experimental capabilities to build off of the constructs in the official release of the OVAL Language, the schemas associated with the most current official OVAL Language release will be included in the OVAL Language Sandbox. This will ensure that the community has the ability to use the latest constructs in the OVAL Language, capabilities will progress with the OVAL Language, and the migration of capabilities into an official release of the OVAL Language will be as smooth as possible.

Lastly, in developing new experimental capabilities, it will be necessary to capture various resources such as sample content, code, and useful links among other things. To store these resources, a new directory should be created in the /resources directory that uses the following format.

x-<schema-destination>-<capability>

Having all of the resources associated with a particular experimental capability, in a single location, will simplify the process of migrating the capability into an official release of the OVAL Language.

Clone this wiki locally