public override bool MoveToAttribute(string name)
{
if (_coreReader.MoveToAttribute(name))
{
_validationState = ValidatingReaderState.OnAttribute;
_attributePSVI = GetAttributePSVI(name);
goto Found;
}
else if (_attributeCount > 0)
{ //Default attribute
ValidatingReaderNodeData defaultNode = GetDefaultAttribute(name, true);
if (defaultNode != null)
{
_validationState = ValidatingReaderState.OnDefaultAttribute;
_attributePSVI = defaultNode.AttInfo;
_cachedNode = defaultNode;
goto Found;
}
}
return false;
Found:
if (_validationState == ValidatingReaderState.OnReadBinaryContent)
{
_readBinaryHelper.Finish();
_validationState = _savedState;
}
return true;
}