# Tokens taken from:
# - https://www.w3.org/TR/xslt20/
# - https://en.wikipedia.org/wiki/XSLT_elements
# - https://developer.mozilla.org/en-US/docs/Web/XSLT/Element


"<?"
"<?xslt-"
"?>"
"version=\"1.0\""
"encoding=\""
"<xsl:"
"/>"
"</xsl:"
">"
"<"
"<!--"
"-->"
"@"

"apply-imports"
"apply-templates"
"attribute"
"attribute-set"
"call-template"
"character-map"
"choose"
"comment"
"copy"
"copy-of"
"decimal-format"
"default-collection"
"element"
"exclude-result-prefixes"
"extension-element-prefixes"
"fallback"
"for-each"
"function"
"if"
"import"
"import-schema"
"include"
"key"
"message"
"namespace-alias"
"number"
"otherwise"
"output"
"param"
"preserve-space"
"processing-instruction"
"sort"
"strip-space"
"stylesheet"
"template"
"text"
"transform"
"use-when"
"value-of"
"variable"
"version"
"when"
"with-param"

# attributes
" name=\""
" namespace=\""
" select=\""
" test=\""
" type=\""
" value=\""
" prefix=\""

# functions
"ceiling"
"concat"
"contains"
"count"
"floor"
"normalize_space"
"position"
"round"
"string"
"string-length"
"substring"
"substring-after"
"substring-before"
"sum"
"translate"


# math extension
"http://exslt.org/math"
"math:highest"
"math:lowest"
"math:max"
"math:min"

# regex extension
"http://exslt.org/regular-expressions"
"regexp:match"
"regexp:replace"
"regexp:test"

# set extension
"http://exslt.org/sets"
"set:difference"
"set:distinct"
"set:has-same-node"
"set:intersection"
"set:leading"
"set:trailing"

# str extension
"http://exslt.org/strings"
"str:concat"
"str:split"
"str:tokenize"
