System.Xml.XsdValidatingReader.GetIsDefault C# (CSharp) Method

GetIsDefault() private method

private GetIsDefault ( ) : void
return void
        private void GetIsDefault()
        {
            XsdCachingReader cachedReader = _coreReader as XsdCachingReader;
            if (cachedReader == null && _xmlSchemaInfo.HasDefaultValue)
            { //Get Isdefault
                _coreReader = GetCachingReader();
                if (_xmlSchemaInfo.IsUnionType && !_xmlSchemaInfo.IsNil)
                { //If it also union, get the memberType as well
                    ReadAheadForMemberType();
                }
                else
                {
                    if (_coreReader.Read())
                    {
                        switch (_coreReader.NodeType)
                        {
                            case XmlNodeType.Element:
                                Debug.Assert(false); //Should not happen as the caching reader does not cache elements in simple content
                                break;

                            case XmlNodeType.Text:
                            case XmlNodeType.CDATA:
                                _validator.ValidateText(GetStringValue);
                                break;

                            case XmlNodeType.Whitespace:
                            case XmlNodeType.SignificantWhitespace:
                                _validator.ValidateWhitespace(GetStringValue);
                                break;

                            case XmlNodeType.Comment:
                            case XmlNodeType.ProcessingInstruction:
                                break;

                            case XmlNodeType.EndElement:
                                _atomicValue = _validator.ValidateEndElement(_xmlSchemaInfo); //?? pop namespaceManager scope
                                _originalAtomicValueString = GetOriginalAtomicValueStringOfElement();
                                if (_xmlSchemaInfo.IsDefault)
                                { //The atomicValue returned is a default value
                                    _cachingReader.SwitchTextNodeAndEndElement(_xmlSchemaInfo.XmlType.ValueConverter.ToString(_atomicValue), _originalAtomicValueString);
                                }
                                break;

                            default:
                                break;
                        }
                    }
                }
                _cachingReader.SetToReplayMode();
                _replayCache = true;
            }
        }
XsdValidatingReader