packages feed

hexpat-iteratee-0.5: test/test1.hs

-- Make sure monads-fd package is installed.
import Text.XML.Expat.Chunked
import Text.XML.Expat.Format

import Control.Monad
import Control.Monad.Trans
import qualified Data.ByteString as B
import Data.Iteratee
import Data.List.Class
import Data.Text (Text)
import qualified Data.Text as T
import System.IO


main :: IO ()
main = do
    iter <- parse defaultParseOptions dump
    eErr <- fileDriver iter "sudoku.xml"
    case eErr of
        Left err -> putStrLn $ "failed: "++show err
        Right () -> putStrLn ""

dump :: ListOf (UNode s IO Text) -> XMLT s IO ()
dump doc = do
    (elt:_) <- toList doc
    let txt = formatG elt
    execute $ forL txt $ liftIO . B.hPutStr stdout
  where
    forL = flip mapL