/* * Copyright (c) 2001, DecisionSoft Limited All rights reserved. * Please see LICENSE.TXT for more information. */ #ifndef _DATAITEMSTEP_HPP #define _DATAITEMSTEP_HPP #include #include class NavStepImpl; ///this class calculates a node list based on a context class PATHAN_EXPORT DataItemStep : public DataItemImpl { public: //constuctor that takes the step this DataItem is refuring to DataItemStep(NavStepImpl* step, XPath2MemoryManager* memMgr); ~DataItemStep(); /** * Called during static analysis of expression to determine is statically * correct. If not an appropriate error is thrown. */ virtual DataItem* staticResolution(StaticContext *context, StaticResolutionContext *src); //collapase the compiled expression based on context virtual Sequence collapseTreeInternal(DynamicContext* context, int flags=0) const; virtual Sequence checkPredicate(const Sequence &s, const DataItem *predicate, DynamicContext *context) const; const NavStepImpl *getNavStep() const; private: NavStepImpl* _step; }; #endif