com.ihr.xbrl.om.formula.functions
Class XFI_filter_member_network_selection

java.lang.Object
  extended by net.sf.saxon.expr.Expression
      extended by net.sf.saxon.expr.FunctionCall
          extended by com.ihr.xbrl.om.formula.functions.XFFunction
              extended by com.ihr.xbrl.om.formula.functions.XFI_filter_member_network_selection
All Implemented Interfaces:
java.io.Serializable, javax.xml.transform.SourceLocator, net.sf.saxon.event.LocationProvider, net.sf.saxon.event.SaxonLocator, net.sf.saxon.expr.EvaluableItem, net.sf.saxon.expr.SequenceIterable, net.sf.saxon.trace.InstructionInfo, org.xml.sax.Locator

public class XFI_filter_member_network_selection
extends XFFunction

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

Author:
Ignacio
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.expr.Expression
EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, PROCESS_METHOD, PUSH_SELECTION, WATCH_METHOD
 
Constructor Summary
XFI_filter_member_network_selection()
           
 
Method Summary
 net.sf.saxon.om.SequenceIterator iterate(net.sf.saxon.expr.XPathContext context)
           
 net.sf.saxon.expr.Expression optimize(net.sf.saxon.expr.ExpressionVisitor visitor, net.sf.saxon.type.ItemType contextItemType)
          Perform optimisation of an expression and its subexpressions.
 net.sf.saxon.expr.Expression typeCheck(net.sf.saxon.expr.ExpressionVisitor visitor, net.sf.saxon.type.ItemType contextItemType)
           
 
Methods inherited from class com.ihr.xbrl.om.formula.functions.XFFunction
addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, getDetails, getErrorCodeForTypeErrors, getFormulaProcessor, getItemType, makeSystemFunction, setDetails, setFormulaProcessor
 
Methods inherited from class net.sf.saxon.expr.FunctionCall
addExternalFunctionCallToPathMap, equals, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, toString
 
Methods inherited from class net.sf.saxon.expr.Expression
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getImplementationMethod, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XFI_filter_member_network_selection

public XFI_filter_member_network_selection()
Method Detail

iterate

public net.sf.saxon.om.SequenceIterator iterate(net.sf.saxon.expr.XPathContext context)
                                         throws net.sf.saxon.trans.XPathException
Specified by:
iterate in interface net.sf.saxon.expr.SequenceIterable
Overrides:
iterate in class net.sf.saxon.expr.Expression
Throws:
net.sf.saxon.trans.XPathException

typeCheck

public net.sf.saxon.expr.Expression typeCheck(net.sf.saxon.expr.ExpressionVisitor visitor,
                                              net.sf.saxon.type.ItemType contextItemType)
                                       throws net.sf.saxon.trans.XPathException
Overrides:
typeCheck in class net.sf.saxon.expr.FunctionCall
Throws:
net.sf.saxon.trans.XPathException

optimize

public net.sf.saxon.expr.Expression optimize(net.sf.saxon.expr.ExpressionVisitor visitor,
                                             net.sf.saxon.type.ItemType contextItemType)
                                      throws net.sf.saxon.trans.XPathException
Description copied from class: XFFunction
Perform optimisation of an expression and its subexpressions.

This method is called after all references to functions and variables have been resolved to the declaration of the function or variable, and after all type checking has been done.

Overrides:
optimize in class XFFunction
Parameters:
visitor - an expression visitor
contextItemType - the static type of "." at the point where this expression is invoked. The parameter is set to null if it is known statically that the context item will be undefined. If the type of the context item is not known statically, the argument is set to Type.ITEM_TYPE
Returns:
the original expression, rewritten if appropriate to optimize execution
Throws:
net.sf.saxon.trans.XPathException - if an error is discovered during this phase (typically a type error)


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