Versioning Concept Details 1.0

Proposed Recommendation 15 January 2013

Copyright © 2009, 2010, 2011, 2012, 2013 XBRL International Inc., All Rights Reserved.

This version:
<http://www.xbrl.org/Specification/versioning-concept-details/PR-2013-01-15/versioning-concept-details-PR-2013-01-15.html>
Editors:
Roland Hommes, Rhocon <roland@rhocon.nl>
Paul Warren, CoreFiling <pdw@corefiling.com>
Herm Fischer, UBmatrix / Mark V Systems <fischer@markv.com>
Contributors:
Ignacio Hernández-Ros, Reporting Estandar S.L. <ignacio@hernandez-ros.com>
Hugh Wallis, XBRL International Inc. <hughwallis@xbrl.org>
Haiko Philipp, IFRS Foundation <hphilipp@ifrs.org>
Raynier van Egmond, C3i SMC LLC <rve@c3ismc.com>
Geoff Shuetrim, Galexy <geoff@galexy.net>
Ian Stokes-Rees, CoreFiling <ijs@corefiling.com>
David North, CoreFiling <dtn@corefiling.com>
Richard Ashby, CoreFiling <rna@corefiling.com>

Status

Circulation of this Proposed Recommendation is unrestricted. This document is normative. Other documents may supersede this document. Recipients are invited to submit comments to versioning-feedback@xbrl.org, and to submit notification of any relevant patent rights of which they are aware and provide supporting documentation.

Abstract

This specification is an extension to the Versioning Base Specification [XVS-Base]. It specifies how to map and address concept properties, including XML and XBRL attributes on concept definitions, labels and references associated with concept definitions and changes to tuple content models.

This specification must be used in conjunction with the Versioning Base module [XVS-Base] and Versioning Concept Use module [XVS-Concept-Use].

Table of Contents

1 Introduction
1.1 Relationship to other work
1.2 Namespaces and namespace prefixes
1.3 Language independence
1.4 Document conventions
1.4.1 Typographic conventions
1.4.1.1 Definition notation
1.4.1.2 Footnote notation
1.4.1.3 Element and attribute notation
1.4.2 Formatting conventions
1.5 Terminology
2 Definitions
3 Events
3.1 Attribute events
3.1.1 XML Schema Attribute Events
3.1.1.1 Validation rules
3.1.2 XBRL Concept Attribute Events
3.2 Custom concept attribute events
3.2.1 Validation rules
3.3 Label and reference events
3.3.1 Label events
3.3.2 Reference events
3.4 Tuple content model events
3.5 Concept correspondence
4 Identifiers
4.1 Resource Identifier
4.1.1 XML Representation
4.2 Concept-Label Identifier
4.2.1 Validation rules
4.3 Concept-Reference Identifier
4.3.1 Validation rules
4.4 Concept-Attribute Identifier
4.5 Attribute Identifier
4.5.1 XML Representation
4.6 Item Concept Identifier
4.6.1 Validation rules
4.7 Tuple Concept Identifier
4.7.1 Validation rules
4.8 Equivalent Attributes

Appendices

A Normative schema
B References
C Intellectual property status (non-normative)
D Acknowledgements (non-normative)
E Document history (non-normative)
F Errata corrections in this document

Tables

1 Namespaces and namespace prefixes
2 XML Schema Attribute Events
3 XBRL Concept Attribute Events
4 Custom Concept Attribute Events
5 Concept label events
6 Concept reference events
7 Tuple content events
8 Allowed resources and relationships for concept-label identifiers
9 Allowed resources and relationships for concept-reference identifiers

Definitions

Attribute Identifier
Concept-Attribute Identifier
Concept-Label Identifier
Concept-Reference Identifier
Effective Relationship
Equivalent Attributes
Item Concept Identifier
Resource Identifier
Tuple Concept Identifier

Error codes

vercde:illegalCustomAttributeEvent
vercde:illegalSchemaAttributeChangeEvent
vercde:invalidAttributeCorrespondence
vercde:invalidConceptCorrespondence
vercde:invalidConceptLabelIdentifier
vercde:invalidConceptReferenceIdentifier
vercde:invalidItemConceptIdentifier
vercde:invalidResourceIdentifier
vercde:invalidTupleConceptIdentifier


