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 2001/11/01 16:53:42 UTC

cvs commit: xml-xalan/c/src/XSLT ElemElement.cpp

dbertoni    01/11/01 07:53:42

  Modified:    c/src/XSLT ElemElement.cpp
  Log:
  Fix for namespace89.
  
  Revision  Changes    Path
  1.33      +15 -2     xml-xalan/c/src/XSLT/ElemElement.cpp
  
  Index: ElemElement.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XSLT/ElemElement.cpp,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- ElemElement.cpp	2001/09/26 21:30:23	1.32
  +++ ElemElement.cpp	2001/11/01 15:53:42	1.33
  @@ -177,6 +177,8 @@
   
   	bool	hasUnresolvedPrefix = false;
   
  +	bool	foundResultNamespaceForPrefix = false;
  +
   	XalanDOMString::size_type			len = length(elemName);
   
   	const XalanDOMString::size_type		indexOfNSSep = indexOf(elemName, XalanUnicode::charColon);
  @@ -213,7 +215,11 @@
   		const XalanDOMString* const		theNamespace =
   			executionContext.getResultNamespaceForPrefix(prefix);
   
  -		if (theNamespace == 0)
  +		if (theNamespace != 0)
  +		{
  +			foundResultNamespaceForPrefix = true;
  +		}
  +		else
   		{
   			const XalanDOMString* const		theNamespace =
   				m_namespacesHandler.getNamespace(prefix);
  @@ -233,6 +239,12 @@
   					isIllegalElement = true;
   				}
   			}
  +			else if (theNamespace != 0 &&
  +					 namespaceLen == 0 &&
  +					 equals(prefix, DOMServices::s_XMLNamespace) == false)
  +			{
  +				elemNameSpace = *theNamespace;
  +			}
   		}
   	}
   
  @@ -240,7 +252,8 @@
   	{
   		executionContext.startElement(c_wstr(elemName));   
   
  -		if(0 == m_namespaceAVT)
  +		if(0 == m_namespaceAVT &&
  +		   (haveNamespace == false || foundResultNamespaceForPrefix == true))
   		{
   			outputResultNamespaces(executionContext, hasUnresolvedPrefix);
   		}
  
  
  

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