2 using System.Collections;
3 using System.Collections.Specialized;
5 using System.Xml.Schema;
7 namespace Commons.Xml.Nvdl
9 public class NvdlXsdValidatorProvider : NvdlValidationProvider
11 public override NvdlValidatorGenerator CreateGenerator (
12 XmlReader reader, NvdlConfig config)
14 if (reader.NamespaceURI != XmlSchema.Namespace)
16 ArrayList al = new ArrayList ();
18 XmlSchema xs = XmlSchema.Read (reader, null);
19 xs.Compile (null, config.XmlResolverInternal);
22 return new NvdlXsdValidatorGenerator (al.ToArray (typeof (XmlSchema)) as XmlSchema []);
26 internal class NvdlXsdValidatorGenerator : NvdlValidatorGenerator
30 public NvdlXsdValidatorGenerator (XmlSchema [] schemas)
32 this.schemas = schemas;
35 public override XmlReader CreateValidator (XmlReader reader,
38 XmlValidatingReader xvr =
39 new XmlValidatingReader (reader);
40 xvr.XmlResolver = resolver;
41 foreach (XmlSchema schema in schemas)
42 xvr.Schemas.Add (schema);
47 public override bool AddOption (string name, string arg)