Defined in
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
-
No testcase defined.
Source code:
variable $token
upvar 0 $token state
if {[parselexeme $token] ne "LX_ATOM"} {
error [format "expecting type (found %s)" $state(buffer)]
}
set type [string tolower $state(buffer)]
switch -- [parselexeme $token] {
LX_SOLIDUS {
}
LX_END {
if {$type ne "message"} {
error "expecting type/subtype (found $type)"
}
return [list message/rfc822 {}]
}
default {
error [format "expecting \"/\" (found %s)" $state(buffer)]
}
}
if {[parselexeme $token] ne "LX_ATOM"} {
error [format "expecting subtype (found %s)" $state(buffer)]
}
append type [string tolower /$state(buffer)]
array set params {}
while {1} {
switch -- [parselexeme $token] {
LX_END {
return [list $type [array get params]]
}
LX_SEMICOLON {
}
default {
error [format "expecting \";\" (found %s)" $state(buffer)]
}
}
switch -- [parselexeme $token] {
LX_END {
return [list $type [array get params]]
}
LX_ATOM {
}
default {
error [format "expecting attribute (found %s)" $state(buffer)]
}
}
set attribute [string tolower $state(buffer)]
if {[parselexeme $token] ne "LX_EQUALS"} {
error [format "expecting \"=\" (found %s)" $state(buffer)]
}
switch -- [parselexeme $token] {
LX_ATOM {
}
LX_QSTRING {
set state(buffer) [
string range $state(buffer) 1 [
expr {[string length $state(buffer)] - 2}]]
}
default {
error [format "expecting value (found %s)" $state(buffer)]
}
}
set params($attribute) $state(buffer)
}
XQL Not present:Generic, PostgreSQL, Oracle