private XmlAttributeNode AddAttribute(QNameType qnameType, bool isAtomicValue)
{
int attributeIndex = _attributeCount;
if (_attributeNodes == null)
{
_attributeNodes = new XmlAttributeNode[4];
}
else if (_attributeNodes.Length == attributeIndex)
{
XmlAttributeNode[] newAttributeNodes = new XmlAttributeNode[attributeIndex * 2];
Array.Copy(_attributeNodes, 0, newAttributeNodes, 0, attributeIndex);
_attributeNodes = newAttributeNodes;
}
XmlAttributeNode attributeNode = _attributeNodes[attributeIndex];
if (attributeNode == null)
{
attributeNode = new XmlAttributeNode(_bufferReader);
_attributeNodes[attributeIndex] = attributeNode;
}
attributeNode.QNameType = qnameType;
attributeNode.IsAtomicValue = isAtomicValue;
attributeNode.AttributeText.QNameType = qnameType;
attributeNode.AttributeText.IsAtomicValue = isAtomicValue;
_attributeCount++;
return attributeNode;
}