Generic messages 1.0

Public Working Draft 16 December 2009

Copyright ©2009 XBRL International Inc., All Rights Reserved.

This version:
<http://www.xbrl.org/Specification/genericMessages/PWD-2009-12-16/genericMessages-PWD-2009-12-16.html>
Editors:
Masatomo Goto, Fujitsu <mg@jp.fujitsu.com>
Takahide Muramoto, Fujitsu <taka.muramoto@jp.fujitsu.com>
Hitoshi Okumura, Fujitsu <okmr@jp.fujitsu.com>
Herm Fischer, UBMatrix / Mark V Systems <fischer@markv.com>
Andy Harris, UBMatrix <andy.harris@ubmatrix.com>
Victor Morilla, Banco de España <victor.morilla@bde.es>
Contributors:
Masaru Uchida, Fujitsu <m-uchida@jp.fujitsu.com>
Suguru Washio, Fujitsu <wasio@jp.fujitsu.com>
Geoff Shuetrim, Galexy <geoff@galexy.net>
Roland Hommes, Rhocon <roland@rhocon.nl>

Status

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.

Abstract

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.

Table of Contents

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

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

Table

1 Namespaces and namespace prefixes

Example

1 Messages

Definitions


XML schema
element-message relationship
expansion of a message
message
message expression context
referred element
rfc2119 terminology

Error codes

xbrlmsge:missingLeftCurlyBracketInMessage
xbrlmsge:missingRightCurlyBracketInMessage


1 Introduction

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.

1.1 Background

This specification extends the labelling capabilities of the XBRL Specification [XBRL 2.1].

1.2 Relationship to other work

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.

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 Terminology

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].

1.5 Document conventions (non-normative)

Documentation conventions follow those set out in the XBRL Variables Specification [VARIABLES].

1.6 Namespaces and namespace prefixes

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.

Table 1: Namespaces and namespace prefixes
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

2 Syntax

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.

2.1 Messages

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.

Example 1: Messages
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">
{sum($weightedChildValues)}
</label>
</msg:message>

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.

2.2 Element-message relationships

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.

2.3 Message roles

For convenience, the normative schema of this specification contains the following resource role declarations:

These resource roles can be used to establish different message styles for the same referred element.

3 Expansion of messages

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:

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.

Appendix A Normative schema

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:

  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/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.
  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.
<schema xmlns:msg="http://xbrl.org/2010/message" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:gen="http://xbrl.org/2008/generic" xmlns:xl="http://www.xbrl.org/2003/XLink" targetNamespace="http://xbrl.org/2010/message" elementFormDefault="qualified">
<import namespace="http://xbrl.org/2008/generic" schemaLocation="http://www.xbrl.org/2008/generic-link.xsd"/>
<import namespace="http://www.xbrl.org/2003/XLink" schemaLocation="http://www.xbrl.org/2003/xl-2003-12-31.xsd"/>
<annotation>
<appinfo>
<link:roleType roleURI="http://www.xbrl.org/2010/role/message" id="standard-message">
<link:usedOn>
msg:message
</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.xbrl.org/2010/role/verboseMessage" id="verbose-message">
<link:usedOn>
msg:message
</link:usedOn>
</link:roleType>
<link:roleType roleURI="http://www.xbrl.org/2010/role/terseMessage" id="terse-message">
<link:usedOn>
msg:message
</link:usedOn>
</link:roleType>
</appinfo>
</annotation>
<element id="xml-message" name="message" substitutionGroup="xl:resource">
<complexType mixed="true">
<complexContent mixed="true">
<extension base="xl:resourceType">
<sequence>
<any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
</extension>
</complexContent>
</complexType>
</element>
</schema>

Appendix B References

GENERIC LINKS
XBRL International Inc.. "XBRL Generic Links 1.0"
Mark Goodhand, Ignacio Hernández-Ros, and Geoff Shuetrim.
(See http://www.xbrl.org/Specification/gnl/REC-2009-06-22/gnl-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)
VARIABLES
XBRL International Inc.. "XBRL Variables 1.0"
Phillip Engel, Herm Fischer, Victor Morilla, Jim Richards, Geoff Shuetrim, David vun Kannon, and Hugh Wallis.
(See http://www.xbrl.org/Specification/variables/REC-2009-06-22/variables-REC-2009-06-22.html)
XBRL 2.1
XBRL International Inc.. "Extensible Business Reporting Language (XBRL) 2.1"
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
W3C (World Wide Web Consortium). "Extensible Markup Language (XML) 1.0 (Fourth Edition)"
Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, and François Yergeau.
(See http://www.w3.org/TR/REC-xml/)
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 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/)
XPATH 2.0
W3C (World Wide Web Consortium). "XML Path Language (XPath) 2.0"
Anders Berglund, Scott Boag, Don Chamberlin, Mary F. Fernández, Michael Kay, Jonathan Robie, and Jérôme Siméon.
(See http://www.w3.org/TR/xpath20/)
XSLT 2.0
W3C (World Wide Web Consortium). "XSL Transformations (XSLT) Version 2.0"
Michael Kay.
(See http://www.w3.org/TR/xslt20/)

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 including the participants in the Formula Working Group.

Appendix E Document history (non-normative)

DateAuthorDetails
09 June 2009Masatomo Goto

First internal working draft created.

19 November 2009Herm 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 2009Victor 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 <msg:message> as resource for messages. Previous specification reused <label:label> . But considering that messages have additional syntax restrictions, I have deemed convenient the creation of a different 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 ca:aspect-matched-facts to allow access to these facts from XPath expressions.

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 @separator attribute to be used in expansion of sequences.

08 December 2009Victor Morilla

Specification renamed to Messages. References to generic messages removed.

12 December 2009Victor Morilla

Specification split into generic messages and assertion messages.

13 December 2009Victor Morilla

Included xml:lang as mandatory attribute

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 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.