Ejemplo n.º 1
0
 public CssAttributeSelector(string attributeName, string attributeValue, CssAttributeSelectorOperation operation, CssAttributeSelectorValueType attributeValueType, bool explicitCaseInsensitive)
 {
     AttributeName           = attributeName ?? throw new ArgumentNullException(nameof(attributeName));
     AttributeValue          = attributeValue ?? throw new ArgumentNullException(nameof(attributeValue));
     Operation               = operation;
     AttributeValueType      = attributeValueType;
     ExplicitCaseInsensitive = explicitCaseInsensitive;
 }
Ejemplo n.º 2
0
        public bool TryReadCssAttributeSelectorOperation(out CssAttributeSelectorOperation operation)
        {
            switch (CurrentChar)
            {
            case ']':
                operation = CssAttributeSelectorOperation.Has;
                return(true);

            case '=':
                Position++;
                operation = CssAttributeSelectorOperation.Exact;
                return(true);

            case '~' when NextChar == '=':
                Position += 2;
                operation = CssAttributeSelectorOperation.WordExact;
                return(true);

            case '|' when NextChar == '=':
                Position += 2;
                operation = CssAttributeSelectorOperation.ExactOrHyphenatedPrefix;
                return(true);

            case '^' when NextChar == '=':
                Position += 2;
                operation = CssAttributeSelectorOperation.Prefix;
                return(true);

            case '$' when NextChar == '=':
                Position += 2;
                operation = CssAttributeSelectorOperation.Suffix;
                return(true);

            case '*' when NextChar == '=':
                Position += 2;
                operation = CssAttributeSelectorOperation.Contains;
                return(true);

            default:
                operation = CssAttributeSelectorOperation.Exact;
                return(false);
            }
        }