internal override RdpPattern MixedTextDeriv (MemoizationStore memo) { RdpPattern p = memo.MixedTextDeriv (LValue).Group (RValue); return LValue.Nullable ? p.Choice (memo.MixedTextDeriv (RValue)) : p; }
internal override RdpPattern MixedTextDeriv (MemoizationStore memo) { return memo.MixedTextDeriv (LValue).Choice ( memo.MixedTextDeriv (RValue)); }
internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) { return memo.StartAttDeriv (LValue, name, ns) .Choice (memo.StartAttDeriv (RValue, name, ns)); }
internal virtual RdpPattern EndTagDeriv (MemoizationStore memo) { return EndTagDeriv (); }
internal override RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) { return memo.TextDeriv (LValue, s, reader).Choice (memo.TextDeriv (RValue, s, reader)); }
internal virtual RdpPattern TextOnlyDeriv (MemoizationStore store) { return this; }
internal virtual RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) { return StartAttDeriv (name, ns); }
internal override RdpPattern MixedTextDeriv (MemoizationStore memo) { RdpPattern p = memo.MixedTextDeriv (Child); return p.PatternType == RelaxngPatternType.NotAllowed ? p : p.Group (this.Choice (RdpEmpty.Instance)); }
internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) { RdpPattern rest = RdpEmpty.Instance.Choice (Child.OneOrMore ()); RdpPattern handled = memo.StartAttDeriv (Child, name, ns); RdpFlip f = MakeFlip (RdpUtil.GroupFunction, rest); return handled.ApplyAfter (new RdpApplyAfterHandler (f.Apply)); }
internal override RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) { RdpPattern p = memo.TextDeriv (Child, s, reader); return p.PatternType == RelaxngPatternType.NotAllowed ? p : p.Group (this.Choice (RdpEmpty.Instance)); }
internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) { return memo.TextOnlyDeriv (Child).OneOrMore (); }
internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) { RdpPattern p = memo.StartTagCloseDeriv (LValue); return p.PatternType == RelaxngPatternType.NotAllowed ? p : p.Group (memo.StartTagCloseDeriv (RValue)); }
internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) { RdpPattern handledL = memo.StartAttDeriv (LValue, name, ns); RdpPattern handledR = memo.StartAttDeriv (RValue, name, ns); RdpFlip flipL = MakeFlip (RdpUtil.GroupFunction, RValue); RdpPattern choiceL = handledL.ApplyAfter (new RdpApplyAfterHandler (flipL.Apply)); RdpPattern choiceR = handledR.ApplyAfter (new RdpApplyAfterHandler (LValue.Group)); return choiceL.Choice (choiceR); }
internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) { RdpPattern handled = memo.StartTagOpenDeriv (LValue, name, ns); RdpFlip f = MakeFlip (RdpUtil.GroupFunction, RValue); RdpPattern x = handled.ApplyAfter (new RdpApplyAfterHandler (f.Apply)); if (LValue.Nullable) return x.Choice (memo.StartTagOpenDeriv (RValue, name, ns)); else return x; }
internal virtual RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) { return TextDeriv (s, reader); }
internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) { return memo.StartTagCloseDeriv (Child).OneOrMore (); }
internal virtual RdpPattern EmptyTextDeriv (MemoizationStore memo) { return TextDeriv (String.Empty, null, memo); }
internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) { return RdpNotAllowed.Instance; }
internal virtual RdpPattern MixedTextDeriv (MemoizationStore memo) { return RdpNotAllowed.Instance; }
internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) { return RdpNotAllowed.Instance; }
internal virtual RdpPattern StartTagCloseDeriv (MemoizationStore memo) { return StartTagCloseDeriv (); }
internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) { return nameClass.Contains (name, ns) ? children.After (RdpEmpty.Instance) : RdpNotAllowed.Instance; }
internal override RdpPattern MixedTextDeriv (MemoizationStore memo) { return this; }
internal override RdpPattern EmptyTextDeriv (MemoizationStore memo) { return memo.EmptyTextDeriv (LValue).After (RValue); }
internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) { return memo.TextOnlyDeriv (LValue).Choice ( memo.TextOnlyDeriv (RValue)); }
internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) { RdpPattern handled = memo.StartAttDeriv (LValue, name, ns); RdpFlip f = MakeFlip (RdpUtil.AfterFunction, RValue); return handled.ApplyAfter (new RdpApplyAfterHandler ( f.Apply)); }
internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) { RdpPattern lDeriv = memo.StartTagOpenDeriv (LValue, name, ns); return lDeriv.Choice (memo.StartTagOpenDeriv (RValue, name, ns)); }
internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) { return memo.StartTagCloseDeriv (LValue).After (RValue); }
internal override RdpPattern EndAttDeriv (MemoizationStore memo) { return memo.EndAttDeriv (LValue).Choice (memo.EndAttDeriv (RValue)); }
internal override RdpPattern EmptyTextDeriv (MemoizationStore memo) { RdpPattern p = memo.EmptyTextDeriv (LValue); p = p.PatternType == RelaxngPatternType.NotAllowed ? p : p.Group (RValue); return LValue.Nullable ? p.Choice (memo.EmptyTextDeriv (RValue)) : p; }