internal AttributeWrapper(GumboAttribute attribute, ElementWrapper parent, int index, Action <string, ElementWrapper> addElementWithId) { if (parent == null) { throw new ArgumentNullException("parent"); } if (addElementWithId == null) { throw new ArgumentNullException("addElementWithId"); } Parent = parent; Index = index; Name = NativeUtf8Helper.StringFromNativeUtf8(attribute.name); Value = NativeUtf8Helper.StringFromNativeUtf8(attribute.value); OriginalName = NativeUtf8Helper.StringFromNativeUtf8(attribute.original_name.data, (int)attribute.original_name.length); OriginalValue = NativeUtf8Helper.StringFromNativeUtf8(attribute.original_value.data, (int)attribute.original_value.length); NameStart = attribute.name_start; NameEnd = attribute.name_end; ValueStart = attribute.value_start; ValueEnd = attribute.value_end; Namespace = attribute.attr_namespace; if (String.Equals(this.Name, "id", StringComparison.OrdinalIgnoreCase)) { addElementWithId(this.Value, parent); } }
public AttributeWrapper CreateAttributeWrapper(GumboAttribute attribute, ElementWrapper parent) { var attributeWrapper = new AttributeWrapper(attribute, parent); if (string.Equals(attributeWrapper.Name, "id", StringComparison.OrdinalIgnoreCase)) { AddElementById(attributeWrapper.Value, parent); } return(attributeWrapper); }
internal AttributeWrapper(GumboAttribute attribute, ElementWrapper parent) { if (parent == null) { throw new ArgumentNullException(nameof(parent)); } Parent = parent; Name = NativeUtf8Helper.StringFromNativeUtf8(attribute.name); Value = NativeUtf8Helper.StringFromNativeUtf8(attribute.value); OriginalName = NativeUtf8Helper.StringFromNativeUtf8(attribute.original_name.data, (int)attribute.original_name.length); OriginalValue = NativeUtf8Helper.StringFromNativeUtf8(attribute.original_value.data, (int)attribute.original_value.length); NameStart = attribute.name_start; NameEnd = attribute.name_end; ValueStart = attribute.value_start; ValueEnd = attribute.value_end; Namespace = attribute.attr_namespace; }