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...@locus.apache.org on 2000/06/01 17:25:56 UTC
cvs commit: xml-xalan/c/src/XSLT ElemTemplateElement.cpp
dbertoni 00/06/01 08:25:56
Modified: c/src/XSLT ElemTemplateElement.cpp
Log:
Updated code so that an empty prefix isn't an error.
Revision Changes Path
1.23 +37 -24 xml-xalan/c/src/XSLT/ElemTemplateElement.cpp
Index: ElemTemplateElement.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/ElemTemplateElement.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- ElemTemplateElement.cpp 2000/05/29 22:33:47 1.22
+++ ElemTemplateElement.cpp 2000/06/01 15:25:55 1.23
@@ -78,6 +78,10 @@
+#include <DOMSupport/DOMServices.hpp>
+
+
+
#include <XMLSupport/FormatterToText.hpp>
@@ -1365,37 +1369,46 @@
{
XalanDOMString nameSpace;
- if(m_finishedConstruction == true)
- {
- if(!isEmpty(prefix))
- {
- ElemTemplateElement* elem = const_cast<ElemTemplateElement *>(this);
+ if (isEmpty(prefix) == false)
+ {
+ bool fEmptyIsError = true;
- while(isEmpty(nameSpace) && elem != 0)
+ if(m_finishedConstruction == true)
+ {
+ if (equals(prefix, DOMServices::s_XMLString) == true)
{
- const NamespaceVectorType& nsVector = elem->getNameSpace();
+ nameSpace = DOMServices::s_XMLNamespaceURI;
+ }
+ else if (equals(prefix, DOMServices::s_XMLNamespace) == true)
+ {
+ fEmptyIsError = false;
+ }
+ else
+ {
+ ElemTemplateElement* elem = const_cast<ElemTemplateElement *>(this);
+
+ while(isEmpty(nameSpace) && elem != 0)
+ {
+ const NamespaceVectorType& nsVector = elem->getNameSpace();
- nameSpace = QName::getNamespaceForPrefix(nsVector, prefix);
+ nameSpace = QName::getNamespaceForPrefix(nsVector, prefix);
- if (!isEmpty(nameSpace))
- break;
+ if (!isEmpty(nameSpace))
+ break;
- elem = elem->getParentNodeElem();
+ elem = elem->getParentNodeElem();
+ }
}
- }
- else
- {
- nameSpace = getStylesheet().getNamespaceForPrefixFromStack(prefix);
- }
- }
- else
- {
- nameSpace = getStylesheet().getNamespaceForPrefixFromStack(prefix);
- }
+ }
+ else
+ {
+ nameSpace = getStylesheet().getNamespaceForPrefixFromStack(prefix);
+ }
- if(fReportError == true && isEmpty(nameSpace) == true)
- {
- error("Can not resolve namespace prefix: " + prefix);
+ if(fReportError == true && fEmptyIsError == true && isEmpty(nameSpace) == true)
+ {
+ error("Can not resolve namespace prefix: " + prefix);
+ }
}
return nameSpace;