Modules and Schemes¶
Maintainable objects are of two basic types, Modules and Schemes.
Modules roughly relate to stages in the life cycle or publishing packages. Publishing packages pull together related material regarding a study, a series or group of studies, reusable resources, or deposited objects. Modules like DataCollection, LogicalProduct, PhysicalDataProduct, and ConceptualComponents bring together sets of information related to specific activities, the results of a study, or conceptual background. They may include other modules, schemes, or non-scheme based objects.
Schemes are designed to bring together sets of similar objects (i.e. Variables, Concepts, RecordLayouts, etc.) which are managed as a unit for either conceptual or administrative purposes. Schemes have a common structure providing descriptive information about the scheme, a set of similar objects, and the ability to group those objects for administrative purposes.
Figure 2. The relationship between identifiable, versionable and maintainable type objects
N.B.Those names starting with @ are XML attributes, all others are XML elements.
The following objects which consist of the extension bases used for identification and referencing purposes are considered to be Administrative metadata for the purposes of versioning:
Reference and Scheme Reference Type¶
Reference Type¶
Reference Type |
|
---|---|
URN |
The URN of the object being referenced using the specified URN structure |
@typeOfIdentifier |
URN used by Agency [Canonical | Deprecated] |
Agency |
Base sequence of identification. If sequence is used, all are required. |
ID |
The ID of the object being referenced. |
Version |
The Version of the object being referenced. This is the full Version number at the time the reference is created. |
TypeOfObject |
Type of object being referenced. This is a controlled list. |
MaintainableObject |
The Maintainable object containing of the Identifiable or Versionable object being referenced. |
TypeOfObject |
TypeOfObject is required to create Deprecated URN |
MaintainableID |
Required for any URN if ScopeOfUniqueness=”Maintainable”. |
MaintainableVersion |
Provides context base |
@isExternal |
Boolean attribute. If “true” you must supply the URN |
@externalReferenceDefaultURI |
A local store for the referenced object expressed as a URI |
@isReference |
Fixed value = “true” [specifies object base] |
@lateBound |
Boolean attribute. Set to “true” if you wish to late-bind the reference (i.e., want to reference the most recent version) |
@lateBoundRestriction |
If @lateBound=”true” and this attribute is not provided you will get the most recent version. Use this attribute to restrict the value of the late-bind, for example to restrict to the most recent minor version of major version |
@objectLanguage |
Specify the desired language content (if available) for the referenced item using a valid xml:lang value. |
@sourceContext |
The URN of the parent maintainable at the time of reference (this is not necessarily the same version number as the version of the parent maintainable at point of origin) |
Scheme Reference Type¶
Scheme Reference Type |
|
---|---|
URN |
The URN of the object being referenced using the specified URN structure |
@typeOfIdentifier |
URN used by Agency [Canonical | Deprecated] |
Agency |
Base sequence of identification. If sequence is used, all are required. |
ID |
The ID of the object being referenced. |
Version |
The Version of the object being referenced. This is the full Version number at the time the reference is created. |
TypeOfObject |
Type of object being referenced. This is a controlled list. |
MaintainableObject |
The Maintainable object containing of the Identifiable or Versionable object being referenced. |
TypeOfObject |
TypeOfObject is required to create a Deprecated URN |
MaintainableID |
Required for any URN if ScopeOfUniqueness=”Maintainable”. |
MaintainableVersion |
Provides context base |
Exclude |
Allows the identification of objects within the Scheme which are to be excluded for the purpose of this reference. |
ID |
The ID of the excluded object. |
Version |
The Version of the excluded object. |
@isExternal |
Boolean attribute. If “true” you must supply the URN |
@externalReferenceDefaultURI |
A local store for the referenced object expressed as a URI |
@isReference |
Fixed value = “true” [specifies object base] |
@lateBound |
Boolean attribute. Set to “true” if you wish to late-bind the reference (i.e., want to reference the most recent version) |
@lateBoundRestriction |
If @lateBound=”true” and this attribute is not provided you will get the most recent version. Use this attribute to restrict the value of the late-bind, for example to restrict to the most recent minor version of major version |
@objectLanguage |
Specify the desired language content (if available) for the referenced item using a valid xml:lang value. |
@sourceContext |
The URN of the parent maintainable at the time of reference (this is not necessarily the same version number as the version of the parent maintainable at point of origin) |
Figure 3. The relationship between ReferenceType and SchemeReferenceType