#include "../config/pathan_config.h" /* * Copyright (c) 2001, DecisionSoft Limited All rights reserved. * Please see LICENSE.TXT for more information. */ #include #include #include NavStepImpl::Axis ChildAxis::getAxis() const { return NavStepImpl::CHILD; } Sequence ChildAxis::makeList(const XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *node, const XMLCh* const uri, DynamicContext* context) const { XPath2MemoryManager* memMgr=context->getMemoryManager(); Sequence resultList(memMgr); if(node->getNodeType() != XERCES_CPP_NAMESPACE_QUALIFIER DOMNode::ATTRIBUTE_NODE) { XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *kid = node->getFirstChild(); while (!kid == 0) { if(kid->getNodeType() == XERCES_CPP_NAMESPACE_QUALIFIER DOMNode::ENTITY_REFERENCE_NODE) resultList.joinSequence(makeList(kid,uri,context)); else if(filterNode(kid,uri,context)) resultList.addItem(memMgr->createNode(kid)); kid = kid->getNextSibling(); } } return resultList; }