1 Introduction

1.1 Relationship to other work

This specification depends upon the following XBRL specifications:

  • XBRL 2.1 Specification [XBRL 2.1]
  • Versioning Base 1.0 Specification [XVS-Base]
  • Versioning Basic Concepts 1.0 Specification []

In the event of any conflicts between this specification and the specifications upon which it depends, this specification does not prevail.

1.2 Namespaces and namespace prefixes

This specification uses a number of namespace prefixes when describing elements and attributes. These are:

Table 1: Namespaces and namespace prefixes
Prefix Namespace URI
ver http://xbrl.org/2013/versioning-base
vercu http://xbrl.org/2013/versioning-concept-use
vercd http://xbrl.org/2013/versioning-concept-details
vercde http://xbrl.org/2013/versioning-concept-details/error

1.3 Language independence

The official language of XBRL International's own work products is English and the preferred spelling convention is UK English.

1.4 Document conventions

1.4.1 Typographic conventions

1.4.1.1 Definition notation

Definitions are highlighted with green text.

1.4.1.2 Footnote notation

Comments which are informative, but not essential to the understanding of the point at hand, are provided in footnotes. All footnotes are non-normative.

1.4.1.3 Element and attribute notation

When referring to a specific element, it will be identified by its namespace prefix and local name. For example, the root element of a versioning report would be referred to as <ver:report> .

Attributes are also identified by their local name and, where appropriate, their namespace prefix. Attributes are distinguished from elements by prefixing them by an @ symbol. Thus, @id refers to the attribute with the name id.

When referring to any attribute, so long as it has a specific namespace, the local name is replaced by an asterisk ( *). Thus, the notation @xml:* specifies any attribute in the namespace http://www.w3.org/XML/1998/namespace.

1.4.2 Formatting conventions

The following highlighting is used for normative technical material in this document:

Text of the normative example.

The following highlighting is used for non-normative examples in this document:

Text of the non-normative example.

The following highlighting is used for non-normative examples of poor, discouraged or disallowed usage.

Text of the discouraged example.

1.5 Terminology

The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, in this specification, are to be interpreted as described in [IETF RFC 2119].

The key words element, attribute, namespace name and namespace prefix in this document are to be interpreted as described in the XML Names Specification [XML Names].

The key words content model and actual value in this document are to be interpreted as described in the XML Schema Structures Specification [XML Schema Structures].

The key word QName in this document is to be interpreted as described in the XML Schema Datatypes Specification [XML Schema Datatypes].

The key words concept, tuple, item, tuple declaration, relationship, network, base set, label, reference and arc in this document are to be interpreted as described in the XBRL Specification [XBRL 2.1].

The key word resource in this document is to be interpreted as described in the XLink Specification [XLINK].

2 Definitions

An Effective Relationship is a relationship that is included in the network of relationships for a base set of arcs, under the Rules of Prohibiting and Overriding Relationships in the XBRL Specification [XBRL 2.1].

3 Events

This specification supports the communication of information about changes to the details of concept definitions. Specific Events are defined for:

3.1 Attribute events

3.1.1 XML Schema Attribute Events

The table below lists Events that MAY be used to document changes to attributes defined for use on element declarations by the XML Schema specification [XML Schema Structures]. These attributes have no namespace name.

Table 2: XML Schema Attribute Events
Code Element XML Schema Attribute From Identifier To Identifier
[ConceptIDChange] <vercd:conceptIDChange> @id Concept Identifier Concept Identifier
[ConceptTypeChange] <vercd:conceptTypeChange> @type Concept Identifier Concept Identifier
[ConceptSubstitutionGroupChange] <vercd:conceptSubstitutionGroupChange> @substitutionGroup Concept Identifier Concept Identifier
[ConceptNillableChange] <vercd:conceptNillableChange> @nillable Concept Identifier Concept Identifier
[ConceptAbstractChange] <vercd:conceptAbstractChange> @abstract Concept Identifier Concept Identifier
[ConceptBlockChange] <vercd:conceptBlockChange> @block Concept Identifier Concept Identifier
[ConceptDefaultChange] <vercd:conceptDefaultChange> @default Concept Identifier Concept Identifier
[ConceptFixedChange] <vercd:conceptFixedChange> @fixed Concept Identifier Concept Identifier
[ConceptFinalChange] <vercd:conceptFinalChange> @final Concept Identifier Concept Identifier

