+
+
+-- parse_headline :: IOSArrow XmlTree (NTree XNode) -> IO (Maybe String)
+-- parse_headline xml = do
+-- let element_filter = xml >>> css "div.PageHeadline h1"
+-- let element_text_filter = element_filter /> getText
+-- element_text <- runX element_text_filter
+-- return $ case element_text of
+-- [x] -> Just $ strip x
+-- [] -> Nothing
+-- _ -> error "Found more than one headline."
+
+-- parse_byline :: IOSArrow XmlTree (NTree XNode) -> IO (Maybe String)
+-- parse_byline xml = do
+-- let element_filter = xml >>> css "div.Byline"
+-- let element_text_filter = element_filter /> getText
+-- element_text <- runX element_text_filter
+-- return $ case element_text of
+-- [x] -> Just $ strip x
+-- [] -> Nothing
+-- _ -> error "Found more than one byline."
+
+
+-- parse_body :: IOSArrow XmlTree (NTree XNode) -> IO (Maybe String)
+-- parse_body xml = do
+-- let element_filter = xml >>> css "div.ArticleText"
+-- let element_html_filter = xshow element_filter
+-- element_html <- runX element_html_filter
+-- return $ case element_html of
+-- [x] -> Just x
+-- [] -> Nothing
+-- _ -> error "Found more than one article."
+
+
+-- parse_articles :: IOSArrow XmlTree (NTree XNode) -> IO (Maybe [Article])
+-- parse_articles xml = do
+-- parsed_headline <- parse_headline xml
+-- parsed_byline <- parse_byline xml
+-- parsed_body <- parse_body xml
+-- let headline' = fromJust parsed_headline
+-- let byline' = fromJust parsed_byline
+-- let body' = fromJust parsed_body
+-- return $ Just $ [Article headline' byline' body']
+