Filter Axis 1.0

Public Working Draft 21 December 2011

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

This version:
<http://www.xbrl.org/Specification/filter-axis/PWD-2011-12-21/filter-axis-PWD-2011-12-21.html>
Editors:
Herm Fischer, Mark V Systems <fischer@markv.com>
Victor Morilla, Banco de España <victor.morilla@bde.es>
Contributors:
Geoff Shuetrim, Galexy Pty. <geoff@galexy.com>
Bartosz Ochocki, BRAG <bartosz.ochocki@br-ag.eu>
Masatomo Goto, Fujitsu Ltd. <mg@jp.fujitsu.com>
Roland Hommes, RHOCON <roland@rhocon.nl>
Hugh Wallis, Standard Dimensions <hugh@standarddimensions.com>

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 rendering-feedback@xbrl.org, and to submit notification of any relevant patent rights of which they are aware and provide supporting documentation.

Abstract

This document specifies semantics and syntax constraints for filter axes. Filter axes provide an implementation of open axes, as defined in the table specification, based on the use of filters.

Table of Contents

1 Introduction
2 Namespaces and namespace prefixes
3 Definitions
4 Aspect Constraints
5 Headers
6 Syntax
6.1 Axis-filter relationships
6.1.1 Axis-filter arcs

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

Figure

1 Filter Axis Model

Definitions

axis-filter arc
axis-filter relationship
complemented axis-filter relationship
covering axis-filter relationship
filter axis

Error code

xbrlte:axisFilterCoversNoAspects


1 Introduction

This document specifies semantics and syntax constraints for filter axes. Filter axes provide an implementation of open axes, as defined in the table specification, based on the use of filters.

2 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 are 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
table http://xbrl.org/2011/table
xbrlte http://xbrl.org/2011/table/error
link http://www.xbrl.org/2003/linkbase
xbrli http://www.xbrl.org/2003/instance
xfi http://www.xbrl.org/2005/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
generic http://xbrl.org/2007/generic

3 Definitions

The figure below provides a model of the filter axis.

Figure 1: Filter Axis Model

A filter axis is an implementation of open axes expressed in terms of variable filters. Those variable filters are associated to the axis through axis-filter relationships.

4 Aspect Constraints

A fact corresponds to a coordinate of a filter axis if it satisfies every filter associated to its own disposition of axis, for that subset of the facts that satisfy or correspond with any preceding axes of the same axis disposition, and that satisfy the coordinates of axes of the other dispositions, and all other predefined coordinates for the cell being rendered.

The aspects covered by a filter axis are the aspects covered by its filters . (The concept of aspect-covering as noted in the variables specification applies to implicit filtering for binding facts to variables of a variable set, and in this specification applies to designating the aspects covered by an axis, for determination of axis aspect coverage conflicts.)

An axis filter cannot be associated to filters that do not cover an aspect.

Error code xbrlte:axisFilterCoversNoAspects MUST be thrown if the processing software encounters a filter in a filter axis that covers no aspects.

5 Headers

Headers of the filter axis are represented by the set of XLink resources in a generic linkbase. They can be associated to generic labels or messages, and generic references. These labels, messages, and references SHOULD be used as labels and references of the headers by a rendering engine. Labels, messages, and references are used in the normal manner of such linkbases, ignoring the link role labels and references.

Usually a filter axis provides a dynamically determined set of columns for which a static label association does not make sense, but instead a message may be associated. Then a typed dimension could use the message’s formatting capabilities. The message context item is bound to one (or more) facts that meet the filter constraints. Thus the message could provide a desired label for a dimension qname value, a typed dimension contents, or period coordinate.

6 Syntax

A filter Axis is represented by a <table:filterAxis> element with one or more <variable:filter> resources related by axis filter arc relationships.

The <filterAxis> may have @value XPath expressions. The context item for each XPath expression is the fact bound to coordinates of each axis, or the selection Axis result when applicable (when bound to coordinates of a cell). XPath expressions may refer to parameters and selection Axes by name, when in effect. The filterAxis may also specify a @format transform, @scale, and @negate, which apply to the fact value to be displayed, after result of any @value expression if present.

6.1 Axis-filter relationships

A axis-filter relationship is a relationship between an <table:filterAxis> and a <variable:filter> expressed by an XLink arc.

To declare an axis-filter relationship an XLink arc MUST:

The arcrole value, http://xbrl.org/arcrole/2011/axis/axis-filter, is declared in the normative schema supplied with this specification.

Axis-filter relationships MUST be expressed by axis-filter arcs. Violations of this requirement can be detected by validation against the XBRL Specification [XBRL 2.1].

A complemented axis-filter relationship is an axis-filter relationship that is expressed by an arc with a @complement attribute that has a value of true.

A filterAxis with a complemented axis-filter relationship to a filter uses the filter complement in its implied XPath expression rather than the filter itself.

A covering axis-filter relationship is a axis-filter relationship that is expressed by an arc with a @cover attribute that has a value of true.

If a filter is related to a variable by a variable-filter relationship, that filter only covers aspects of the facts being filtered if the variable-filter relationship is covering.

6.1.1 Axis-filter arcs

A axis-filter arc is expressed by the <table:axisFilterArc> element.

The syntax for the <variable:axisFilterArc> element is defined by the normative schema supplied with this specification.

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/2011/ - 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/2011/filter-axis.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:gen
="http://xbrl.org/2008/generic"

xmlns:link
="http://www.xbrl.org/2003/linkbase"

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

xmlns:table
="http://xbrl.org/2011/table"
targetNamespace="http://xbrl.org/2011/table" elementFormDefault="qualified">
<annotation>
<appinfo>
<link:arcroleType id="axis-filter" cyclesAllowed="undirected" arcroleURI="http://xbrl.org/arcrole/2011/axis-filter">
<link:definition>
filter applied to filter axis
</link:definition>
<link:usedOn>
table:axisFilterArc
</link:usedOn>
</link:arcroleType>
</appinfo>
</annotation>
<import namespace="http://xbrl.org/2008/generic" schemaLocation="http://www.xbrl.org/2008/generic-link.xsd"/>
<annotation>
<appinfo>
<link:arcroleType id="axis-filter" cyclesAllowed="undirected" arcroleURI="http://xbrl.org/arcrole/2011/axis/axis-filter">
<link:definition>
filter component of axis * maybe we should call it aspect *
</link:definition>
<link:usedOn>
table:axisFilterArc
</link:usedOn>
</link:arcroleType>
</appinfo>
</annotation>
<complexType name="filterAxis.type">
<complexContent mixed="true">
<extension base="table:openAxis.type"/>
</complexContent>
</complexType>
<element id="xml-filter-axis" name="filterAxis" substitutionGroup="table:openAxis" type="table:filterAxis.type"/>
<element id="xml-axis-filter-arc" name="axisFilterArc" substitutionGroup="gen:arc">
<complexType>
<complexContent>
<extension base="gen:genericArcType">
<attribute name="complement" type="boolean" use="required"/>
</extension>
</complexContent>
</complexType>
</element>
</schema>

Appendix B References

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 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/)

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
01 October 2011Herm Fischer

Initial draft

11 October 2011Hugh Wallis

Prepare for DPWD

05 December 2011Herm Fischer

Update class diagram, provide schema definitions.

19 December 2011Herm Fischer

Editorial updates suggested by Roland Hommes in WG e-mail of 2011-12-08.

Appendix F Errata corrections in this document

This appendix contains a list of the errata corrections that have been incorporated into this document. This represents all those errata corrections that have been approved by the XBRL International Rendering Working Group up to and including 21 December 2011.

No errata have been incorporated into this document.