| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using System;
- using System.IO;
- using System.Xml;
- public class DomEventDumper
- {
- public static void Main ()
- {
- new DomEventDumper ().TestOASIS ();
- }
- public void TestOASIS ()
- {
- XmlDocument doc = new XmlDocument ();
- doc.NodeInserting += new XmlNodeChangedEventHandler (OnInserting);
- doc.NodeInserted += new XmlNodeChangedEventHandler (OnInserted);
- doc.NodeChanging += new XmlNodeChangedEventHandler (OnChanging);
- doc.NodeChanged += new XmlNodeChangedEventHandler (OnChanged);
- doc.NodeRemoving += new XmlNodeChangedEventHandler (OnRemoving);
- doc.NodeRemoved += new XmlNodeChangedEventHandler (OnRemoved);
- foreach (FileInfo fi in
- new DirectoryInfo (@"xml-test-suite/xmlconf/oasis").GetFiles ("*.xml")) {
- try {
- if (fi.Name.IndexOf ("fail") >= 0)
- continue;
- Console.WriteLine ("#### File: " + fi.Name);
- XmlTextReader xtr = new XmlTextReader (fi.FullName);
- xtr.Namespaces = false;
- xtr.Normalization = true;
- doc.RemoveAll ();
- doc.Load (xtr);
- } catch (XmlException ex) {
- if (fi.Name.IndexOf ("pass") >= 0)
- Console.WriteLine ("Incorrectly invalid: " + fi.FullName + "\n" + ex.Message);
- }
- }
- }
- public void OnInserting (object o, XmlNodeChangedEventArgs e)
- {
- Console.WriteLine ("Inserting::: " + e.Node.NodeType + " into " + e.NewParent.NodeType + " Name: " + e.Node.Name + ", Value: " + e.Node.Value);
- }
- public void OnInserted (object o, XmlNodeChangedEventArgs e)
- {
- Console.WriteLine ("Inserted::: " + e.Node.NodeType + " into " + e.NewParent.NodeType + " Name: " + e.Node.Name + ", Value: " + e.Node.Value);
- }
- public void OnChanging (object o, XmlNodeChangedEventArgs e)
- {
- Console.WriteLine ("Changing::: " + e.Node.NodeType);
- }
- public void OnChanged (object o, XmlNodeChangedEventArgs e)
- {
- Console.WriteLine ("Changed::: " + e.Node.NodeType);
- }
- public void OnRemoving (object o, XmlNodeChangedEventArgs e)
- {
- Console.WriteLine ("Removing::: " + e.Node.NodeType);
- }
- public void OnRemoved (object o, XmlNodeChangedEventArgs e)
- {
- Console.WriteLine ("Removed::: " + e.Node.NodeType);
- }
- }
|