The Events defined in the table above indicate a change in the actual value of an attribute. Note that the actual value would be unchanged if in one DTS the attribute were omitted and in the other the attribute were explicitly reported with a value that was equal to the attribute's default value.

The ConceptSubstitutionGroupChange Event SHOULD be used to indicate that a concept has changed from a tuple concept to an item concept or vice versa.

The Working Group considers changes to concept @id attributes as events that are not likely to be reported, since software approaches the attribute as an internal key with no semantics attached to it.

3.1.1.1 Validation rules

When one of the XML Schema Attribute Events is used, the relevant attribute MUST have an actual value in at least one of the from or to DTSs. Error code vercde:illegalSchemaAttributeChangeEvent is raised otherwise.

Some attributes, such as @fixed, do not have a default value. This validation rule prevents the reporting of incorrect events for these attributes where the attribute is not present in either the from or the to DTS (in which case, because it has no default, it does not have an actual value).

3.1.2 XBRL Concept Attribute Events

The table below lists Events that MAY be used to document changes to attributes defined for use on concept declarations by the XBRL specification [XBRL 2.1]. These attributes have a namespace name of http://www.xbrl.org/2003/instance.

Table 3: XBRL Concept Attribute Events
Code Element XBRL Attribute From Identifier To Identifier
[PeriodTypeChange] <vercd:conceptPeriodTypeChange> @xbrli:periodType Item Concept Identifier Item Concept Identifier
[BalanceChange] <vercd:conceptBalanceChange> @xbrli:balance Item Concept Identifier Item Concept Identifier

3.2 Custom concept attribute events

The table below documents Events that MAY be used to document changes in attributes other than those defined by the XML Schema specification [XML Schema Structures], the XBRL Specification [XBRL 2.1] and the XBRL Dimensions Specification [DIMENSIONS].

Table 4: Custom Concept Attribute Events
Code Element From Identifier To Identifier
[AttributeDelete] <vercd:conceptAttributeDelete> Concept-Attribute Identifier -
[AttributeAdd] <vercd:conceptAttributeAdd> - Concept-Attribute Identifier
[AttributeChange] <vercd:conceptAttributeChange> Concept-Attribute Identifier Concept-Attribute Identifier
[AttributeDefinitionChange] <vercd:attributeDefinitionChange> Attribute Identifier Attribute Identifier

The AttributeDelete and AttributeAdd indicate the removal or addition of a custom attribute, respectively, between the From-DTS and the To-DTS. These events may be grouped into a single Action to represent replacement of one custom attribute with another.

The AttributeChange event is used to indicate a change in the value of a custom attribute.

The AttributeDefinitionChange event is used to indicate a global change in the definition of a custom attribute. This MAY include changes in the name or namespace name of the attribute, or changes in the underlying schema definition of the attribute.

3.2.1 Validation rules

Identifiers used in these Events MUST NOT reference attributes with no namespace name, or with a namespace name of http://www.xbrl.org/2003/instance, http://www.w3.org/2001/XMLSchema, or http://xbrl.org/2005/xbrldt. Error code vercde:illegalCustomAttributeEvent is raised otherwise.

AttributeChange events MUST only be reported for Equivalent Attributes. Error code vercde:invalidAttributeCorrespondence is raised otherwise.

3.3 Label and reference events

3.3.1 Label events

Additions of, deletions of, and changes to labels associated with concepts MAY be documented using the Events defined in the table below.

Table 5: Concept label events
Code Element From Identifier To Identifier
[LabelDelete] <vercd:conceptLabelDelete> Concept-Label Identifier -
[LabelAdd] <vercd:conceptLabelAdd> - Concept-Label Identifier
[LabelChange] <vercd:conceptLabelChange> Concept-Label Identifier Concept-Label Identifier

