com.ihr.xbrl.om.xdt
Class XDTDimension

java.lang.Object
  extended by com.ihr.xbrl.om.xdt.XDTDimension

public class XDTDimension
extends java.lang.Object

Author:
Ignacio

Field Summary
static int EXPLICIT
           
static int TYPED
           
 
Constructor Summary
XDTDimension(XBRLItem item, XDTProcessor processor)
           
 
Method Summary
 java.util.ArrayList<net.sf.saxon.value.QNameValue> filter_member_network_selection(net.sf.saxon.value.QNameValue qMember, net.sf.saxon.value.StringValue qLinkRole, net.sf.saxon.value.StringValue arcRole, net.sf.saxon.value.StringValue axis)
          Backup function of the XFI function with the same name.
 javax.xml.namespace.QName getDefault()
          Access to the QName that is the default value for the dimension.
 int getDimensionType()
          Returns EXPLICIT or TYPED
 java.util.Iterator<javax.xml.namespace.QName> getDomain()
          Access to the dimension domain of members.
 XBRLItem getItem()
           
 XMLElementDefinition getTypedElement()
          Access to the element that is valid content for the typed dimension
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXPLICIT

public static final int EXPLICIT
See Also:
Constant Field Values

TYPED

public static final int TYPED
See Also:
Constant Field Values
Constructor Detail

XDTDimension

public XDTDimension(XBRLItem item,
                    XDTProcessor processor)
Parameters:
item -
Method Detail

getDefault

public javax.xml.namespace.QName getDefault()
Access to the QName that is the default value for the dimension.

Default values are global so the method belongs to the dimension and not to the dimension use.

Returns:
QName or null if no default value exist

getItem

public XBRLItem getItem()

getDimensionType

public int getDimensionType()
Returns EXPLICIT or TYPED

Returns:
int

getTypedElement

public XMLElementDefinition getTypedElement()
Access to the element that is valid content for the typed dimension


getDomain

public java.util.Iterator<javax.xml.namespace.QName> getDomain()

Access to the dimension domain of members.

This method is rarely used because the domain of members depends on the dimension usage and the dimension use is different on each hypercube declaration. This method should only be used when there is a need to know the dimension domain regardless of the dimension use or in the absence of an hypercube

Only usable members are returned

Works only if the dimension is Explicit

Returns:
Iterator<QName> Iterator over defined domain members of this dimension

filter_member_network_selection

public java.util.ArrayList<net.sf.saxon.value.QNameValue> filter_member_network_selection(net.sf.saxon.value.QNameValue qMember,
                                                                                          net.sf.saxon.value.StringValue qLinkRole,
                                                                                          net.sf.saxon.value.StringValue arcRole,
                                                                                          net.sf.saxon.value.StringValue axis)
                                                                                   throws XDTAmbiguousFilterMemberNetwork
Backup function of the XFI function with the same name.

The existence of this function in the functions conformance suite makes me wonder if the authors of the functions specification has ever understood the XBRL Dimensions Specification 1.0.

The function has parameters dimension QName and Member QName for start exploring for more members in the same domain. Surprisingly the function does not considers the concept QName which is supposed to make USE OF THE DIMENSION through an hypercube.

Note that the hypercube can modify the dimension content via all and not-all combinations.

It looks like the authors of the functions specification took a very syntactical approach to the dimensions specification rather than an object model approach in which an object is declared once and used multiple times. Certainly, the Dimensions Specification was written with the idea of being able to redefine a dimension members each time a dimension is used in a concept and this function is ignoring this capability.

Parameters:
axis -
arcRole -
qLinkRole -
qMember -
bFound -
Returns:
Array of QNames or null if the value of qMember is not a domain member
Throws:
XDTAmbiguousFilterMemberNetwork


Copyright 2006-2009 Reporting Standard S.L., C/ Torrecilla del Puerto 1, 28043, Madrid, Espaņa