internal CssAttributeSelector(string localName, string namespacePrefix, CssAttributeMatchOperator matchOperator, CssStringToken matchOperand)
            : base(DefaultSpecificity)
        {
            ArgChecker.AssertArgNotNullOrEmpty(localName, nameof(localName));
            ArgChecker.AssertIsTrue <ArgumentNullException>(
                matchOperator == CssAttributeMatchOperator.Any || matchOperand != null,
                string.Format(CultureInfo.InvariantCulture, "The {0} is required for match operator '{1}'.", nameof(matchOperand), matchOperator));

            _localName       = localName;
            _namespacePrefix = namespacePrefix;
            _matchOperator   = matchOperator;
            _matchOperand    = matchOperand;
        }
Esempio n. 2
0
 /// <summary>
 /// Creates selector for elements that have an attribute whose value satisfies a given predicate.
 /// </summary>
 /// <param name="localName">The local name of matching attributes.</param>
 /// <param name="namespacePrefix">An optional namespace prefix for <paramref name="localName"/>.
 /// A <c>null</c> value represents any namespace. A <see cref="string.Empty"/> value represents
 /// no namespace.</param>
 /// <param name="matchOperator">An attribute string value matching operator.</param>
 /// <param name="matchOperand">The value to which attribute values are matched.</param>
 /// <returns>The newly created selector.</returns>
 internal static CssAttributeSelector WithAttribute(string localName, string namespacePrefix, CssAttributeMatchOperator matchOperator, CssStringToken matchOperand)
 {
     return(new CssAttributeSelector(localName, namespacePrefix, matchOperator, matchOperand));
 }