if (!mValue)
if (!mValue || !mHasParent)
nsXFormsOutputElement::Refresh(){  if (!mValue)    return NS_OK;  nsAutoString text;      nsresult rv;  if (mHasBinding) {    if (mBoundNode) {      nsXFormsUtils::GetNodeValue(mBoundNode, text);    }  } else {    ///    /// @todo Update mBoundNode? (XXX)    nsCOMPtr<nsIDOMXPathResult> result;    rv = ProcessNodeBinding(NS_LITERAL_STRING("value"),                            nsIDOMXPathResult::STRING_TYPE,                            getter_AddRefs(result));    NS_ENSURE_SUCCESS(rv, rv);    if (result) {      rv = result->GetStringValue(text);      NS_ENSURE_SUCCESS(rv, rv);    }  }  nsCOMPtr<nsIDOM3Node> dom3Node = do_QueryInterface(mValue);  NS_ENSURE_STATE(dom3Node);  rv = dom3Node->SetTextContent(text);  return rv;}