#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 #include NavStepImpl::Axis ParentAxis::getAxis() const { return NavStepImpl::PARENT; } Sequence ParentAxis::makeList(const XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *node, const XMLCh* const uri, DynamicContext* context) const { XPath2MemoryManager* memMgr=context->getMemoryManager(); XERCES_CPP_NAMESPACE_QUALIFIER DOMNode* parentNode=0; if(node->getNodeType() == XERCES_CPP_NAMESPACE_QUALIFIER DOMNode::ATTRIBUTE_NODE) { const XERCES_CPP_NAMESPACE_QUALIFIER DOMAttr *domAttr = static_cast(node); parentNode=domAttr->getOwnerElement(); } else if(node->getNodeType() == XERCES_CPP_NAMESPACE_QUALIFIER DOMXPathNamespace::XPATH_NAMESPACE_NODE) parentNode=0; else parentNode=node->getParentNode(); Sequence retList(memMgr); if(parentNode!=0 && filterNode(parentNode, uri, context)) retList.addItem(memMgr->createNode(parentNode)); return retList; }//makeList