Syntax Rules

From XBRLWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 09:17, 18 October 2012 (edit)
Hommes (Talk | contribs)
(Domains)
← Previous diff
Current revision (11:48, 25 October 2012) (edit)
Hommes (Talk | contribs)
(Domains)
 
Line 35: Line 35:
Current references are described in plain English; as a consequence, labels are a better solution than reference linkbases. In the future, a structured approach for legal references could be undertaken. Current references are described in plain English; as a consequence, labels are a better solution than reference linkbases. In the future, a structured approach for legal references could be undertaken.
 +
 +=== Metrics ===
 +* Metrics MUST have @nillable='true'
 +* Metrics MUST be abstract='false', since this is the XML Schema default this attribute/value in not mandatory on the metric concept
 +* Metrics MUST have @substitutionGroup='xbrli:item'
=== Dimensions (Axes) === === Dimensions (Axes) ===
Line 48: Line 53:
* Families MUST have @type='model:familyType'. * Families MUST have @type='model:familyType'.
<span style="background-color:yellow">[[Talk:Syntax_Rules#Comment-09|Comment-09]]</span> <span style="background-color:yellow">[[Talk:Syntax_Rules#Comment-09|Comment-09]]</span>
 +
 +=== Frameworks ===
 +* Frameworks MUST have @abstract='true'.
 +* Frameworks MUST have @substitutionGroup='xbrli:item'.
 +* Frameworks MUST have @type='model:frameworkType'.
 +<span style="background-color:yellow">[[Talk:Syntax_Rules#Comment-11|Comment-11]]</span>
=== Perspectives === === Perspectives ===
* Perspective linkrole definition schema MUST import fam.xsd and dim.xsd * Perspective linkrole definition schema MUST import fam.xsd and dim.xsd
* Perspective linkroles MUST have generic labels (in the same folder) * Perspective linkroles MUST have generic labels (in the same folder)
 +
 +=== TableGroups ===
 +* Taxonomies MUST have @abstract='true'.
 +* Taxonomies MUST have @substitutionGroup='xbrli:item'.
 +* Taxonomies MUST have @type='model:tableGroupType'.
 +<span style="background-color:yellow">[[Talk:Syntax_Rules#Comment-13|Comment-13]]</span>
 +
 +=== Taxonomies ===
 +* Taxonomies MUST have @abstract='true'.
 +* Taxonomies MUST have @substitutionGroup='xbrli:item'.
 +* Taxonomies MUST have @type='model:taxonomyType'.
 +<span style="background-color:yellow">[[Talk:Syntax_Rules#Comment-12|Comment-12]]</span>
=== Domains === === Domains ===
Line 61: Line 84:
* Typed domains MUST NOT have @substitutionGroup='xbrli:item'. * Typed domains MUST NOT have @substitutionGroup='xbrli:item'.
* Typed domains MUST have @type='xbrli:stringItemType'. * Typed domains MUST have @type='xbrli:stringItemType'.
 +
 +* Metrics domains are not a separate type of concept, if multiple metrics are used on a single hypercube in the arcrole 'all', any of them can act as domain, suggested is to take 'the first'.
 +
 +<span style="background-color:yellow">[[Talk:Syntax_Rules#Comment-14|Comment-14]]</span>
=== Domain members === === Domain members ===
Line 67: Line 94:
* Default explicit domain members MUST have @model:isDefaultMember='true' * Default explicit domain members MUST have @model:isDefaultMember='true'
 +<span style="background-color:yellow">[[Talk:Syntax_Rules#Comment-10|Comment-10]]</span>
 +
 +=== Hierarchies of explicit domain members ===
 +* Hierarchy linkroles MUST have generic labels (in the same folder)
 +* The arcrole of the relationships hosted MUST be domain-member in D-linkbases;
 +* The arcrole of the relationships hosted MUST be parent-child in P-linkbases;
 +* The arcrole of the relationships hosted MUST be complete-breakdown, partial-breakdown or superset-breakdown in C-linkbases;
 +* The custom arcrole complete-breakdown MUST use http://www.eurofiling.info/xbrl/arcrole/complete-breakdown as its arcrole URI;
 +* The custom arcrole partial-breakdown MUST use http://www.eurofiling.info/xbrl/arcrole/partial-breakdown as its arcrole URI;
 +* The custom arcrole superset-breakdown MUST use http://www.eurofiling.info/xbrl/arcrole/superset-breakdown as its arcrole URI;

Current revision

Contents

Public elements

  • Public elements MUST have two custom attributes: @model:creationDate and @model:modificationDate.

Comment-01

  • Public elements MAY have two custom attributes: @model:fromDate and @model:toDate.

These attributes establish its currency period (note that the validity of the concept MAY differentiate from its currentness due to reports from long ago). Omission of these attributes results to 'Forever' behaviour. Comment-06 Comment-07

Labels

  • Language specific information MUST be expressed through label relationships.
  • Concepts MUST use 2.1 labels.
  • Concepts represented by xlink resources MUST use generic labels.

Comment-02

Comment-03

Comment-04

Comment-05


  • There are best practices for using labels and including the right type of natural language expressions. Clarity and understandability are topmost requirements.

OMG standards (like BPMN) for example formulate such best practices. Also W§C standards have such rules, like SKOS. [add quotes and more desciption] One aspect that is very relevant, is the fact that a label should be used more than once. Or that prefLabel are really prefered and its content not repeated in altLabel (or verboseLabel). It is better not to use the "verboseLabel" then to use it with a content already present in the "prefLabel". Some text

Note:

Current references are described in plain English; as a consequence, labels are a better solution than reference linkbases. In the future, a structured approach for legal references could be undertaken.

Metrics

  • Metrics MUST have @nillable='true'
  • Metrics MUST be abstract='false', since this is the XML Schema default this attribute/value in not mandatory on the metric concept
  • Metrics MUST have @substitutionGroup='xbrli:item'

Dimensions (Axes)

  • Dimension schemas MUST have a single definition linkbase referenced.
  • Dimension-domain and dimension-defaultMember relationships MUST be placed in the XBRL default linkrole http://www.xbrl.org/2003/role/link.
  • Dimension-domain relationships MUST use @usable='false'.
  • Concepts in the xbrldt:dimensionItemType substitutionGroup AND carrying the @name='baseItem' MUST have @xbrli:balance.

Comment-08

Families

  • Families MUST have @abstract='true'.
  • Families MUST have @substitutionGroup='xbrli:item'.
  • Families MUST have @type='model:familyType'.

Comment-09

Frameworks

  • Frameworks MUST have @abstract='true'.
  • Frameworks MUST have @substitutionGroup='xbrli:item'.
  • Frameworks MUST have @type='model:frameworkType'.

Comment-11

Perspectives

  • Perspective linkrole definition schema MUST import fam.xsd and dim.xsd
  • Perspective linkroles MUST have generic labels (in the same folder)

TableGroups

  • Taxonomies MUST have @abstract='true'.
  • Taxonomies MUST have @substitutionGroup='xbrli:item'.
  • Taxonomies MUST have @type='model:tableGroupType'.

Comment-13

Taxonomies

  • Taxonomies MUST have @abstract='true'.
  • Taxonomies MUST have @substitutionGroup='xbrli:item'.
  • Taxonomies MUST have @type='model:taxonomyType'.

Comment-12

Domains

  • Explicit domains MUST have @abstract='true'.
  • Explicit domains MUST have @substitutionGroup='xbrli:item'.
  • Explicit domains MUST have @type='model:explicitDomainType'.
  • Typed domains MUST have @abstract='true'.
  • Typed domains MUST NOT have @substitutionGroup='xbrli:item'.
  • Typed domains MUST have @type='xbrli:stringItemType'.
  • Metrics domains are not a separate type of concept, if multiple metrics are used on a single hypercube in the arcrole 'all', any of them can act as domain, suggested is to take 'the first'.

Comment-14

Domain members

  • Explicit domain members MUST have @abstract='true'.
  • Explicit domain members MUST have @type='nonnum:domainItemType'.
  • Default explicit domain members MUST have @model:isDefaultMember='true'

Comment-10

Hierarchies of explicit domain members

Personal tools