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 -}