Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
 internal Attribute(GumboAttribute attribute, Element parent)
 {
     Parent        = parent ?? throw new ArgumentNullException(nameof(parent));
     Name          = NativeUtf8.StringFromNativeUtf8(attribute.name);
     Value         = NativeUtf8.StringFromNativeUtf8(attribute.value);
     OriginalName  = NativeUtf8.StringFromNativeUtf8(attribute.original_name.data, (int)attribute.original_name.length);
     OriginalValue = NativeUtf8.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;
 }