module Text.HTML.WraXML.Table where
-- import qualified Text.HTML.WraXML.Tree as HTMLTree
import qualified Text.XML.WraXML.Tree as XMLTree
import qualified Text.XML.WraXML.Element as Elem
import qualified Text.XML.Basic.Name as Name
import Data.Maybe(mapMaybe)
type T i name str = [[[XMLTree.T i name str]]]
{- |
Ignores all non-table-row-tags and all non-table-cell-tags.
-}
simpleFromRows ::
(Name.Tag name) =>
[XMLTree.T i name str] -> T i name str
simpleFromRows =
map (simpleFromRow . snd) .
filter (Elem.checkName (Name.match "tr") . fst) .
mapMaybe XMLTree.maybeTag
simpleFromRow ::
(Name.Tag name) =>
[XMLTree.T i name str] -> [[XMLTree.T i name str]]
simpleFromRow =
map snd .
filter (Elem.checkName (Name.matchAny ["th","td"]) . fst) .
mapMaybe XMLTree.maybeTag
{-
data CellType = Heading | Cell
fromRows :: [XMLTree.T i name str] -> [[(CellType, [XMLTree.T i name str])]]
fromRows =
map fromRow .
filter (XMLTree.checkTagName ("tr"==) . fst) .
mapMaybe XMLTree.maybeTag
fromRow :: [XMLTree.T i name str] -> [(CellType, [XMLTree.T i name str])]
fromRow =
mapMaybe (\tag ->
if XMLTree.checkTagName ("td"==) tag
then Just) .
mapMaybe XMLTree.maybeTag
-}