5 public class DomEventDumper
7 public static void Main ()
9 new DomEventDumper ().TestOASIS ();
12 public void TestOASIS ()
14 XmlDocument doc
= new XmlDocument ();
15 doc
.NodeInserting
+= new XmlNodeChangedEventHandler (OnInserting
);
16 doc
.NodeInserted
+= new XmlNodeChangedEventHandler (OnInserted
);
17 doc
.NodeChanging
+= new XmlNodeChangedEventHandler (OnChanging
);
18 doc
.NodeChanged
+= new XmlNodeChangedEventHandler (OnChanged
);
19 doc
.NodeRemoving
+= new XmlNodeChangedEventHandler (OnRemoving
);
20 doc
.NodeRemoved
+= new XmlNodeChangedEventHandler (OnRemoved
);
22 foreach (FileInfo fi
in
23 new DirectoryInfo (@"xml-test-suite/xmlconf/oasis").GetFiles ("*.xml")) {
25 if (fi
.Name
.IndexOf ("fail") >= 0)
28 Console
.WriteLine ("#### File: " + fi
.Name
);
30 XmlTextReader xtr
= new XmlTextReader (fi
.FullName
);
31 xtr
.Namespaces
= false;
32 xtr
.Normalization
= true;
36 } catch (XmlException ex
) {
37 if (fi
.Name
.IndexOf ("pass") >= 0)
38 Console
.WriteLine ("Incorrectly invalid: " + fi
.FullName
+ "\n" + ex
.Message
);
43 public void OnInserting (object o
, XmlNodeChangedEventArgs e
)
45 Console
.WriteLine ("Inserting::: " + e
.Node
.NodeType
+ " into " + e
.NewParent
.NodeType
+ " Name: " + e
.Node
.Name
+ ", Value: " + e
.Node
.Value
);
48 public void OnInserted (object o
, XmlNodeChangedEventArgs e
)
50 Console
.WriteLine ("Inserted::: " + e
.Node
.NodeType
+ " into " + e
.NewParent
.NodeType
+ " Name: " + e
.Node
.Name
+ ", Value: " + e
.Node
.Value
);
53 public void OnChanging (object o
, XmlNodeChangedEventArgs e
)
55 Console
.WriteLine ("Changing::: " + e
.Node
.NodeType
);
58 public void OnChanged (object o
, XmlNodeChangedEventArgs e
)
60 Console
.WriteLine ("Changed::: " + e
.Node
.NodeType
);
63 public void OnRemoving (object o
, XmlNodeChangedEventArgs e
)
65 Console
.WriteLine ("Removing::: " + e
.Node
.NodeType
);
68 public void OnRemoved (object o
, XmlNodeChangedEventArgs e
)
70 Console
.WriteLine ("Removed::: " + e
.Node
.NodeType
);