Beispiel #1
0
		protected override void Compile (Compiler c)
		{
			if (c.Debugger != null)
				c.Debugger.DebugCompile (this.DebugInput);

			c.CheckExtraAttributes ("number", "level", "count", "from", "value", "format", "lang", "letter-value", "grouping-separator", "grouping-size");

			switch (c.GetAttribute ("level"))
			{
			case "single":
				level = XslNumberingLevel.Single;
				break;
			case "multiple":
				level = XslNumberingLevel.Multiple;
				break;
			case "any":
				level = XslNumberingLevel.Any;
				break;
			case null:
			case "":
			default:
				level = XslNumberingLevel.Single; // single == default
				break;
			}
			
			count = c.CompilePattern (c.GetAttribute ("count"), c.Input);
			from = c.CompilePattern (c.GetAttribute ("from"), c.Input);
			value = c.CompileExpression (c.GetAttribute ("value"));
			
			format = c.ParseAvtAttribute ("format");
			lang = c.ParseAvtAttribute ("lang");
			letterValue = c.ParseAvtAttribute ("letter-value");
			groupingSeparator = c.ParseAvtAttribute ("grouping-separator");
			groupingSize = c.ParseAvtAttribute ("grouping-size");
		}
        protected override void Compile(Compiler c)
        {
            if (c.Debugger != null)
            {
                c.Debugger.DebugCompile(base.DebugInput);
            }
            c.CheckExtraAttributes("number", new string[]
            {
                "level",
                "count",
                "from",
                "value",
                "format",
                "lang",
                "letter-value",
                "grouping-separator",
                "grouping-size"
            });
            string attribute = c.GetAttribute("level");

            switch (attribute)
            {
            case "single":
                this.level = XslNumberingLevel.Single;
                goto IL_12C;

            case "multiple":
                this.level = XslNumberingLevel.Multiple;
                goto IL_12C;

            case "any":
                this.level = XslNumberingLevel.Any;
                goto IL_12C;
            }
            this.level = XslNumberingLevel.Single;
IL_12C:
            this.count             = c.CompilePattern(c.GetAttribute("count"), c.Input);
            this.from              = c.CompilePattern(c.GetAttribute("from"), c.Input);
            this.value             = c.CompileExpression(c.GetAttribute("value"));
            this.format            = c.ParseAvtAttribute("format");
            this.lang              = c.ParseAvtAttribute("lang");
            this.letterValue       = c.ParseAvtAttribute("letter-value");
            this.groupingSeparator = c.ParseAvtAttribute("grouping-separator");
            this.groupingSize      = c.ParseAvtAttribute("grouping-size");
        }
        protected override void Compile(Compiler c)
        {
            if (c.Debugger != null)
            {
                c.Debugger.DebugCompile(this.DebugInput);
            }

            c.CheckExtraAttributes("number", "level", "count", "from", "value", "format", "lang", "letter-value", "grouping-separator", "grouping-size");

            switch (c.GetAttribute("level"))
            {
            case "single":
                level = XslNumberingLevel.Single;
                break;

            case "multiple":
                level = XslNumberingLevel.Multiple;
                break;

            case "any":
                level = XslNumberingLevel.Any;
                break;

            case null:
            case "":
            default:
                level = XslNumberingLevel.Single; // single == default
                break;
            }

            count = c.CompilePattern(c.GetAttribute("count"), c.Input);
            from  = c.CompilePattern(c.GetAttribute("from"), c.Input);
            value = c.CompileExpression(c.GetAttribute("value"));

            format            = c.ParseAvtAttribute("format");
            lang              = c.ParseAvtAttribute("lang");
            letterValue       = c.ParseAvtAttribute("letter-value");
            groupingSeparator = c.ParseAvtAttribute("grouping-separator");
            groupingSize      = c.ParseAvtAttribute("grouping-size");
        }