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 if (reader.NodeType != XmlNodeType.Element) {
22 reader.MoveToContent ();
23 XmlSchema xs = XmlSchema.Read (reader, null);
24 xs.Compile (null, config.XmlResolverInternal);
28 return new NvdlXsdValidatorGenerator (al.ToArray (typeof (XmlSchema)) as XmlSchema []);
32 internal class NvdlXsdValidatorGenerator : NvdlValidatorGenerator
36 public NvdlXsdValidatorGenerator (XmlSchema [] schemas)
38 this.schemas = schemas;
41 public override XmlReader CreateValidator (XmlReader reader,
44 XmlValidatingReader xvr =
45 new XmlValidatingReader (reader);
46 xvr.XmlResolver = resolver;
47 foreach (XmlSchema schema in schemas)
48 xvr.Schemas.Add (schema);
53 public override bool AddOption (string name, string arg)