private void FixupNamespace(DomAttributeEvent evt) { if (!(evt.LocalName.StartsWith("xmlns:") || evt.LocalName == "xmlns")) { return; } if (evt.Target.ActualNameContext == null) { evt.Target.NameContext = new XmlNameContext(); } }
internal void AttributeValueChanged(DomAttribute attr, DomElement element, string oldValue) { DomAttributeEvent evt = null; foreach (var o in GetObservers(DomObserverEventScope.SpecificAttribute(attr.Name), element)) { if (evt == null) { evt = new DomAttributeEvent(element, attr.Name, oldValue); } o.OnNext(evt); } }
protected override void OnAttributeEvent(DomAttributeEvent value) { Each(i => i.OnAttributeEvent(value)); }
protected override void OnAttributeEvent(DomAttributeEvent value) { _handler(value); }
protected virtual void OnAttributeEvent(DomAttributeEvent value) { }
private void Handler(DomAttributeEvent evt) { Remove(evt.OldValue, evt.Target); Add(evt.Value, evt.Target); }