xfi:filter-member-network-selection

xs:QName*=xfi:filter-member-network-selection( $dimension as xs:QName, $member as xs:QName, $linkrole as xs:string, $arcrole as xs:string, $axis as xs:string)

Last updated on 16-03-2011 at 11:00:00.

Returns a sequence containing a select set of dimension member QNames for the specified explicit dimension considering only those members that have the specified relationship axis to the specified origin member in the network of effective relationships with the specified link role for the specified arc role. The set of dimension member QNames is in an arbitrary order (not necessarily that of effective tree relationships order).

Documentation

Note that the relationships can be expressed by an arc element that conforms to the requirements set out in the XBRL 2.1 specification. Importantly, the relationships do not have to be expressed by XBRL 2.1 definition arc elements and they do not have to have arcroles defined in the XBRL Dimensions specification. Note that if the QName given for the member argument is not a member of the relevant explicit dimension, the function returns the empty sequence.

Parameters

Name Type Details
dimension xs:QName The QName of the dimension. This input is provided so that the function can check that the members selected from the network are members of the dimension, and only return those that are.
member xs:QName The QName of the dimension member that the selection criteria specified by the axis parameter are going to be applied relative to.
linkrole xs:string The linkrole value that specifies the network of effective relationships to determine the selected members on the specified axis from the member used as the origin.
arcrole xs:string The arcrole value that specifies the network of effective relationships as above.
axis xs:string The axis value MUST be one of: descendant-or-self child-or-self descendant child If the axis value is 'child' then the result includes those domain members in the explicit dimension domain that are targets of effective arcrole relationships from the member identified by QName in the linkrole network. If the axis value is 'child-or-self' then the result includes the domain member identified by the member QName and those domain members in the explicit dimension domain that are targets of effective arcrole relationships from the domain member identified by QName value. If the axis value is 'descendant' then the filter-member set includes those domain members in the explicit dimension domain that are descendants of the member QName, in the linkrole network of arcrole effective relationships. If the axis value is 'descendant-or-self' then the filter-member set includes includes the domain member identified by the member QName and those domain members in the explicit dimension domain that are descendants of the member QName, in the linkrole network of arcrole effective relationships.

Output

Type: xs:QName*

Returns a sequence which is the set of reportable dimension member QNames for the specified explicit dimension per the inputs described above. (Note: the definition of a set requires that it have distinct members.)

Errors

Code Details
xfie:invalidDimensionQName This error MUST be thrown if the dimension is not in the reference discoverable taxonomy set.

Conformance suite

90213 xfi.filter-member-network-selection testcase.xml [ download ]

Owners

Name Affiliation Email Start End
Herm Fischer UBMatrix / Mark V Systems fischer@markv.com 01-09-2008 at 00:00:00
Geoff Shuetrim Galexy geoff@galexy.net 11-11-2008 at 00:00:00 12-11-2008 at 00:00:00
David North CoreFiling dtn@corefiling.com 19-09-2011 at 09:22:09

Revisions

Name On Details
Herm Fischer 01-09-2008 at 00:00:00 Created the function definition.
Herm Fischer 02-09-2008 at 00:00:00 Added error code xbrldfe:ambiguousFilterMemberNetwork.
Geoff Shuetrim 11-11-2008 at 00:00:00 Updated the wording for the xfie:unrecognisedExplicitDimensionValueQName error code.
Geoff Shuetrim 19-03-2009 at 00:00:00 Added documentation clarifying the generality of the function.
Herm Fischer 09-09-2010 at 00:00:00 Changed input role URIs to strings for cast-less coding and to be similar to fn:QName's $paramURI, an xs:string.
Herm Fischer 10-03-2011 at 23:00:00 Removed error unrecognisedExplicitDimensionValueQName because this prevents use of the function when the formula author can not know in advance whether an extended link role network contains a dimension, such as when iterating over extended link roles of an SEC or IFRS filing to find dimensional networks. Removed ambiguousFilterMemberNetwork error because its original purpose is no longer relevant or applicable.
Herm Fischer 16-03-2011 at 11:00:00 Clarified that the result, as originally described, is a set, which must by definition have distinct members.
19-09-2011 at 09:22:35 Clarified that when the member argument is not a member of the relevant dimension, the empty set should be returned.