It should be noted that the LabelChange Event does not require any correspondence between the language, resource role, or extended link role of the labels involved. It is for the creator of the Versioning Report to determine if a scenario should be represented as a "change" or the deletion of one label and the addition of another.

3.3.2 Reference events

Additions of, deletions of, and changes to references associated with concepts MAY be documented using the Events defined in the following table.

Table 6: Concept reference events
Code Element From Identifier To Identifier
[ReferenceDelete] <vercd:conceptReferenceDelete> Concept-Reference Identifier -
[ReferenceAdd] <vercd:conceptReferenceAdd> - Concept-Reference Identifier
[ReferenceChange] <vercd:conceptReferenceChange> Concept-Reference Identifier Concept-Reference Identifier

It should be noted that the ReferenceChange Event does not require any correspondence between the language, resource role, or extended link role of the references involved. It is for the creator of the Versioning Report to determine if a scenario should be represented as a "change" or the deletion of one reference and the addition of another.

3.4 Tuple content model events

The TupleContentModelChange event MAY be used to document any change in the content model of a tuple concept.

Table 7: Tuple content events
Code Element From-DTS To-DTS
[TupleContentModelChange] <vercd:tupleContentModelChange> Tuple Concept Identifier Tuple Concept Identifier

The TupleContentModelChange event SHOULD NOT be used where the only changes to the content model are changes to the names or namespace names between Equivalent Concepts.

3.5 Concept correspondence

Where an Event in this specification requires both a From Identifier and a To Identifier and each identifier is one of:

then the concepts identified by both identifiers  MUST be identified as Equivalent Concepts or Related Concepts using the mechanism specified in the Versioning Concept Use specification [XVS-Concept-Use]. Error code vercde:invalidConceptCorrespondence is raised otherwise.

4 Identifiers

4.1 Resource Identifier

A Resource Identifier is an Identifier for an XLink resource.

4.1.1 XML Representation

A Resource Identifier is represented by either a <vercd:fromResource> or a <vercd:toResource> element. These elements have a mandatory @value attribute, the value of which is a URL identifying the resource. The URL MUST contain a fragment identifier. The fragment identifier MUST either be an XPointer Shorthand Pointer or be an XPointer Scheme-Based Pointer that uses only the element scheme. The URL MUST resolve to an XLink resource. Error code vercde:invalidResourceIdentifier is raised otherwise.

4.2 Concept-Label Identifier

A Concept-Label Identifier is a combination of a Concept Identifier and a Resource Identifier where the identified resource represents a label for the identified concept. The specification allows for labels defined using the syntax defined in either the XBRL Specification [XBRL 2.1] or the Generic Labels Specification [GENERIC LABELS].

4.2.1 Validation rules

The identified concept and label MUST be connected by at least one effective relationship out of the types defined in the table below. Error code vercde:invalidConceptLabelIdentifier is raised otherwise.

Table 8: Allowed resources and relationships for concept-label identifiers
Resource Arc-role Arc element Link element
<link:label> http://www.xbrl.org/2003/arcrole/concept-label <link:labelArc> <link:labelLink>
<label:label> http://xbrl.org/arcrole/2008/element-label <gen:arc> any

4.3 Concept-Reference Identifier

A Concept-Reference Identifier is a combination of a Concept Identifier and a Resource Identifier where the identified resource represents a reference for the identified concept. The specification allows for references defined using the syntax defined in either the XBRL Specification [XBRL 2.1] or the Generic Reference Specification [GENERIC REFERENCES].

4.3.1 Validation rules

The identified concept and reference MUST be connected by at least one effective relationship out of the types defined in the table below. Error code vercde:invalidConceptReferenceIdentifier is raised otherwise.

Table 9: Allowed resources and relationships for concept-reference identifiers
Resource Arc-role Arc element Link element
<link:reference> http://www.xbrl.org/2003/arcrole/concept-reference <link:referenceArc> <link:referenceLink>
<reference:reference> http://xbrl.org/arcrole/2008/element-reference <gen:arc> any

4.4 Concept-Attribute Identifier

A Concept-Attribute Identifier is the combination of a Concept Identifier and the usage on that concept of an attribute specified by an Attribute Identifier.

