void AddMember (XElement element) { string id; if (element.IsRunatServer () && !string.IsNullOrEmpty (id = element.GetId ())) { if (Members.ContainsKey (id)) { Errors.Add (new Error ( ErrorType.Error, GettextCatalog.GetString ("Tag ID must be unique within the document: '{0}'.", id), element.Region ) ); } else { string controlType = element.Attributes.GetValue (new XName ("type"), true); var type = docRefMan.GetType (element.Name.Prefix, element.Name.Name, controlType); if (type == null) { Errors.Add ( new Error ( ErrorType.Error, GettextCatalog.GetString ("The tag type '{0}{1}{2}' has not been registered.", element.Name.Prefix, element.Name.HasPrefix ? string.Empty : ":", element.Name.Name), element.Region ) ); } else Members [id] = new CodeBehindMember (id, type, element.Region.Begin); } } foreach (XElement child in element.Nodes.OfType<XElement> ()) AddMember (child); }
public RazorOutlineNode (XElement el) { Name = el.Name.FullName; string id = el.GetId (); if (!string.IsNullOrEmpty (id)) Name = "<" + Name + "#" + id + ">"; else Name = "<" + Name + ">"; Location = el.Region; }