wraxml 0.4.4.3 → 0.4.4.4
raw patch · 6 files changed
+41/−40 lines, 6 filesdep ~utility-ht
Dependency ranges changed: utility-ht
Files
- src/Text/HTML/WraXML/String.hs +4/−4
- src/Text/HTML/WraXML/Tree.hs +2/−2
- src/Text/HTML/WraXML/Tree/HXT.hs +18/−14
- src/Text/XML/WraXML/String.hs +6/−6
- src/Text/XML/WraXML/Tree.hs +8/−11
- wraxml.cabal +3/−3
src/Text/HTML/WraXML/String.hs view
@@ -1,13 +1,13 @@ module Text.HTML.WraXML.String where -import qualified Text.XML.WraXML.String as XmlString import qualified Text.HTML.Basic.Character as HtmlChar-import qualified Data.Char as Char+import qualified Text.XML.WraXML.String as XmlString import qualified Text.XML.HXT.DOM.Unicode as Unicode+import Text.XML.WraXML.Utility (compose) -import qualified Control.Monad.Exception.Synchronous as Exc+import qualified Data.Char as Char -import Text.XML.WraXML.Utility (compose, )+import qualified Control.Monad.Exception.Synchronous as Exc type T = [Atom]
src/Text/HTML/WraXML/Tree.hs view
@@ -19,7 +19,7 @@ import Control.Monad.Trans.State (State, put, get, ) import Control.Applicative (liftA, liftA2, ) -import Data.List.HT (takeWhileRev, )+import qualified Data.List.Reverse.StrictElement as Rev import Data.Tuple.HT (mapFst, ) import Control.Monad (liftM2, ) import Data.Maybe (mapMaybe, fromMaybe, )@@ -32,7 +32,7 @@ (Name.Tag name, Name.Attribute name) => XmlTree.T i name String -> Maybe String findMetaEncoding =- fmap (map Char.toLower . takeWhileRev ('='/=)) .+ fmap (map Char.toLower . Rev.takeWhile ('='/=)) . lookup "content-type" . map (mapFst (map Char.toLower)) . getMetaHTTPHeaders
src/Text/HTML/WraXML/Tree/HXT.hs view
@@ -63,12 +63,12 @@ format :: HXT.XmlTree -> String format leaf = formatTrees (HXTTree.getChildren leaf) "" -formatTrees :: HXT.XmlTrees -> ShowS-formatTrees = foldr (.) id . map formatTree+formatTrees :: HXT.XmlTrees -> ShowS+formatTrees = foldr (.) id . map formatTree -- cf. src/Text/XML/HXT/DOM/XmlTreeFunctions.hs-formatTree :: HXT.XmlTree -> ShowS+formatTree :: HXT.XmlTree -> ShowS formatTree leaf = case leaf of (NTree (XPi n al) _) ->@@ -82,18 +82,19 @@ where showPiAttr :: HXT.XmlTree -> String -> String showPiAttr a@(NTree (XAttr an) cs) =- if aName an == a_value- then Format.blank . formatTrees cs- else formatTree a+ if qualifiedName an == a_value+ then Format.blank . formatTrees cs+ else formatTree a showPiAttr _ = id (NTree (XTag t al) cs) ->- if null cs && isEmptyHtmlTag (HXT.qualifiedName t)+ if null cs && isEmptyHtmlTag (qualifiedName t) then Format.lt . formatQName t . formatTrees al . Format.gt else Format.lt . formatQName t . formatTrees al . Format.gt . formatTrees cs . Format.lt . Format.slash . formatQName t . Format.gt (NTree (XAttr an) cs) ->- Format.blank . formatQName an . Format.eq . Format.stringQuoted (formatTrees cs "")+ Format.blank . formatQName an . Format.eq .+ Format.stringQuoted (formatTrees cs "") (NTree (XError l e) _) -> showString "<!-- ERROR (" . showString (show l) . showString "):\n" . showString e . showString "\n-->"@@ -112,12 +113,14 @@ findMetaEncoding :: String -> IO (Maybe String) findMetaEncoding str = do htmlTrees <- xmlTreesFromHTMLString str- return (msum (map HtmlTree.findMetaEncoding (htmlTrees :: [XmlTree.T () NameLC.T String])))+ return (msum (map HtmlTree.findMetaEncoding+ (htmlTrees :: [XmlTree.T () NameLC.T String]))) getMetaHTTPHeaders :: String -> IO [(String, String)] getMetaHTTPHeaders str = do htmlTrees <- xmlTreesFromHTMLString str- return (concatMap HtmlTree.getMetaHTTPHeaders (htmlTrees :: [XmlTree.T () NameLC.T String]))+ return (concatMap HtmlTree.getMetaHTTPHeaders+ (htmlTrees :: [XmlTree.T () NameLC.T String])) xmlTreesFromHTMLString :: (Name.Tag name, Name.Attribute name) =>@@ -142,7 +145,8 @@ {- With no encoding option given,-utf8ToUnicode fails when trying to interpret ISO-Latin characters as UTF-8 characters+utf8ToUnicode fails when trying+to interpret ISO-Latin characters as UTF-8 characters. -} fromHTMLString :: String -> IO HXT.XmlTree fromHTMLString = fromHTMLStringOpt [(a_encoding, isoLatin1)]@@ -168,9 +172,9 @@ errorAnnFromHTMLStringOpt options contents = do let options' =- (a_collect_errors, v_1) : -- collect errors- (a_issue_errors, v_0) : -- but don't issue- -- can be overwritten by supporting other values in options+ (a_collect_errors, v_1) : -- collect errors+ (a_issue_errors, v_0) : -- but don't issue+ -- can be overwritten by supporting other values in options options (root:errs) <- run' $ parseDocument options' contents emptyRoot let elvl = intValueOf a_status root
src/Text/XML/WraXML/String.hs view
@@ -3,16 +3,16 @@ import qualified Text.XML.HXT.DOM.Unicode as Unicode import qualified Text.XML.Basic.Character as XmlChar+import Text.XML.WraXML.Utility (compose) -import Control.Applicative (Applicative, liftA, )-import qualified Numeric import qualified Data.Char as Char-import Text.XML.WraXML.Utility (compose, )-import Data.Tuple.HT (mapFst, )+import Data.Tuple.HT (mapFst) -import qualified Control.Monad.Exception.Synchronous as Exc+import qualified Numeric -import Control.Monad.Trans.State (State, evalState, )+import qualified Control.Monad.Exception.Synchronous as Exc+import Control.Monad.Trans.State (State, evalState)+import Control.Applicative (Applicative, liftA) type T = [Atom]
src/Text/XML/WraXML/Tree.hs view
@@ -1,33 +1,30 @@ module Text.XML.WraXML.Tree where -import qualified Text.XML.WraXML.Element as Elem--import qualified Data.Tree.BranchLeafLabel as Tree-import qualified Text.XML.WraXML.String as XmlString import qualified Text.HTML.WraXML.String as HtmlString+import qualified Text.XML.WraXML.String as XmlString+import qualified Text.XML.WraXML.Element as Elem import qualified Text.XML.Basic.Tag as Tag import qualified Text.XML.Basic.Attribute as Attr import qualified Text.XML.Basic.Name as Name import qualified Text.XML.Basic.ProcessingInstruction as PI+import qualified Text.XML.Basic.Format as Format +import qualified Data.Tree.BranchLeafLabel as Tree import qualified Text.XML.HXT.DOM.Unicode as Unicode-import qualified Data.Char as Char--import Control.Monad.Trans.Writer (Writer, writer, runWriter, censor, )+import qualified Data.Char as Char import qualified Control.Monad.Exception.Synchronous as Exc+import Control.Monad.Trans.Writer (Writer, writer, runWriter, censor) -import Data.Foldable as Foldable(Foldable(foldMap))-import Data.Traversable as Traversable(Traversable(traverse))+import Data.Foldable (Foldable(foldMap))+import Data.Traversable (Traversable(traverse)) import Control.Applicative (Applicative, ) import qualified Control.Applicative as App import Data.List.HT (unzipEithers, ) import Data.Tuple.HT (mapFst, mapSnd, mapPair, swap, ) import Data.Maybe (mapMaybe, fromMaybe, ) import Data.Monoid (Monoid, mempty, mappend, mconcat, )--import qualified Text.XML.Basic.Format as Format {- * data structures -}
wraxml.cabal view
@@ -1,6 +1,6 @@ Cabal-Version: 2.2 Name: wraxml-Version: 0.4.4.3+Version: 0.4.4.4 License: GPL-3.0-only License-File: LICENSE Author: Henning Thielemann <haskell@henning-thielemann.de>@@ -51,7 +51,7 @@ Source-Repository this Type: darcs Location: http://code.haskell.org/~thielema/wraxml/- Tag: 0.4.4.3+ Tag: 0.4.4.4 Flag buildExamples description: Build example executables@@ -70,7 +70,7 @@ transformers >=0.2 && <0.7, data-accessor >=0.2 && <0.3, containers >=0.1 && <0.7,- utility-ht >=0.0.4 && <0.1,+ utility-ht >=0.0.12 && <0.1, base >=3 && <5 Default-Language: Haskell98 GHC-Options: -Wall