4.5 Attribute Identifier

An Attribute Identifier is an Identifier for the declaration of an XML attribute.

4.5.1 XML Representation

An Attribute Identifier is represented by:

The attribute is identified by the mandatory @name attribute, which specifies the QName of the attribute. An Attribute Identifier cannot reference an attribute that has no namespace name.

4.6 Item Concept Identifier

An Item Concept Identifier is a Concept Identifier that identifies an item concept.

4.6.1 Validation rules

The identified concept MUST be a valid item, as defined in the XBRL Specification [XBRL 2.1]. Error code vercde:invalidItemConceptIdentifier is raised otherwise.

4.7 Tuple Concept Identifier

A Tuple Concept Identifier is a Concept Identifier that identifies a tuple concept.

4.7.1 Validation rules

The identified concept MUST be a valid tuple declaration, as defined in the XBRL Specification [XBRL 2.1]. Error code vercde:invalidTupleConceptIdentifier is raised otherwise.

4.8 Equivalent Attributes

Two attributes are considered to be Equivalent Attributes when they are both used to record values for the same piece of business information in relation to a concept.

Attributes AF and AT are Equivalent Attributes if:

Or:

  • AF and AT have the same local name; and

Appendix A Normative schema

<!-- Copyright 2007 XBRL International. All Rights Reserved. This version is non-normative - it should be identical to the normative version that is contained in Appendix A of the relevant specification except for this comment. Following the schema maintenance policy of XBRL International, it is the intent (but is not guaranteed) that the location of non-normative versions of these schemas on the web will be as follows: 1) While any schema is the most current RECOMMENDED version and until it is superseded by any additional errata corrections a non-normative version will reside on the web in the directory http://www.xbrl.org/YYYY/ - during the drafting process for this specification this directory should contain a copy of the most recent published version of the schema at http://www.xbrl.org/YYYY/schema-name.xsd. 2) A non-normative version of each schema as corrected by any update to the RECOMMENDATION will be archived in perpetuity on the web in a directory that will contain a unique identification indicating the date of the update. -->
<xs:schema
  xmlns:xlink
="http://www.w3.org/1999/xlink"

  xmlns:xs
="http://www.w3.org/2001/XMLSchema"

  xmlns:ver
="http://xbrl.org/2013/versioning-base"

  xmlns:vercu
="http://xbrl.org/2013/versioning-concept-use"

  xmlns:vercd
