Is it possible to use only a part of the GJXDM or NIEM schema for applications?

For most information exchange applications, it is preferable not to use the entire schema, but rather a "subset" schema containing only those types and elements needed for that exchange.

When creating a subset, it is important to follow a small set of rules, to ensure that the subset is the functional equivalent (for a particular application) of the full GJXDM or NIEM. The most important subset rule is that an instance that validates against a correct GJXDM or NIEM subset will also validate against the entire GJXDM or NIEM schema.  This and other rules for subset schemas have been published online (see link below), so it is certainly possible for schema designers to create subset schemas "by hand" by following these rules.

However, after the idea of subset schemas was introduced, manual creation of subset schemas proved cumbersome, tedious, and error-prone. This was mostly because when selecting a type or element for the subset, there are often other types and elements on which the selected type or element is dependent upon; these dependencies have to be included in the subset for it to be valid. While sometimes difficult to remember, the rules for dependencies are nonetheless consistent and deterministic. Luckily, as a result, the rules lend themselves to implementation in a tool that checks the validity of the subset schema.

GJXDM Validator: (Note: Currently there is no Validator for NIEM, but it can be validated using third party tools)

Rules for Schema Subsets: