8.2.2.5 nt:version

The nt:version node type has the following definition (repeated from 6.7.22.15 nt:version):

NodeTypeName

nt:version

Supertypes

nt:base

mix:referenceable

IsMixin

false

HasOrderableChildNodes

false

PrimaryItemName

null

PropertyDefinition

Name jcr:created

RequiredType DATE

ValueConstraints []

DefaultValues null

AutoCreated true

Mandatory true

OnParentVersion ABORT

Protected true

Multiple false

PropertyDefinition

Name jcr:predecessors

RequiredType REFERENCE

ValueConstraints ["nt:version"]

DefaultValues null

AutoCreated false

Mandatory false

OnParentVersion ABORT

Protected true

Multiple true

PropertyDefinition

Name jcr:successors

RequiredType REFERENCE

ValueConstraints ["nt:version"]

DefaultValues null

AutoCreated false

Mandatory false

OnParentVersion ABORT

Protected true

Multiple true

ChildNodeDefinition

Name jcr:frozenNode

RequiredPrimaryTypes [nt:frozenNode]

DefaultPrimaryType null

AutoCreated false

Mandatory false

OnParentVersion ABORT

Protected true

SameNameSiblings false

nt:version is a subtype of nt:base, so it has the properties jcr:primaryType and jcr:mixinTypes.

In addition, each nt:version node inherits the mixin type mix:referenceable, providing it with a jcr:uuid property.

Additionally it has:

These properties store the meta-data that is needed by the repository to manage the version. In addition to these properties, of course, the version entity must also store the actual state of the node that was versioned to produce it. This is done by storing a “frozen” copy of the versionable node in the form of a special child node of the version node, called jcr:frozenNode: