xml-catalog 0.3.0.1 → 0.5.0
raw patch · 2 files changed
+12/−7 lines, 2 filesdep +bytestringdep +conduitdep +uri-conduitdep −uri-enumeratordep −xml-enumerator
Dependencies added: bytestring, conduit, uri-conduit, xml-conduit
Dependencies removed: uri-enumerator, xml-enumerator
Files
- Text/XML/Catalog.hs +7/−4
- xml-catalog.cabal +5/−3
Text/XML/Catalog.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE DeriveDataTypeable #-} +{-# LANGUAGE FlexibleContexts #-} -- | Used for loading a catalog file, caching DTDs and applying DTDs to -- documents. module Text.XML.Catalog @@ -16,9 +17,10 @@ import Data.Text (Text) import qualified Text.XML as X import Control.Monad (foldM) -import Network.URI.Enumerator +import Network.URI.Conduit import qualified Data.Text as T -import Control.Monad.IO.Class (MonadIO) +import qualified Data.Conduit as C +import Control.Monad.IO.Class (liftIO) -- | Either a public or system identifier. data PubSys = Public Text | System Text @@ -28,9 +30,10 @@ type Catalog = Map.Map PubSys URI -- | Load a 'Catalog' from the given path. -loadCatalog :: MonadIO m => SchemeMap m -> URI -> m Catalog +loadCatalog :: C.ResourceIO m => SchemeMap -> URI -> m Catalog loadCatalog sm uri = do - X.Document _ (X.Element _ _ ns) _ <- X.parseEnum_ X.def $ readURI sm uri + X.Document _ (X.Element _ _ ns) _ <- liftIO $ C.runResourceT $ + readURI sm uri C.$$ X.sinkDoc X.def foldM (addNode Nothing) Map.empty ns where addNode mbase0 c (X.NodeElement (X.Element name as ns)) = do
xml-catalog.cabal view
@@ -1,5 +1,5 @@ Name: xml-catalog -Version: 0.3.0.1 +Version: 0.5.0 Synopsis: Parse XML catalog files Homepage: http://github.com/snoyberg/xml License: BSD3 @@ -16,7 +16,9 @@ Build-depends: base >= 4 && < 5 , text >= 0.11 && < 1.0 , containers >= 0.2 && < 0.5 - , xml-enumerator >= 0.4 && < 0.5 - , uri-enumerator >= 0.1 && < 0.2 + , xml-conduit >= 0.5 && < 0.6 + , uri-conduit >= 0.2 && < 0.3 + , conduit >= 0.0 && < 0.1 , transformers >= 0.2 && < 0.3 + , bytestring Ghc-options: -Wall