Пример #1
0
		internal override RdpPattern MixedTextDeriv (MemoizationStore memo)
		{
			RdpPattern p = memo.MixedTextDeriv (LValue).Group (RValue);
			return LValue.Nullable ?
				p.Choice (memo.MixedTextDeriv (RValue)) : p;
		}
Пример #2
0
		internal override RdpPattern MixedTextDeriv (MemoizationStore memo)
		{
			return memo.MixedTextDeriv (LValue).Choice (
				memo.MixedTextDeriv (RValue));
		}
Пример #3
0
		internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo)
		{
			return memo.StartAttDeriv (LValue, name, ns)
				.Choice (memo.StartAttDeriv (RValue, name, ns));
		}
Пример #4
0
		internal virtual RdpPattern EndTagDeriv (MemoizationStore memo)
		{
			return EndTagDeriv ();
		}
Пример #5
0
		internal override RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo)
		{
			return memo.TextDeriv (LValue, s, reader).Choice (memo.TextDeriv (RValue, s, reader));
		}
Пример #6
0
		internal virtual RdpPattern TextOnlyDeriv (MemoizationStore store)
		{
			return this;
		}
Пример #7
0
		internal virtual RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo)
		{
			return StartAttDeriv (name, ns);
		}
Пример #8
0
		internal override RdpPattern MixedTextDeriv (MemoizationStore memo)
		{
			RdpPattern p = memo.MixedTextDeriv (Child);
			return p.PatternType == RelaxngPatternType.NotAllowed ?
				p : p.Group (this.Choice (RdpEmpty.Instance));
		}
Пример #9
0
		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));
		}
Пример #10
0
		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));
		}
Пример #11
0
		internal override RdpPattern TextOnlyDeriv (MemoizationStore memo)
		{
			return memo.TextOnlyDeriv (Child).OneOrMore ();
		}
Пример #12
0
		internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo)
		{
			RdpPattern p = memo.StartTagCloseDeriv (LValue);
			return p.PatternType == RelaxngPatternType.NotAllowed ?
				p : p.Group (memo.StartTagCloseDeriv (RValue));
		}
Пример #13
0
		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);
		}
Пример #14
0
		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;
		}
Пример #15
0
		internal virtual RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo)
		{
			return TextDeriv (s, reader);
		}
Пример #16
0
		internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo)
		{
			return memo.StartTagCloseDeriv (Child).OneOrMore ();
		}
Пример #17
0
		internal virtual RdpPattern EmptyTextDeriv (MemoizationStore memo)
		{
			return TextDeriv (String.Empty, null, memo);
		}
Пример #18
0
		internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo)
		{
			return RdpNotAllowed.Instance;
		}
Пример #19
0
		internal virtual RdpPattern MixedTextDeriv (MemoizationStore memo)
		{
			return RdpNotAllowed.Instance;
		}
Пример #20
0
		internal override RdpPattern TextOnlyDeriv (MemoizationStore memo)
		{
			return RdpNotAllowed.Instance;
		}
Пример #21
0
		internal virtual RdpPattern StartTagCloseDeriv (MemoizationStore memo)
		{
			return StartTagCloseDeriv ();
		}
Пример #22
0
		internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo)
		{
			return nameClass.Contains (name, ns) ?
				children.After (RdpEmpty.Instance) :
				RdpNotAllowed.Instance;
		}
Пример #23
0
		internal override RdpPattern MixedTextDeriv (MemoizationStore memo)
		{
			return this;
		}
Пример #24
0
		internal override RdpPattern EmptyTextDeriv (MemoizationStore memo)
		{
			return memo.EmptyTextDeriv (LValue).After (RValue);
		}
Пример #25
0
		internal override RdpPattern TextOnlyDeriv (MemoizationStore memo)
		{
			return memo.TextOnlyDeriv (LValue).Choice (
				memo.TextOnlyDeriv (RValue));
		}
Пример #26
0
		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));
		}
Пример #27
0
		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));
		}
Пример #28
0
		internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo)
		{
			return memo.StartTagCloseDeriv (LValue).After (RValue);
		}
Пример #29
0
		internal override RdpPattern EndAttDeriv (MemoizationStore memo)
		{
			return memo.EndAttDeriv (LValue).Choice (memo.EndAttDeriv (RValue));
		}
Пример #30
0
		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;
		}