table-start-tag ( document obj -- document )


Vocabulary
html5

Inputs
documentan object
objan object


Outputs
documentan object


Definition


:: table-start-tag ( document obj -- document )
document obj template-table-start-ignored?
[ document ] [
obj name>> {
{ "form" [ document obj start-table-form ] }
{ "input" [ document obj start-table-input ] }
{
"caption"
[
document { "table" } clear-to-table-context
document obj insert-element document
]
}
{
"colgroup"
[
document { "table" } clear-to-table-context
document obj insert-element document
]
}
{
"col"
[
document table-context "colgroup" = [
document ~array~ clear-to-table-context
document "colgroup" implied-element
] unless document obj insert-element
document
]
}
{
"tr"
[
document table-context "tr" =
[ document "tr" close-table-element ] when
document table-context
table-section-elements member? [
document ~array~ clear-to-table-context
document "tbody" implied-element
] unless
document table-section-elements
clear-to-table-context
document obj insert-element document
]
}
{
"table"
[
document "table"
{ "html" "template" } element-in-scope? [
document "table" close-table-element
document obj body-token
] [ document ] if
]
}
[
dup table-section-elements member? [
drop document
{ "table" } clear-to-table-context
document obj insert-element document
] [
table-cell-elements member? [
document table-context "tr" =
~quotation~ unless
document ~array~ clear-to-table-context
document obj insert-element document
] [
obj name>> ~array~ member?
~quotation~ ~quotation~ if
] if
] if
]
} case
] if ;