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

figure2

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

figure3