public NvdlSection(NvdlDispatcher dispatcher, NvdlSection parentState) { this.dispatcher = dispatcher; this.ns = dispatcher.Reader.NamespaceURI; if (parentState == null) { foreach (SimpleAction a in FindElementRule( dispatcher.Rules.StartMode, dispatcher.Reader).Actions) { ilist.Add(GetInterp(a, dispatcher)); } } else { foreach (NvdlInterpretation pi in parentState.ilist) { PopulateInterp(dispatcher, pi, parentState); } } NvdlDebug.Writer.WriteLine("New section: ns {0} / interp.count {1} / loc: {2}", ns, ilist.Count, ((IXmlLineInfo)dispatcher.Reader).LineNumber); }
private void PopulateInterp( NvdlDispatcher d, NvdlInterpretation i, NvdlSection parentState) { SimpleMode m = FindContextMode(i.Action, parentState); SimpleRule rule = FindElementRule(m, dispatcher.Reader); NvdlDebug.Writer.WriteLine("***** populate interp from action {0} whose mode is {1}. Rule is {2} whose actions are {3}", i.Action.Location, m.Location, rule.Location, rule.Actions.Length); foreach (SimpleAction a in rule.Actions) { NvdlInterpretation cur = i; for (; cur != null; cur = cur.Parent) { if (cur.CreatedMode == m && cur.Action == a) { NvdlDebug.Writer.WriteLine("------- corresponding PlanElem already exists."); break; } } if (cur == null) { cur = CreateInterp(d, m, a, i); } ilist.Add(cur); } }
public NvdlValidatingReader (XmlReader reader, NvdlRules rules, XmlResolver resolver, NvdlConfig config) : base (reader) { dispatcher = new NvdlDispatcher (new SimpleRules ( new NvdlCompileContext ( rules, config, resolver)), this); }
public NvdlValidatingReader(XmlReader reader, NvdlRules rules, XmlResolver resolver, NvdlConfig config) : base(reader) { dispatcher = new NvdlDispatcher(new SimpleRules( new NvdlCompileContext( rules, config, resolver)), this); }
public NvdlInterpretation(NvdlDispatcher dispatcher, SimpleMode createdMode, SimpleAction action, NvdlInterpretation parent) { this.dispatcher = dispatcher; this.createdMode = createdMode; this.action = action; this.parent = parent; }
public NvdlValidateInterp(NvdlDispatcher dispatcher, SimpleMode createdMode, SimpleValidate validate, NvdlInterpretation parent) : base(dispatcher, createdMode, validate, parent) { this.reader = new NvdlFilteredXmlReader(dispatcher.Reader, this); this.validate = validate; validator = validate.CreateValidator(this.reader); dispatcher.Validator.OnMessage(validate.Messages); }
private NvdlInterpretation CreateInterp(NvdlDispatcher d, SimpleMode m, SimpleAction a, NvdlInterpretation p) { SimpleValidate v = a as SimpleValidate; if (v != null) { return(new NvdlValidateInterp(d, m, v, p)); } return(new NvdlResultInterp(d, m, (SimpleResultAction)a, p)); }
private NvdlInterpretation CreateInterp(NvdlDispatcher d, SimpleMode m, SimpleAction a, NvdlInterpretation p) { NvdlDebug.Writer.WriteLine("***** new interp from action {0} from mode {1}", a.Location, m.Location); SimpleValidate v = a as SimpleValidate; if (v != null) { return(new NvdlValidateInterp(d, m, v, p)); } return(new NvdlResultInterp(d, m, (SimpleResultAction)a, p)); }
public NvdlResultInterp(NvdlDispatcher dispatcher, SimpleMode createdMode, SimpleResultAction resultAction, NvdlInterpretation parent) : base(dispatcher, createdMode, resultAction, parent) { NvdlDebug.Writer.WriteLine("++++++ new resultAction " + resultAction.Location); type = resultAction.ResultType; if (type == NvdlResultType.AttachPlaceholder && parent != null) { parent.AttachPlaceholder(); } }
private void PopulateInterp( NvdlDispatcher d, NvdlInterpretation i, NvdlSection parentState) { SimpleMode m = FindContextMode(i.Action, parentState); SimpleRule rule = FindElementRule(m, dispatcher.Reader); foreach (SimpleAction a in rule.Actions) { NvdlInterpretation cur = i; for (; cur != null; cur = cur.Parent) { if (cur.CreatedMode == m && cur.Action == a) { break; } } if (cur == null) { cur = CreateInterp(d, m, a, i); } ilist.Add(cur); } }
public NvdlSection(NvdlDispatcher dispatcher, NvdlSection parentState) { this.dispatcher = dispatcher; this.ns = dispatcher.Reader.NamespaceURI; if (parentState == null) { foreach (SimpleAction a in FindElementRule( dispatcher.Rules.StartMode, dispatcher.Reader).Actions) { ilist.Add(GetInterp(a, dispatcher)); } } else { foreach (NvdlInterpretation pi in parentState.ilist) { PopulateInterp(dispatcher, pi, parentState); } } }
public NvdlResultInterp (NvdlDispatcher dispatcher, SimpleMode createdMode, SimpleResultAction resultAction, NvdlInterpretation parent) : base (dispatcher, createdMode, resultAction, parent) { NvdlDebug.Writer.WriteLine ("++++++ new resultAction " + resultAction.Location); type = resultAction.ResultType; if (type == NvdlResultType.AttachPlaceholder && parent != null) parent.AttachPlaceholder (); }
private NvdlInterpretation GetInterp ( SimpleAction a, NvdlDispatcher d) { return CreateInterp (d, d.Rules.StartMode, a, null); }
public NvdlSection (NvdlDispatcher dispatcher, NvdlSection parentState) { this.dispatcher = dispatcher; this.ns = dispatcher.Reader.NamespaceURI; if (parentState == null) { foreach (SimpleAction a in FindElementRule ( dispatcher.Rules.StartMode, dispatcher.Reader).Actions) ilist.Add (GetInterp (a, dispatcher)); } else { foreach (NvdlInterpretation pi in parentState.ilist) { PopulateInterp (dispatcher, pi, parentState); } } NvdlDebug.Writer.WriteLine ("New section: ns {0} / interp.count {1} / loc: {2}", ns, ilist.Count, ((IXmlLineInfo) dispatcher.Reader).LineNumber); }
private NvdlInterpretation CreateInterp (NvdlDispatcher d, SimpleMode m, SimpleAction a, NvdlInterpretation p) { NvdlDebug.Writer.WriteLine ("***** new interp from action {0} from mode {1}", a.Location, m.Location); SimpleValidate v = a as SimpleValidate; if (v != null) return new NvdlValidateInterp (d, m, v, p); return new NvdlResultInterp (d, m, (SimpleResultAction) a, p); }
private NvdlInterpretation GetInterp( SimpleAction a, NvdlDispatcher d) { return(CreateInterp(d, d.Rules.StartMode, a, null)); }
private void PopulateInterp ( NvdlDispatcher d, NvdlInterpretation i, NvdlSection parentState) { SimpleMode m = FindContextMode (i.Action, parentState); SimpleRule rule = FindElementRule (m, dispatcher.Reader); NvdlDebug.Writer.WriteLine ("***** populate interp from action {0} whose mode is {1}. Rule is {2} whose actions are {3}", i.Action.Location, m.Location, rule.Location, rule.Actions.Length); foreach (SimpleAction a in rule.Actions) { NvdlInterpretation cur = i; for (;cur != null; cur = cur.Parent) if (cur.CreatedMode == m && cur.Action == a) { NvdlDebug.Writer.WriteLine ("------- corresponding PlanElem already exists."); break; } if (cur == null) cur = CreateInterp (d, m, a, i); ilist.Add (cur); } }
internal NvdlValidatingReader(XmlReader reader, SimpleRules rules) : base(reader) { dispatcher = new NvdlDispatcher(rules, this); }
public NvdlInterpretation (NvdlDispatcher dispatcher, SimpleMode createdMode, SimpleAction action, NvdlInterpretation parent) { this.dispatcher = dispatcher; this.createdMode = createdMode; this.action = action; this.parent = parent; }
internal NvdlValidatingReader (XmlReader reader, SimpleRules rules) : base (reader) { dispatcher = new NvdlDispatcher (rules, this); }
public NvdlValidateInterp (NvdlDispatcher dispatcher, SimpleMode createdMode, SimpleValidate validate, NvdlInterpretation parent) : base (dispatcher, createdMode, validate, parent) { NvdlDebug.Writer.WriteLine ("++++++ new validate " + validate.Location); this.reader = new NvdlFilteredXmlReader (dispatcher.Reader, this); this.validate = validate; validator = validate.CreateValidator (this.reader); dispatcher.Validator.OnMessage (validate.Messages); }