2 using System.Collections;
3 using System.Collections.Specialized;
7 namespace Commons.Xml.Nvdl
9 public class NvdlBuiltInValidationProvider : NvdlValidationProvider
11 public NvdlBuiltInValidationProvider ()
15 public override NvdlValidatorGenerator CreateGenerator (
16 XmlReader reader, NvdlConfig config)
18 reader.MoveToContent ();
19 if (reader.NodeType != XmlNodeType.Element ||
20 reader.NamespaceURI != Nvdl.BuiltInValidationNamespace)
22 return new NvdlBuiltInValidatorGenerator (reader.LocalName == "allow");
26 internal class NvdlBuiltInValidatorGenerator : NvdlValidatorGenerator
30 public NvdlBuiltInValidatorGenerator (bool allow)
35 public override XmlReader CreateValidator (XmlReader reader, XmlResolver resolver)
37 return new NvdlBuiltInValidationReader (reader, allow);
40 public override bool AddOption (string name, string arg)
46 internal class NvdlBuiltInValidationReader : XmlDefaultReader
50 public NvdlBuiltInValidationReader (XmlReader reader, bool allow)
56 public override bool Read ()
61 throw new NvdlValidationException (String.Format ("The NVDL script does not allow an element whose namespace is '{0}'", Reader.NamespaceURI), Reader as IXmlLineInfo);