/// <summary>
		/// Sets the IsValid flag to false if the specified error severity is either Error or Fatal.
		/// </summary>
		private void  SetValidState ( XmlParseErrorSeverity  severity )
		   {
			if  ( IsValid  &&  
			      ( severity  ==  XmlParseErrorSeverity. Error  ||  severity  ==  XmlParseErrorSeverity. Fatal ) )
				IsValid		=  false ;
		    }
		/// <summary>
		/// Derived classes can call AddUserError() to add errors or warnings or else to the existing list
		/// of parsing/validation errors.
		/// The IsValid flag will be set to false if error severity is Error or Fatal.
		/// </summary>
		/// <param name="severity">Error severity</param>
		/// <param name="message">Message</param>
		/// <param name="line">Source line</param>
		public void  AddValidationMessage ( XmlParseErrorSeverity  severity, string  message, int  line = 0 )
		   {
			XmlParseError	pe	=  new XmlParseError ( ) ;

			pe. Step		=  XmlParseStep. UserValidation ;
			pe. Severity		=  severity ;
			pe. Message		=  message ;
			pe. Line		=  line ;
			pe. Column		=  0 ;
			pe. Source		=  "xml document" ;
			pe. SourceUri		=  "xml document" ;

			ValidationMessages. Add ( pe ) ;				   
			SetValidState ( pe. Severity ) ;
		    }