Пример #1
0
        protected HtmlElementResult ConvertElement(HtmlElementRule parent, XmlElement element)
        {
            Precondition.Require(element, () => Error.ArgumentNull("element"));
            HtmlElementRule    rule    = GetElementRule(parent, element.LocalName);
            HtmlElementContext context = new HtmlElementContext(rule.Clone(), Parameters);

            if (rule.HasConverter)
            {
                element = rule.Converter(context, element);
                if (element == null)
                {
                    return(null);
                }

                if (!MatchName(element, context.Rule))
                {
                    rule = GetElementRule(parent, element.LocalName);
                }

                if ((rule.Options & HtmlElementOptions.Generated) == HtmlElementOptions.Generated)
                {
                    rule          = rule.Clone();
                    rule.Options |= HtmlElementOptions.Allowed;
                }
            }
            return(new HtmlElementResult(element, rule));
        }
Пример #2
0
        public virtual HtmlElementRule AddElementRule(HtmlElementRule rule)
        {
            Precondition.Require(rule, () => Error.ArgumentNull("rule"));
            HtmlElementRule current = (rule.Parent == this) ? rule : rule.Clone(this);

            _children[current.Name] = current;

            return(current);
        }
		public virtual HtmlElementRule AddElementRule(HtmlElementRule rule)
		{
			Precondition.Require(rule, () => Error.ArgumentNull("rule"));
			HtmlElementRule current = (rule.Parent == this) ? rule : rule.Clone(this);
			_children[current.Name] = current;

			return current;
		}