This procedure is defined in the server but not documented via ad_proc or proc_doc and may be intended as a private interface.
The procedure is defined as:
proc sgml::firstpos {cs firstpos nullable} {
switch -- $cs {
:seq {
set result [lindex $firstpos 0 1]
for {set i 0} {$i < [llength $nullable]} {incr i} {
if {[lindex $nullable $i 1]} {
lappend result {*}[lindex $firstpos $i+1 1]
} else {
break
}
}
}
:choice {
foreach child $firstpos {
lappend result {*}$child
}
}
}
return [list $firstpos [makeSet $result]]
}