="http://xbrl.org/2013/versioning-concept-details"
targetNamespace="http://xbrl.org/2013/versioning-concept-details" elementFormDefault="qualified">
<xs:import namespace="http://xbrl.org/2013/versioning-base" schemaLocation="versioning-base.xsd"/>
<xs:import namespace="http://xbrl.org/2013/versioning-concept-use" schemaLocation="versioning-concept-use.xsd"/>
<!-- custom attributes nodes on concepts (not in xs, xbrli or xdt namespace) -->
<xs:element name="fromCustomAttribute" type="ver:name.type" id="xml-from-custom-attribute"/>
<xs:element name="toCustomAttribute" type="ver:name.type" id="xml-to-custom-attribute"/>
<!-- To address resources in the to-DTS and from-DTS (two nodes for the changeResourceEvent) -->
<xs:element name="toResource" type="ver:uri.type"/>
<xs:element name="fromResource" type="ver:uri.type"/>
<!-- add-delete custom attribute event nodes, NO change since there is only a QName -->
<xs:complexType id="xml-add.attribute.event.type" name="add.attribute.event.type">
<xs:complexContent>
<xs:extension base="ver:event.type">
<xs:sequence>
<xs:element ref="vercu:toConcept"/>
<xs:element ref="vercd:toCustomAttribute"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- change custom attribute definition. Apply globally to attribute definitions, not on specific concepts. -->
<xs:complexType id="xml-change.attribute.definition.event.type" name="change.attribute.definition.event.type">
<xs:complexContent>
<xs:extension base="ver:event.type">
<xs:sequence>
<xs:element ref="vercd:fromCustomAttribute"/>
<xs:element ref="vercd:toCustomAttribute"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType id="xml-delete.attribute.event.type" name="delete.attribute.event.type">
<xs:complexContent>
<xs:extension base="ver:event.type">
<xs:sequence>
<xs:element ref="vercu:fromConcept"/>
<xs:element ref="vercd:fromCustomAttribute"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType id="xml-change.attribute.event.type" name="change.attribute.event.type">
<xs:complexContent>
<xs:extension base="ver:event.type">
<xs:sequence>
<xs:element ref="vercu:fromConcept"/>
<xs:element ref="vercd:fromCustomAttribute"/>
<xs:element ref="vercu:toConcept"/>
<xs:element ref="vercd:toCustomAttribute"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- add-delete-change xlink resource event nodes -->
<xs:complexType id="xml-add.resource.event.type" name="add.resource.event.type">
<xs:complexContent>
<xs:extension base="ver:event.type">
<xs:sequence>
<xs:element ref="vercu:toConcept"/>
<xs:element ref="vercd:toResource"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType id="xml-delete.resource.event.type" name="delete.resource.event.type">
<xs:complexContent>
<xs:extension base="ver:event.type">
<xs:sequence>
<xs:element ref="vercu:fromConcept"/>
<xs:element ref="vercd:fromResource"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType id="xml-change.resource.event.type" name="change.resource.event.type">
<xs:complexContent>
<xs:extension base="ver:event.type">
<xs:sequence>
<xs:element ref="vercu:fromConcept"/>
<xs:element ref="vercd:fromResource"/>
<xs:element ref="vercu:toConcept"/>
<xs:element ref="vercd:toResource"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Concept XSD/XBRLI/XDT attribute events -->
<xs:element id="xml-concept.id.event" name="conceptIDChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.type.event" name="conceptTypeChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.substitution.group.event" name="conceptSubstitutionGroupChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.default.event" name="conceptDefaultChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.nillable.event" name="conceptNillableChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.abstract.event" name="conceptAbstractChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.block.event" name="conceptBlockChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.fixed.event" name="conceptFixedChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.final.event" name="conceptFinalChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.period.type.event" name="conceptPeriodTypeChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.balance.event" name="conceptBalanceChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<!-- Concept custom attribute events -->
<xs:element id="xml-concept.add.attribute.event" name="conceptAttributeAdd" type="vercd:add.attribute.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.delete.attribute.event" name="conceptAttributeDelete" type="vercd:delete.attribute.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.change.attribute.event" name="conceptAttributeChange" type="vercd:change.attribute.event.type" substitutionGroup="ver:event"/>
<!-- Global custom attribute definition events -->
<xs:element id="xml-concept.change.attribute.definition.event" name="attributeDefinitionChange" type="vercd:change.attribute.definition.event.type" substitutionGroup="ver:event"/>
<!-- Concept tuple children events -->
<xs:element id="xml-tuple.change.content.model.event" name="tupleContentModelChange" type="vercu:change.element.event.type" substitutionGroup="ver:event"/>
<!-- Label resource events -->
<xs:element id="xml-concept.add.label.event" name="conceptLabelAdd" type="vercd:add.resource.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.delete.label.event" name="conceptLabelDelete" type="vercd:delete.resource.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.change.label.event" name="conceptLabelChange" type="vercd:change.resource.event.type" substitutionGroup="ver:event"/>
<!-- Reference resource events -->
<xs:element id="xml-concept.add.reference.event" name="conceptReferenceAdd" type="vercd:add.resource.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.delete.reference.event" name="conceptReferenceDelete" type="vercd:delete.resource.event.type" substitutionGroup="ver:event"/>
<xs:element id="xml-concept.change.reference.event" name="conceptReferenceChange" type="vercd:change.resource.event.type" substitutionGroup="ver:event"/>
</xs:schema>

Appendix B References

