/// <summary> /// Creates a ParsingObject as a child of this one, and returns it. /// </summary> public virtual ParsingObject CreateChildParsingObject(ILocation location, string tagid, TagAttributes attributes) { string[] str = tagid.Split(':'); //html tags //TODO: check for valid tags? if (str.Length == 1) { if (attributes.IsRunAtServer() && (0 == string.Compare("form", tagid))) { return(new ServerFormParsingObject(location.PlainText, tagid, this)); } return(new HtmlParsingObject(location.PlainText, tagid, this)); } //fall through to server tags if (str.Length != 2) { throw new ParseException(location, "Server tag name is not of form prefix:name"); } Type tagType = WebFormReferenceManager.GetObjectType(str[0], str[1]); if (tagType == null) { throw new ParseException(location, "The tag " + tagid + "has not been registered"); } return(new ServerObjectParsingObject(tagType, attributes.GetDictionary(null), tagid, this)); }
/// <summary> /// Creates a ParsingObject as a child of this one, and returns it. /// </summary> public virtual ParsingObject CreateChildParsingObject(ILocation location, string tagid, TagAttributes attributes) { string[] str = tagid.Split(':'); //html tags //TODO: check for valid tags? if (str.Length == 1) { if (attributes.IsRunAtServer () && (0 == string.Compare ("form", tagid))) return new ServerFormParsingObject (location.PlainText, tagid, this); return new HtmlParsingObject (location.PlainText, tagid, this); } //fall through to server tags if (str.Length != 2) throw new ParseException (location, "Server tag name is not of form prefix:name"); Type tagType = WebFormReferenceManager.GetObjectType(str[0], str[1]); if (tagType == null) throw new ParseException(location, "The tag " + tagid + "has not been registered"); return new ServerObjectParsingObject (tagType, attributes.GetDictionary(null), tagid, this); }