2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / tools / mono-xmltool / xmltool.cs
index 2e6a9597ffa9c102534a012501cb1fa1061e31a0..918e4a2d48d3cf4a113bfa63f40b3ee904f0dad7 100644 (file)
@@ -40,6 +40,7 @@ options:
        --validate-rnc relax-ng-compact-grammar-file [instances]
        --validate-nvdl nvdl-script-xml [instances]
        --validate-xsd xml-schema [instances]
+       --validate-xsd2 xml-schema [instances] (in .NET 2.0 validator)
        --validate-dtd instances
        --transform stylesheet instance-xml [output-xml]
        --prettyprint [source] [result]
@@ -76,6 +77,9 @@ environment variable that affects behavior:
                                ValidateNvdl (args);
                                return;
 #endif
+                       case "--validate-xsd2":
+                               ValidateXsd2 (args);
+                               return;
                        case "--validate-xsd":
                                ValidateXsd (args);
                                return;
@@ -185,6 +189,19 @@ environment variable that affects behavior:
                        }
                }
 
+               static void ValidateXsd2 (string [] args)
+               {
+                       XmlReaderSettings s = new XmlReaderSettings ();
+                       s.ValidationType = ValidationType.Schema;
+                       s.Schemas.Add (null, args [1]);
+                       for (int i = 2; i < args.Length; i++) {
+                               XmlReader xr = XmlReader.Create (args [i], s);
+                               while (!xr.EOF)
+                                       xr.Read ();
+                               xr.Close ();
+                       }
+               }
+
                static void ValidateDtd (string [] args)
                {
                        for (int i = 1; i < args.Length; i++) {