DIMENSIONS
XBRL International Inc.. "XBRL Dimensions 1.0"
Ignacio Hernández-Ros
, and Hugh Wallis.
(See http://www.xbrl.org/Specification/XDT-REC-2006-09-18.htm)
GENERIC LABELS
XBRL International Inc.. "XBRL Generic Labels 1.0"
Phillip Engel
, Herm Fischer, Victor Morilla, Jim Richards, Geoff Shuetrim, David vun Kannon, and Hugh Wallis.
(See http://www.xbrl.org/Specification/genericLabels/REC-2009-06-22/genericLabels-REC-2009-06-22.html)
GENERIC REFERENCES
XBRL International Inc.. "XBRL Generic References 1.0"
Phillip Engel
, Herm Fischer, Victor Morilla, Jim Richards, Geoff Shuetrim, David vun Kannon, and Hugh Wallis.
(See http://www.xbrl.org/Specification/genericReferences/REC-2009-06-22/genericReferences-REC-2009-06-22.html)
IETF RFC 2119
IETF (Internet Engineering Task Force). "RFC 2119: Key words for use in RFCs to Indicate Requirement Levels"
Scott Bradner.

(See http://www.ietf.org/rfc/rfc2119.txt)
XBRL 2.1
XBRL International Inc.. "Extensible Business Reporting Language (XBRL) 2.1 Includes Corrected Errata Up To 2008-07-02"
Phillip Engel
, Walter Hamscher, Geoff Shuetrim, David vun Kannon, and Hugh Wallis.
(See http://www.xbrl.org/Specification/XBRL-RECOMMENDATION-2003-12-31+Corrected-Errata-2008-07-02.htm)
XLINK
W3C (World Wide Web Consortium). "XML Linking Language (XLink) Version 1.0"
Steve DeRose
, Eve Maler, and David Orchard.
(See http://www.w3.org/TR/xlink/)
XML Names
W3C (World Wide Web Consortium). "Namespaces in XML 1.0 (Second Edition)"
Tim Bray
, Dave Hollander, Andrew Layman, and Richard Tobin.
(See http://www.w3.org/TR/REC-xml-names/)
XML Schema Datatypes
W3C (World Wide Web Consortium). "XML Schema Part 2: Datatypes Second Edition"
Paul V. Biron
, and Ashok Malhotra.
(See http://www.w3.org/TR/xmlschema-2/)
XML Schema Structures
W3C (World Wide Web Consortium). "XML Schema Part 1: Structures Second Edition"
Henry S. Thompson
, David Beech, Murray Maloney, and Noah Mendelsohn.
(See http://www.w3.org/TR/xmlschema-1/)
XPOINTER
W3C (World Wide Web Consortium). "XPointer Framework"
Paul Grosso
, Eve Maler, Jonathan Marsh, and Norman Walsh.
(See http://www.w3.org/TR/xptr-framework/)
XVS-Base
XBRL International Inc. "XBRL Versioning Base 1.0"
Roland Hommes
, and Paul Warren.
(See http://www.xbrl.org/Specification/versioning-base/PR-2013-01-15/versioning-base-PR-2013-01-15.html)
XVS-Concept-Use
XBRL International. "Versioning Concept Use 1.0 Specification"
Roland Hommes
, and Paul Warren.
(See http://www.xbrl.org/Specification/versioning-concept-use/PR-2013-01-15/versioning-concept-use-PR-2013-01-15.html)

Appendix C Intellectual property status (non-normative)

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to XBRL International or XBRL organizations, except as required to translate it into languages other than English. Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).

This document and the information contained herein is provided on an "AS IS" basis and XBRL INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

The attention of users of this document is directed to the possibility that compliance with or adoption of XBRL International specifications may require use of an invention covered by patent rights. XBRL International shall not be responsible for identifying patents for which a license may be required by any XBRL International specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. XBRL International specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents. XBRL International takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).

Appendix D Acknowledgements (non-normative)

This document could not have been written without the contributions of many people.

Appendix E Document history (non-normative)

DateAuthorDetails
30 October 2009Roland Hommes

Merged PWD-2009-05-27 on Context and Syntax into one document, and split the result into modules, this being the 'extended concepts' module which enables concept-level versioning.

12 December 2009Roland Hommes

Created specific events for labels and references, removed reference to XIS.

27 December 2009Herm Fischer

Made an attempt at drafting section 3.

30 December 2009Herm Fischer

Removed prior draft section 3 introduction, added section 3.1, Concept Identification, to clarify the use of fromE and toE on events, particularly of multiply-equivalent related concepts. Also added clarification of EvAttributeChange and EvChildChange events.

11 January 2010Paul Warren

Various editorial changes.

11 January 2010Herm Fischer

Reworded custom attribute's events where the custom attribute has no namespace (sect 2.1), per PW comment. Clarified the custom attribute and child change examples. Reworded section 3.1. Put non-normative stuff into example boxes.

01 February 2010Paul Warren

Split event table into multiple sections. Corrected reference to XML Schema namespace for XML Schema attributes.

01 March 2010Paul Warren

Use QName to identify a custom attribute. Removed non-normative text. Split out definitions of Events and Identifiers. Simplified tuple events.

28 February 2010Roland Hommes

Included remark on @id on concepts and the link to namespace prefix changes. Included http://www.w3.org/2001/XMLSchema in the error on custom Attribute events.

20 June 2010Ian Stokes-Rees

Reordered some content to improve flow, updated references to Base and Concept Basic specs, removed some empty sections, and corrected a few identifier reference errors.

23 January 2011Herm Fischer

Updated schema for QName concept identifier. Commented out these events in schema, which are not currently described in document text: conceptAttributeChange, conceptChildAdd, and conceptChildDelete.

04 February 2011Herm Fischer

Updated Section 3.2 to add back custom concept [AttributeChange] events. Updated description of attribute identifer to use QName and added that prefix-less name means un-prefixed attribute name, not default-namespace QName. Added that custom attribute change is for value only, with name in toDTS the same or relevant namespace-mapped QName.

Updated schema file to remove commented-out tuple content model events for child add and delete, as these are documented by the current [ConceptChildChange] events.

07 March 2011Paul Warren

Updated Section 3.2 to clarify the use of the [AttributeChange] event, added back a "to" identifier for this event, and fixed other issues with the drafting.

07 March 2011Paul Warren

Updated Section 3.1 to advise against reporting events that are a direct result of a change from item to tuple or vice versa.

07 March 2011Paul Warren

Clarified that changes to tuple content models corresponding to name changes between equivalent concepts should not be reported.

07 March 2011Paul Warren

Clarified that label and reference change events can be used even if language and roles have changed.

21 March 2011Paul Warren

Replace customAttribute element with fromCustomAttribute and toCustomAttribute.

22 March 2011Paul Warren

Renamed ConceptChildChange to TupleContentModelChange

18 April 2011Paul Warren

Fixed typo in name of invalidConceptResourceIdentifier. Added additional constraint to Resource Identifier.

20 February 2012David North

Added non-normative clarifying note to invalidConceptResourceIdentifier error code definition.

10 April 2012Richard Ashby

Added new AttributeDefinitionChange for reporting changes in the name or type of custom attributes. De-scoped AttributeChange to refer only to changes in the values of attributes. Added definition of Equivalent Attributes and the error code to be reported if AttributeChanges are reported using attributes which are not equivalent.

10 April 2012Richard Ashby

Clarified the definition of Attribute Identifier to refer to an attribute declaration, not attribute use. Reworded the definition of Concept Attribute Identifier so it still means the same as before, the usage of an attribute on a concept.

19 December 2012Richard Ashby

Removed effectively redundant error code vercde:invalidConceptResourceIdentifier and reworded validation sections so that one of the more specific existing codes vercde:invalidConceptLabelIdentifier and vercde:invalidConceptReferenceIdentifier is raised instead. Removed definition of "Concept Resource Identifier" since it is no longer used.

08 January 2013Richard Ashby

Updated schema namespace to http://xbrl.org/2013/versioning-concept-details and error namespace to http://xbrl.org/2013/versioning-concept-details/error.

Appendix F Errata corrections in this document

This appendix contains a list of the errata that have been incorporated into this document. This represents all those errata corrections that have been approved by the XBRL International Versioning Working Group up to and including 15 January 2013. Hyperlinks to relevant e-mail threads may only be followed by those who have access to the relevant mailing lists. Access to internal XBRL mailing lists is restricted to members of XBRL International Inc.

No errata have been incorporated into this document.