//shows selected KI1 and data items in it concept
        private void knowledgeItemsList2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //show selected knowledge
            string selectedKItem = knowledgeItemsList2.SelectedItem.ToString();
            //find concept name (title)
            string conceptName = "";

            /*Match m = Regex.Match(selectedKItem, @"<Title>\s*(.+?)\s*</Title>");
             * if (m.Success)
             * {
             *  conceptName = m.Groups[1].Value;
             * }*/
            conceptName = getDataInTag("Title", selectedKItem);
            //get good befor and good after
            GB2 = double.Parse(getDataInTag("GoodBefore", selectedKItem));
            GA2 = double.Parse(getDataInTag("GoodAfter", selectedKItem));
            String timeUnit = getDataInTag("LocalPersistencyTimeUnit", selectedKItem);

            selectedKItem = selectedKItem.Replace(">", ">" + System.Environment.NewLine);
            //clear old knowledge if exist
            selectedKItem2_txt.Clear();
            selectedKItem2_txt.Text = selectedKItem;

            //find data for selected knowledge
            DataPoints dp = new DataPoints(conceptName);

            string[] data = dp.GetDataByConcept();
            //clear old data if exist
            dataList2.Items.Clear();
            foreach (string d in data)
            {
                if (d.Contains("<DataPoint>"))
                {
                    dataList2.Items.Add(d);
                    DataPoint temp = new DataPoint(d, GB2, GA2, timeUnit);
                    DB2.Add(temp);
                }
            }

            //see if can calculate or not
            kb2 = true;
            if (kb1 && op)
            {
                calculate_btn.IsEnabled = true;
            }
        }
        //shows selected KI1 and data items in it concept
        private void knowledgeItemsList1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //show selected knowledge
            string selectedKItem = knowledgeItemsList1.SelectedItem.ToString();
            //find concept name (title)
            string conceptName = getDataInTag("Title", selectedKItem);

            //get good befor, good after and time unit
            GB1 = double.Parse(getDataInTag("GoodBefore", selectedKItem));
            GA1 = double.Parse(getDataInTag("GoodAfter", selectedKItem));
            String timeUnit = getDataInTag("LocalPersistencyTimeUnit", selectedKItem);

            selectedKItem = selectedKItem.Replace(">", ">" + System.Environment.NewLine);
            //clear old knowledge if exist
            selectedKItem1_txt.Clear();
            selectedKItem1_txt.Text = selectedKItem;

            //find data for selected knowledge
            DataPoints dp = new DataPoints(conceptName);

            string[] data = dp.GetDataByConcept();
            //clear old data
            dataList1.Items.Clear();
            foreach (string d in data)
            {
                if (d.Contains("<DataPoint>"))
                {
                    dataList1.Items.Add(d);
                    DataPoint temp = new DataPoint(d, GB1, GA1, timeUnit);
                    DB1.Add(temp);
                }
            }

            //see if can calculate or not
            kb1 = true;
            if (kb2 && op)
            {
                calculate_btn.IsEnabled = true;
            }
        }