addElement ( 'caption', false, 'Inline', 'Common' );
$this->addElement ( 'table', 'Block', new HTMLPurifier_ChildDef_Table (), 'Common', array (
'border' => 'Pixels',
'cellpadding' => 'Length',
'cellspacing' => 'Length',
'frame' => 'Enum#void,above,below,hsides,lhs,rhs,vsides,box,border',
'rules' => 'Enum#none,groups,rows,cols,all',
'summary' => 'Text',
'width' => 'Length'
) );
// common attributes
$cell_align = array (
'align' => 'Enum#left,center,right,justify,char',
'charoff' => 'Length',
'valign' => 'Enum#top,middle,bottom,baseline'
);
$cell_t = array_merge ( array (
'abbr' => 'Text',
'colspan' => 'Number',
'rowspan' => 'Number',
// Apparently, as of HTML5 this attribute only applies
// to 'th' elements.
'scope' => 'Enum#row,col,rowgroup,colgroup'
), $cell_align );
$this->addElement ( 'td', false, 'Flow', 'Common', $cell_t );
$this->addElement ( 'th', false, 'Flow', 'Common', $cell_t );
$this->addElement ( 'tr', false, 'Required: td | th', 'Common', $cell_align );
$cell_col = array_merge ( array (
'span' => 'Number',
'width' => 'MultiLength'
), $cell_align );
$this->addElement ( 'col', false, 'Empty', 'Common', $cell_col );
$this->addElement ( 'colgroup', false, 'Optional: col', 'Common', $cell_col );
$this->addElement ( 'tbody', false, 'Required: tr', 'Common', $cell_align );
$this->addElement ( 'thead', false, 'Required: tr', 'Common', $cell_align );
$this->addElement ( 'tfoot', false, 'Required: tr', 'Common', $cell_align );
}
}
// vim: et sw=4 sts=4