if (!mValue)
if (!mValue || !mHasParent)
nsXFormsOutputElement::Bind(){  if (!mValue)    return NS_OK;    mBoundNode = nsnull;  nsresult rv;  rv = mElement->HasAttribute(NS_LITERAL_STRING("ref"), &mHasBinding);  NS_ENSURE_SUCCESS(rv, rv);  if (!mHasBinding) {    rv = mElement->HasAttribute(NS_LITERAL_STRING("bind"), &mHasBinding);    NS_ENSURE_SUCCESS(rv, rv);  }    nsCOMPtr<nsIDOMXPathResult> result;  if (mHasBinding) {    rv = ProcessNodeBinding(NS_LITERAL_STRING("ref"),                            nsIDOMXPathResult::FIRST_ORDERED_NODE_TYPE,                            getter_AddRefs(result));  } else {    rv = ProcessNodeBinding(NS_LITERAL_STRING("value"),                            nsIDOMXPathResult::STRING_TYPE,                            getter_AddRefs(result));  }    NS_ENSURE_SUCCESS(rv, rv);  if (result) {    result->GetSingleNodeValue(getter_AddRefs(mBoundNode));  }  return NS_OK;}