]> gitweb.michael.orlitzky.com - dead/lwn-epub.git/blob - src/LWN/XHTML.hs
f6632db19fe902afd69a8ea3017adeeba4b43655
[dead/lwn-epub.git] / src / LWN / XHTML.hs
1 module LWN.XHTML (
2 XHTML,
3 XML,
4 my_read_opts,
5 parse_lwn,
6 to_xhtml,
7 to_xml
8 )
9 where
10
11 import Text.XML.HXT.Core (
12 ArrowXml,
13 IOStateArrow,
14 SysConfigList,
15 XmlTree,
16 no,
17 readString,
18 withParseHTML,
19 withValidate,
20 withWarnings,
21 yes
22 )
23
24 class XHTML a where
25 to_xhtml :: a -> String
26
27 class XML a where
28 to_xml :: (ArrowXml b) => a -> (b XmlTree XmlTree)
29
30 -- | Options used when parsing HTML.
31 my_read_opts :: SysConfigList
32 my_read_opts = [ withValidate no,
33 withParseHTML yes,
34 withWarnings no ]
35
36 -- | My version of HandsomeSoup's parseHTML.
37 parse_lwn :: String -> IOStateArrow s b XmlTree
38 parse_lwn = readString my_read_opts