protected XmlNode(XmlNodeType nodeType,
PrefixHandle prefix,
StringHandle localName,
ValueHandle value,
XmlNodeFlags nodeFlags,
ReadState readState,
XmlAttributeTextNode attributeTextNode,
int depthDelta)
{
_nodeType = nodeType;
_prefix = prefix;
_localName = localName;
_value = value;
_ns = NamespaceManager.EmptyNamespace;
_hasValue = ((nodeFlags & XmlNodeFlags.HasValue) != 0);
_canGetAttribute = ((nodeFlags & XmlNodeFlags.CanGetAttribute) != 0);
_canMoveToElement = ((nodeFlags & XmlNodeFlags.CanMoveToElement) != 0);
_isAtomicValue = ((nodeFlags & XmlNodeFlags.AtomicValue) != 0);
_skipValue = ((nodeFlags & XmlNodeFlags.SkipValue) != 0);
_hasContent = ((nodeFlags & XmlNodeFlags.HasContent) != 0);
_readState = readState;
_attributeTextNode = attributeTextNode;
_exitScope = (nodeType == XmlNodeType.EndElement);
_depthDelta = depthDelta;
_isEmptyElement = false;
_quoteChar = '"';
_qnameType = QNameType.Normal;
}