// Main Parse routine, called by the XML Parse Handlers in XMLParser and also called internally to internal void Parse(ParseRecord pr) { SerTrace.Log( this, "Parse"); stack.Dump(); pr.Dump(); switch (pr.PRparseTypeEnum) { case InternalParseTypeE.SerializedStreamHeader: ParseSerializedStreamHeader(pr); break; case InternalParseTypeE.SerializedStreamHeaderEnd: ParseSerializedStreamHeaderEnd(pr); break; case InternalParseTypeE.Object: ParseObject(pr); break; case InternalParseTypeE.ObjectEnd: ParseObjectEnd(pr); break; case InternalParseTypeE.Member: ParseMember(pr); break; case InternalParseTypeE.MemberEnd: ParseMemberEnd(pr); break; case InternalParseTypeE.Body: case InternalParseTypeE.BodyEnd: case InternalParseTypeE.Envelope: case InternalParseTypeE.EnvelopeEnd: break; case InternalParseTypeE.Empty: default: throw new SerializationException(String.Format(Environment.GetResourceString("Serialization_XMLElement"), pr.PRname)); } }