Language

Token Class

Definition

public abstract class Token
type Token = class
Public MustInherit Class Token
Inheritance
Token
Derived

Constructors

Name Description
Token()
Token(Byte, String)
Token(String)

Fields

Name Description
DateLiteral
DoubleQuoteCharValue
DoubleQuoteValue
False
IntLiteral
m_hasMacros
m_isCaseInsensitve
m_isXPath
m_queriableValue
m_spelling
m_type
Null
OPAdd
OPAnd
OPContainsValue
OPDate
OPDoesNotContainValue
OPDynamic
OPEqual
OPGT
OPGTE
OPLike
OPLT
OPLTE
OPMatch
OPMemberOf
OPNot
OPNotEqual
OPNotMatch
OPOr
OPSubtract
OPUnder
OPUnderPath
ParenLeft
ParenRight
replacementChars
SingleQuoteCharValue
SingleQuoteValue
spellings
StringLiteral
Today
True

Properties

Name Description
HasMacros
IsXPathExpression
QueriableValue

Xpath Queriable value of this token All macros will be replaced - single quotes / double quotes are replaced with concat function.

Spelling

Exact Token Spelling

TokenType

Methods

Name Description
EscapeSpecialChatactersIfNeeded(Boolean, Boolean)

XPath doesn't have any good support for escape. The best way to do this is to concatenate the character e.g. a'b becomes concat('a', "'", 'b') a"b becomes concat("a", '"', "b") Because we also do our own parsing on top of XPath parsing having single quotes and double quotes in our parser can be a problem We optionally replace the expressions "'" and '"' with tokens that we can change back

EvaluatePathFunctions()

Returns XPath function in human readable format. e.g. Given a constant function like Name=concat('a', 'b', 'c') this returns the evaluated XPath, i.e Name='abc' in this case if the string contains double or single quotes they will be replaced with macros to avoid our parser getting confused e.g Name=concat('a', "'", 'b') becomes Name='a@@singlequote@@b' instead of Name='a'b'

EvaluateToken(Dictionary<String,String>)
GetOperatorString(Byte)
IsBoolOperator()
ToString()
Unescape()

Gets rid of single quote and double quote macros and replces them with the actual values in preparation for querying XPath

Applies to