From ddf9863db064d7b7b4de600c020d10462ffb89cb Mon Sep 17 00:00:00 2001 From: "aaronr%us.ibm.com" Date: Thu, 4 Jan 2007 20:07:03 +0000 Subject: [PATCH] [XForms] xsi:type value with no prefix handled incorrectly. Bug 360974, r=doronr+olli git-svn-id: svn://10.0.0.236/trunk@217769 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/extensions/xforms/nsXFormsModelElement.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mozilla/extensions/xforms/nsXFormsModelElement.cpp b/mozilla/extensions/xforms/nsXFormsModelElement.cpp index 2e2cab152db..95cdc624478 100644 --- a/mozilla/extensions/xforms/nsXFormsModelElement.cpp +++ b/mozilla/extensions/xforms/nsXFormsModelElement.cpp @@ -1798,17 +1798,20 @@ nsXFormsModelElement::GetTypeFromNode(nsIDOMNode *aInstanceData, } if (separator == kNotFound) { - // no namespace prefix, which is valid; + // no namespace prefix, which is valid. In this case we should follow + // http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#src-qname and pick + // up the default namespace. Which will happen by passing an empty string + // as first parameter to LookupNamespaceURI. prefix = EmptyString(); aType.Assign(*typeVal); } else { prefix.Assign(Substring(*typeVal, 0, separator)); aType.Assign(Substring(*typeVal, ++separator, typeVal->Length())); - } - if (prefix.IsEmpty()) { - aNSUri = EmptyString(); - return NS_OK; + if (prefix.IsEmpty()) { + aNSUri = EmptyString(); + return NS_OK; + } } // get the namespace url from the prefix using instance data node