Copyright ©2009 XBRL International Inc., All Rights Reserved.
Circulation of this Public Working Draft is unrestricted. This document is normative. Other documents may supersede this document. Recipients are invited to submit comments to formula-feedback@xbrl.org, and to submit notification of any relevant patent rights of which they are aware and provide supporting documentation.
This document describes an extension to the XBRL 2.1 specification [XBRL 2.1] to provide the base syntax for user messages to describe certain situations in processes based supported by XBRL documents. This specification provides a set of common definitions, resources and relationships that serve as a common foundation for XBRL messages specifications.
1 Introduction
1.1 Background
1.2 Relationship to other work
1.3 Language independence
1.4 Terminology
1.5 Document conventions (non-normative)
1.6 Namespaces and namespace prefixes
2 Syntax
2.1 Messages
2.2 Element-message relationships
2.3 Message roles
3 Expansion of messages
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
1 Namespaces and namespace prefixes
1 Messages
XML schema
element-message relationship
expansion of a message
message
message expression context
referred element
rfc2119 terminology
xbrlmsge:missingLeftCurlyBracketInMessage
xbrlmsge:missingRightCurlyBracketInMessage
This document specifies syntax and semantics for messages that will be generated dynamically by expanding XPath expressions [XPATH 2.0] in certain contexts.
Generic labels document XBRL resources, whereas messages are meant to document events, situations or results in a process supported by XBRL. Generic labels are limited to have only static strings or XTHML fragments. In contrast, messages can include XPath expression in its content in order to calculate, for instance, the deviation of the value of a derived fact from the aspect-matched input fact in a consistency assertion.
This specification extends the labelling capabilities of the XBRL Specification [XBRL 2.1].
This specification depends upon the XBRL Specification [XBRL 2.1]. This specification depends upon the XBRL Generic Link Specification [GENERIC LINKS]. In the event of any conflicts between this specification and the specifications upon which it depends, this specification does not prevail.
The official language of XBRL International's own work products is English and the preferred spelling convention is UK English.
This specification is consistent with the definitions of any of the terms defined in specifications that it depends on.
Where this document refers to an XML schema, it is referring to an XML document [XML] that contains a declaration of a schema that is compliant with XML Schema [XML SCHEMA STRUCTURES].
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].
Documentation conventions follow those set out in the XBRL Variables Specification [VARIABLES].
Namespace prefixes [XML NAMES] will be used
for elements and attributes in
the form ns:name
where ns
is the
namespace prefix and name
is the local name.
Throughout this specification, the mappings
from namespace prefixes to actual namespaces is consistent
with
Table
1.
The prefix column in Table 1 is non normative. The namespace URI column is normative.
Prefix | Namespace URI |
---|---|
msg
|
http://xbrl.org/2010/message
|
xbrlmsge
|
http://xbrl.org/2010/message/error
|
eg
|
http://example.com/
|
fn
|
http://www.w3.org/2005/xpath-functions
|
link
|
http://www.xbrl.org/2003/linkbase
|
xbrli
|
http://www.xbrl.org/2003/instance
|
xfi
|
http://www.xbrl.org/2008/function/instance
|
xbrldi
|
http://xbrl.org/2006/xbrldi
|
xbrldt
|
http://xbrl.org/2005/xbrldt
|
xl
|
http://www.xbrl.org/2003/XLink
|
xlink
|
http://www.w3.org/1999/xlink
|
xs
|
http://www.w3.org/2001/XMLSchema
|
xsi
|
http://www.w3.org/2001/XMLSchema-instance
|
gen
|
http://xbrl.org/2008/generic
|
variable
|
http://xbrl.org/2008/variable
|
iso4217
|
http://www.xbrl.org/2003/iso4217
|
This specification only provides a textual declaration of syntax constraints when those constraints are not expressed by the normative schema supplied with this specification.
Explanations of elements and attributes are only supplied when explanations are not already provided in other specifications.
Unless explicitly stated otherwise, a reference to a specific element MUST be read as a reference to that element or to any element in its substitution group.
A message
is declared by a
<msg:message>
element. A message is
an XLink resource.
The syntax for the
<msg:message>
element is defined by the normative schema supplied with this specification.
The content of the
<msg:message>
element is an XML fragment. Thus, a
message can be
defined by a text string in the case of plain messages, or by an XHTML fragment or any other
XML structure in the case of more complex ones.
Text nodes and attribute values in a message MAY include XPath 2.0 expressions,
following a syntax identical to the one defined for
attribute value templates in [XSLT 2.0].
Each of these text nodes and attribute values consist of sequences of fixed parts and variable parts.
A variable part consists of an XPath expression
enclosed in curly brackets ({})
. A fixed part may contain
any valid character, except that a left curly bracket must
be written as {{
and a right curly bracket must be written as }}
.
The optional
@separator
attribute has implications in the expansion of variable parts, as set out in
Section
3.
All message resources MUST have an
@xml:lang
attribute identifying
the language used for the content of the message, following XML rules on
language identification.
Description | Syntax |
---|---|
Plain message |
<msg:message xlink:type="resource" xlink:role="http://www.xbrl.org/2010/role/message" xml:lang="en">
Inconsistency in concept {node-name($parent)} in context {$parent/@contextRef}
</msg:message> |
XHTML message |
<msg:message xlink:type="resource" xlink:role="http://www.xbrl.org/2010/role/verboseMessage" xml:lang="en">
<b> Inconsistency </b> in <label css="computer"> {node-name($parent)} </label>
in context {$parent/@contextRef}, reported value <label css="computer"> {$parent} </label>,
computed value <label css="computer"> </msg:message>{sum($weightedChildValues)} </label> |
Error code xbrlmsge:missingRightCurlyBracketInMessage MUST be thrown if an unescaped left curly bracket appears in a fixed part of a content of expression message label without a matching right curly bracket.
Error code xbrlmsge:missingLeftCurlyBracketInMessage MUST be thrown if an unescaped right curly bracket appears in a fixed part of a content of expression message label without a matching left curly bracket.
When contained within an XBRL extended
link, a message provides documentation for the elements that it is
related to by element-message
relationships, in the context of a partial or final result of a certain process.
The content of the
<msg:message>
element MUST be
expanded by evaluating its variable parts
in this context, as described in the
Section
3 of this specification.
Element-message relationships are relationships between an XML element and a message expressed by an XLink arc, where the message is the ending resource of the arc.
The starting resource of a element-message relationship is known as the referred element. The referred element is the resource documented by the message and determines the evaluation context of it.
The arcrole value in a element-message relationship indicates the conditions when a message can be communicated in the context of the referred element.
This document does not define any specific arcrole value. It just provides a base for other specifications that define specific element-message relationships.
For convenience, the normative schema of this specification contains the following resource role declarations:
http://www.xbrl.org/2010/role/message
http://www.xbrl.org/2008/role/verboseMessage
http://www.xbrl.org/2008/role/terseMessage
These resource roles can be used to establish different message styles for the same referred element.
When contained within an XBRL extended link, a message provides documentation for the elements that it is related to by element-message relationships, in the context of a partial or final result of a certain process. The expansion of a message is the substitution of its text nodes and attribute values by the concatenation of its fixed and variable parts after performing the following changes:
@separator
attribute of the
<msg:message>
element, or a single space character if not defined.
The XPath context of the expressions evaluated during the expansion of messages is known as message expression context.
Under certain conditions, a message will be expanded and communicated. This specification makes no claims regarding the means to be used to communicate the messages produced. These messages could be included as part of a html report, a graphical interface or an application programming interface.
For a given element-message relationship, the conditions for expanding the message and the definition of its expression context depend on the referred element and arcrole value of the XLink arc that expresses the relationship.
The following is the XML schema provided as part of this specification. This is normative. Non-normative versions (which should be identical to these except for appropriate comments indicating their non-normative status) are also provided as separate files for convenience of users of the specification.
NOTE: (non-normative) 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:
http://www.xbrl.org/2008/
- 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/2010/generic-message.xsd.
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).
This document could not have been written without the contributions of many people including the participants in the Formula Working Group.
Date | Author | Details |
---|---|---|
09 June 2009 | Masatomo Goto |
First internal working draft created. |
19 November 2009 | Herm Fischer |
Incorporate changes per FWG meeting discussion. Removed references to assertion-sets. Added evaluation context definitions, to match that of the applicable assertion. Changed to one arcrole for both successful and not successful messages, and separate resource roles for satisfied and unsatisfied message resource. |
29 November 2009 | Victor Morilla |
Changed name of the specification from generic expression message labels to general messages. Previous name was a bit confusing. With the change, the term label defines documentation of DTS objects, whereas messages correspond to documentation of events or results in processes based on information of the DTS. As these processes have a dynamic nature, inline XPath expressions are quite convenient. Namespaces changed to 2010
Included new element Created resource roles for messages: standard, verbose and terse Created the idea of element-message relationship and reorganization of the text of the specification to facilitate future reusing of messages by new specifications. Included parameters in DTS as part of in-scope variables for the expansion of messages.
Included the special variable Added error for unmatched right curly brackets. Included suggestion by Andy of allowing structure data in message. Now XPath expressions can appear inside text nodes and attribute values Included examples of a plain text and a complex message.
Included |
08 December 2009 | Victor Morilla |
Specification renamed to Messages. References to generic messages removed. |
12 December 2009 | Victor Morilla |
Specification split into generic messages and assertion messages. |
13 December 2009 | Victor Morilla |
Included xml:lang as mandatory attribute |
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 Formula Working Group up to and including 16 December 2009. 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.