System.Xml.Xsl.Xslt.XsltInput.ReadNextSiblingHelper C# (CSharp) Method

ReadNextSiblingHelper() private method

private ReadNextSiblingHelper ( ) : bool
return bool
        private bool ReadNextSiblingHelper() {
            if (text != null) {
                text = null;
                textIsWhite = true;
                return reader.NodeType != XmlNodeType.EndElement;
            } else {
                while (reader.Read()) {
                    switch (reader.NodeType) {
                    case XmlNodeType.Text:
                        textIsWhite = false;
                        goto case XmlNodeType.SignificantWhitespace;
                    case XmlNodeType.CDATA:
                        if (textIsWhite && ! IsWhitespace(reader.Value)) {
                            textIsWhite = false;
                        }
                        goto case XmlNodeType.SignificantWhitespace;
                    case XmlNodeType.Whitespace:
                    case XmlNodeType.SignificantWhitespace:
                        if (reader.Depth == 0 && text == null && textIsWhite) {
                            break;  // Ignore whitespace nodes on the root level
                        }
                        if (text == null) {
                            // First chunk of a text node
                            SaveTextInfo();
                        }
                        text += reader.Value;
                        break;
                    case XmlNodeType.EntityReference :
                        Debug.Assert(false, "Entity references should be resolved for us");
                        break;
                    case XmlNodeType.DocumentType:
                    case XmlNodeType.XmlDeclaration:
                        break;
                    default:
                        if (text != null) {
                            return true;
                        }
                        return reader.NodeType != XmlNodeType.EndElement;
                    }
                }
                return text != null;
            }
        }