You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2007/11/05 00:24:37 UTC

svn commit: r591862 - in /xalan/c/trunk/src/xalanc/XSLT: ElemFallback.cpp ElemFallback.hpp

Author: dbertoni
Date: Sun Nov  4 15:24:35 2007
New Revision: 591862

URL: http://svn.apache.org/viewvc?rev=591862&view=rev
Log:
Patch for Jira issue XALANC-633.

Modified:
    xalan/c/trunk/src/xalanc/XSLT/ElemFallback.cpp
    xalan/c/trunk/src/xalanc/XSLT/ElemFallback.hpp

Modified: xalan/c/trunk/src/xalanc/XSLT/ElemFallback.cpp
URL: http://svn.apache.org/viewvc/xalan/c/trunk/src/xalanc/XSLT/ElemFallback.cpp?rev=591862&r1=591861&r2=591862&view=diff
==============================================================================
--- xalan/c/trunk/src/xalanc/XSLT/ElemFallback.cpp (original)
+++ xalan/c/trunk/src/xalanc/XSLT/ElemFallback.cpp Sun Nov  4 15:24:35 2007
@@ -101,11 +101,31 @@
 {
     ElemTemplateElement::startElement(executionContext);
 
-    return getFirstChildElem();
+    return beginExecuteChildren(executionContext);
 }
 
 
     
+const ElemTemplateElement*
+ElemFallback::getFirstChildElemToExecute(
+            StylesheetExecutionContext& executionContext) const
+{
+    const int   parentXSLToken =
+        getParentNodeElem()->getXSLToken();
+
+    if (parentXSLToken == StylesheetConstructionContext::ELEMNAME_FORWARD_COMPATIBLE ||
+        parentXSLToken == StylesheetConstructionContext::ELEMNAME_EXTENSION_CALL)
+    {
+        return ParentType::getFirstChildElemToExecute(executionContext);
+    }
+    else
+    {
+        return 0;
+    }
+}
+
+
+
 const ElemTemplateElement*
 ElemFallback::getNextChildElemToExecute(StylesheetExecutionContext& /*executionContext*/,
                                  const ElemTemplateElement*         currentElem) const

Modified: xalan/c/trunk/src/xalanc/XSLT/ElemFallback.hpp
URL: http://svn.apache.org/viewvc/xalan/c/trunk/src/xalanc/XSLT/ElemFallback.hpp?rev=591862&r1=591861&r2=591862&view=diff
==============================================================================
--- xalan/c/trunk/src/xalanc/XSLT/ElemFallback.hpp (original)
+++ xalan/c/trunk/src/xalanc/XSLT/ElemFallback.hpp Sun Nov  4 15:24:35 2007
@@ -37,7 +37,10 @@
 {
 public:
 
-	/**
+    typedef ElemTemplateElement     ParentType;
+
+
+    /**
 	 * Construct an object corresponding to an xsl:fallback element
 	 * 
 	 * @param constructionContext   context for construction of object
@@ -64,8 +67,12 @@
 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
 	virtual const ElemTemplateElement*
 	startElement(StylesheetExecutionContext&	executionContext) const;
-	
-	virtual const ElemTemplateElement*
+
+    virtual const ElemTemplateElement*
+    getFirstChildElemToExecute(
+            StylesheetExecutionContext& executionContext) const;
+
+    virtual const ElemTemplateElement*
 	getNextChildElemToExecute(
 			StylesheetExecutionContext& executionContext,
 			const ElemTemplateElement* currentElem) const;



---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org