void
ElemTemplate::executeChildren(StylesheetExecutionContext&   executionContext) const
{
    StylesheetExecutionContext::PushAndPopCurrentTemplate   thePushAndPop(executionContext, this);

    ParentType::executeChildren(executionContext);
}
示例#2
0
void
ElemForEach::execute(StylesheetExecutionContext&	executionContext) const
{
	assert(m_selectPattern != 0);
	assert(executionContext.getCurrentNode() != 0);

	StylesheetExecutionContext::PushAndPopCurrentTemplate	thePushAndPop(executionContext, 0);

	if (hasChildren() == true)
	{
		transformSelectedChildren(
			executionContext,
			this);
	}
}
示例#3
0
void
ElemElement::doExecuteChildren(
			StylesheetExecutionContext&		executionContext,			
			bool							skipAttributeChildren) const
{
	if (skipAttributeChildren == false)
	{
		// If we should execute all children, then just call
		// executeChildren()...
		executeChildren(executionContext);
	}
	else
	{
		StylesheetExecutionContext::PushAndPopElementFrame	thePushAndPop(executionContext, this);

		for (ElemTemplateElement* node = getFirstChildElem(); node != 0; node = node->getNextSiblingElem()) 
		{
			if (node->getXSLToken() != StylesheetConstructionContext::ELEMNAME_ATTRIBUTE)
			{
				node->execute(executionContext);
			}
		}
	}
}