git.iko.soy/typeable/dom-parser
on 3b9fb4e help sign in
.travis.yml+4
since splitsnapshots
unifiedsplit
@@ -10,6 +10,10 @@ env:
10 - STACK_YAML=ghc-822.yaml
10 - STACK_YAML=ghc-822.yaml
11 - STACK_YAML=ghc-841.yaml
11 - STACK_YAML=ghc-841.yaml
12
12
13+matrix:
14+ allow_failures:
15+ - env: STACK_YAML=ghc-841.yaml
16+
13# Caching so the next build will be fast too.
17# Caching so the next build will be fast too.
14cache:
18cache:
15 directories:
19 directories:
CHANGELOG.md−13
@@ -2,19 +2,6 @@
2
2
3## HEAD
3## HEAD
4
4
5−## 3.2.0
6−
7−### Added
8−
9−* Text.XML.Soap module with XmlEnvelope stuff in it.
10−* GHC 9 compatibility.
11−
12−### Removed
13−
14−* Old stackage files.
15−
16−## 3.1.0
17−
18### Added
5### Added
19
6
20* Additional builds with GHC 8.0.2 and 8.2.1
7* Additional builds with GHC 8.0.2 and 8.2.1
dom-parser.cabal+8−8
@@ -1,5 +1,5 @@
1name: dom-parser
1name: dom-parser
2−version: 3.2.0
2+version: 3.0.0
3synopsis: Simple monadic DOM parser
3synopsis: Simple monadic DOM parser
4license: MIT
4license: MIT
5license-file: LICENSE
5license-file: LICENSE
@@ -9,9 +9,10 @@ category: XML
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-version: >=1.10
11homepage: https://github.com/typeable/dom-parser
11homepage: https://github.com/typeable/dom-parser
12−tested-with: GHC == 9.2.7
12+tested-with: GHC == 7.10.3
13+ , GHC == 8.0.2
14+ , GHC == 8.2.2
13− , GHC == 9.4.8
15+ , GHC == 8.4.1
14− , GHC == 9.6.3
15extra-source-files: CHANGELOG.md
16extra-source-files: CHANGELOG.md
16 , README.md
17 , README.md
17
18
@@ -44,16 +45,16 @@ library
44 , TypeFamilies
45 , TypeFamilies
45 , TypeOperators
46 , TypeOperators
46 , UndecidableInstances
47 , UndecidableInstances
47− build-depends: base >= 4.11 && < 5
48+ build-depends: base >= 4.7 && < 5
48 , case-insensitive
49 , case-insensitive
49 , containers
50 , containers
50 , lens
51 , lens
51− , mtl < 2.3 || > 2.3
52+ , mtl
52 , scientific
53 , scientific
54+ , semigroups
53 , text
55 , text
54 , transformers
56 , transformers
55 , xml-conduit
57 , xml-conduit
56− , xml-conduit-writer
57 , xml-lens
58 , xml-lens
58 exposed-modules: Text.XML.DOM.Parser
59 exposed-modules: Text.XML.DOM.Parser
59 , Text.XML.DOM.Parser.Attributes
60 , Text.XML.DOM.Parser.Attributes
@@ -63,7 +64,6 @@ library
63 , Text.XML.DOM.Parser.FromAttribute
64 , Text.XML.DOM.Parser.FromAttribute
64 , Text.XML.DOM.Parser.FromDom
65 , Text.XML.DOM.Parser.FromDom
65 , Text.XML.DOM.Parser.Types
66 , Text.XML.DOM.Parser.Types
66− , Text.XML.Soap
67
67
68test-suite test
68test-suite test
69 type: exitcode-stdio-1.0
69 type: exitcode-stdio-1.0
ghc-802.yamlnew file+3
@@ -0,0 +1,3 @@
1+resolver: lts-9.0
2+packages:
3+ - .
ghc-822.yamlnew file+1
@@ -0,0 +1 @@
1+resolver: lts-10.0
ghc-841.yamlnew file+1
@@ -0,0 +1 @@
1+resolver: nightly-2018-03-15
ghc-963.yamldeleted−7
@@ -1,7 +0,0 @@
1−resolver: lts-22.6
2−
3−extra-deps:
4− - xml-conduit-writer-0.1.1.5
5−
6−nix:
7− packages: [zlib]
src/Text/XML/DOM/Parser/Combinators.hs+1
@@ -22,6 +22,7 @@ import Control.Monad.Reader
22import Data.Foldable as F
22import Data.Foldable as F
23import Data.List as L
23import Data.List as L
24import Data.List.NonEmpty (NonEmpty(..))
24import Data.List.NonEmpty (NonEmpty(..))
25+import Data.Monoid
25import Data.Text as T
26import Data.Text as T
26import Data.Traversable
27import Data.Traversable
27import Text.XML
28import Text.XML
src/Text/XML/DOM/Parser/Content.hs+3−4
@@ -20,7 +20,6 @@ import Data.List as L
20import Data.Monoid
20import Data.Monoid
21import Data.Text as T
21import Data.Text as T
22import Data.Typeable
22import Data.Typeable
23−import Prelude as P
24import Text.Read
23import Text.Read
25import Text.XML.DOM.Parser.Types
24import Text.XML.DOM.Parser.Types
26import Text.XML.Lens
25import Text.XML.Lens
@@ -94,7 +93,7 @@ maybeReadContent
94maybeReadContent f t = maybe (Left msg) Right $ f t
93maybeReadContent f t = maybe (Left msg) Right $ f t
95 where
94 where
96 msg = "Not readable " <> n <> ": " <> t
95 msg = "Not readable " <> n <> ": " <> t
97− n = T.pack $ P.show $ typeRep (Proxy :: Proxy a)
96+ n = T.pack $ show $ typeRep (Proxy :: Proxy a)
98
97
99
98
100-- | Tries to read given text to value using 'Read'. Useful to use
99-- | Tries to read given text to value using 'Read'. Useful to use
@@ -115,8 +114,8 @@ readBool t =
115 tvals = ["y", "yes", "t", "true", "1"]
114 tvals = ["y", "yes", "t", "true", "1"]
116 fvals = ["n", "no", "f", "false", "0"]
115 fvals = ["n", "no", "f", "false", "0"]
117 in if
116 in if
118− | lowt `L.elem` tvals -> Right True
117+ | lowt `elem` tvals -> Right True
119− | lowt `L.elem` fvals -> Right False
118+ | lowt `elem` fvals -> Right False
120 | otherwise ->
119 | otherwise ->
121 Left $ "Could not read " <> t <> " as Bool"
120 Left $ "Could not read " <> t <> " as Bool"
122
121
src/Text/XML/DOM/Parser/Types.hs+3−2
@@ -36,6 +36,7 @@ import Control.Lens
36import Control.Monad.Except
36import Control.Monad.Except
37import Control.Monad.Reader
37import Control.Monad.Reader
38import Data.CaseInsensitive as CI
38import Data.CaseInsensitive as CI
39+import Data.Semigroup
39import Data.String
40import Data.String
40import Data.Text as T
41import Data.Text as T
41import GHC.Generics (Generic)
42import GHC.Generics (Generic)
@@ -88,6 +89,8 @@ data NameMatcher = NameMatcher
88 -- ^ Field for 'Show' instance and bulding usefull errors
89 -- ^ Field for 'Show' instance and bulding usefull errors
89 }
90 }
90
91
92+makeLenses ''NameMatcher
93+
91-- | Instance use 'matchCILocalName' as most general and liberal
94-- | Instance use 'matchCILocalName' as most general and liberal
92-- matching strategy (while XML is often malformed).
95-- matching strategy (while XML is often malformed).
93--
96--
@@ -119,8 +122,6 @@ matchCILocalName tname = NameMatcher
119 , _nmShow = tname
122 , _nmShow = tname
120 }
123 }
121
124
122−makeLenses ''NameMatcher
123−
124-- | Makes matcher which match name by 'Eq' with given
125-- | Makes matcher which match name by 'Eq' with given
125--
126--
126-- @since 2.0.0
127-- @since 2.0.0
src/Text/XML/Soap.hsdeleted−46
@@ -1,46 +0,0 @@
1−module Text.XML.Soap where
2−
3−import Control.Lens
4−import Data.String
5−import Text.XML
6−import Text.XML.DOM.Parser
7−import Text.XML.Writer
8−
9−data XmlEnvelope h b = XmlEnvelope
10− { _xeHeader :: !(Maybe h)
11− , _xeBody :: !(Maybe b)
12− } deriving (Eq, Show)
13−
14−makeLenses ''XmlEnvelope
15−
16−xmlEnvelopeToDocument :: (ToXML h, ToXML b) => XmlEnvelope h b -> Document
17−xmlEnvelopeToDocument xe = doc
18− where
19− sname n = fromString $ "{http://schemas.xmlsoap.org/soap/envelope/}" <> n
20− doc =
21− Document
22− { documentPrologue = Prologue [] Nothing []
23− , documentRoot =
24− Element
25− { elementName = sname "Envelope"
26− , elementAttributes = mempty
27− , elementNodes = [NodeElement header, NodeElement body]
28− }
29− , documentEpilogue = []
30− }
31− header =
32− Element
33− { elementName = sname "Header"
34− , elementAttributes = mempty
35− , elementNodes = render . toXML $ xe ^. xeHeader
36− }
37− body =
38− Element
39− { elementName = sname "Body"
40− , elementAttributes = mempty
41− , elementNodes = render . toXML $ xe ^. xeBody
42− }
43−
44−instance (FromDom h, FromDom b) => FromDom (XmlEnvelope h b) where
45− fromDom = XmlEnvelope <$> inElemMay "Header" fromDom
46− <*> inElemMay "Body" fromDom
stack.yamlmode 120000 → 100644+3−1
@@ -1 +0,0 @@
1−ghc-963.yaml
@@ -0,0 +1,3 @@
1+resolver: lts-6.35
2+packages:
3+ - .