#include "../config/pathan_config.h" /* * Copyright (c) 2001, DecisionSoft Limited All rights reserved. * Please see LICENSE.TXT for more information. */ #include #include #include #include #include DataItemContextItem::DataItemContextItem(XPath2MemoryManager* memMgr) : DataItemImpl(memMgr) { setType(DataItem::CONTEXT_ITEM); } DataItemContextItem::~DataItemContextItem() { //no-op } DataItem* DataItemContextItem::staticResolution(StaticContext *context, StaticResolutionContext *src) { src->contextItemUsed(true); return resolvePredicates(context, src); } Sequence DataItemContextItem::collapseTreeInternal(DynamicContext* context, int flags) const { const Item* item = context->getContextItem(); if(item == 0) { DSLthrow(ContextException,X("DataItemContextItem::collapseTreeInternal"), X("It is an error for the context item to be undefined when using it [err:XP0002]")); } return Sequence(item, context->getMemoryManager()); }