const XalanDOMString& ElemElement::getParentDefaultNamespace() const { const ElemTemplateElement* const theParent = getParentNodeElem(); if (theParent == 0) { return s_emptyString; } else { const XalanDOMString* const theParentDefaultNamespace = theParent->getNamespacesHandler().getNamespace(s_emptyString); if (theParentDefaultNamespace == 0) { return s_emptyString; } else { return *theParentDefaultNamespace; } } }
void ElemVariable::addToStylesheet( StylesheetConstructionContext& constructionContext, Stylesheet& theStylesheet) { // Processing a top-level element only... if (&theStylesheet != &getStylesheet()) { constructionContext.error( XalanMessageLoader::getMessage(XalanMessages::ElemVariableInstanceAddedToWrongStylesheet), 0, this); } else if (getParentNodeElem() != 0) { constructionContext.error( XalanMessageLoader::getMessage(XalanMessages::ElemVariableInstanceIsAlreadyParented), 0, this); } else { theStylesheet.setTopLevelVariable(this); m_isTopLevel = true; } }
void ElemVariable::execute(StylesheetExecutionContext& executionContext) const { assert(m_qname != 0); ParentType::execute(executionContext); const XObjectPtr theValue(getValue(executionContext, executionContext.getCurrentNode())); if (theValue.null() == false) { executionContext.pushVariable( *m_qname, theValue, getParentNodeElem()); } else { executionContext.pushVariable( *m_qname, this, getParentNodeElem()); } }