Safe Haskell | None |
---|---|
Language | Haskell98 |
Network.SOAP.Parsing.Stream
Description
Collection of helpers to use with Text.XML.Stream.Parse parsers.
let sink = flaxTag "MethodNameResponse" $ flaxTag "MethodNameResult" $ do info <- flaxTag "Info" $ do q <- readTag "quantity" b <- readTag "balance" return $ Info q b rc <- readTag "ResponseCode" return (rc, info)
Synopsis
- laxTag :: MonadThrow m => Text -> ConduitM Event Void m a -> ConduitM Event Void m (Maybe a)
- flaxTag :: MonadThrow m => Text -> ConduitM Event Void m a -> ConduitM Event Void m a
- laxContent :: MonadThrow m => Text -> ConduitM Event Void m (Maybe Text)
- flaxContent :: MonadThrow m => Text -> ConduitM Event Void m Text
- readContent :: (Read a, MonadThrow m) => ConduitM Event Void m a
- readTag :: (Read a, MonadThrow m) => Text -> ConduitM Event Void m a
- data Event
- type ConduitM = ConduitT
- data Void
- type Sink i = ConduitT i Void
Tags
laxTag :: MonadThrow m => Text -> ConduitM Event Void m a -> ConduitM Event Void m (Maybe a) Source #
Namespace- and attribute- ignorant tagNoAttr.
flaxTag :: MonadThrow m => Text -> ConduitM Event Void m a -> ConduitM Event Void m a Source #
Non-maybe version of laxTag/tagNoAttr.
Content
laxContent :: MonadThrow m => Text -> ConduitM Event Void m (Maybe Text) Source #
flaxContent :: MonadThrow m => Text -> ConduitM Event Void m Text Source #
readContent :: (Read a, MonadThrow m) => ConduitM Event Void m a Source #
Unpack and read a current tag content.
readTag :: (Read a, MonadThrow m) => Text -> ConduitM Event Void m a Source #
Unpack and read tag content by local name.
Types to use in custom parser sinks
Some XML processing tools are incremental, and work in terms of events
rather than node trees. The Event
type allows a document to be fully
specified as a sequence of events.
Event-based XML libraries include:
Instances
Eq Event | |
Data Event | |
Defined in Data.XML.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Event -> c Event gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Event dataTypeOf :: Event -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Event) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Event) gmapT :: (forall b. Data b => b -> b) -> Event -> Event gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Event -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Event -> r gmapQ :: (forall d. Data d => d -> u) -> Event -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Event -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Event -> m Event gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Event -> m Event gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Event -> m Event | |
Ord Event | |
Show Event | |
Generic Event | |
NFData Event | |
Defined in Data.XML.Types | |
type Rep Event | |
Defined in Data.XML.Types type Rep Event = D1 ('MetaData "Event" "Data.XML.Types" "xml-types-0.3.6-386YiiicbozATh2FjG09w" 'False) (((C1 ('MetaCons "EventBeginDocument" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EventEndDocument" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "EventBeginDoctype" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ExternalID))) :+: (C1 ('MetaCons "EventEndDoctype" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EventInstruction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Instruction))))) :+: ((C1 ('MetaCons "EventBeginElement" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Name, [Content])])) :+: C1 ('MetaCons "EventEndElement" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) :+: (C1 ('MetaCons "EventContent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Content)) :+: (C1 ('MetaCons "EventComment" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "EventCDATA" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))))) |
Instances
Eq Void | |
Data Void | |
Defined in Data.Void Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Void -> c Void gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Void dataTypeOf :: Void -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Void) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Void) gmapT :: (forall b. Data b => b -> b) -> Void -> Void gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Void -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Void -> r gmapQ :: (forall d. Data d => d -> u) -> Void -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Void -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Void -> m Void gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Void -> m Void gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Void -> m Void | |
Ord Void | |
Read Void | |
Show Void | |
Ix Void | |
Generic Void | |
Semigroup Void | |
Lift Void | |
Defined in Language.Haskell.TH.Syntax | |
Exception Void | |
Defined in Data.Void Methods toException :: Void -> SomeException # fromException :: SomeException -> Maybe Void # displayException :: Void -> String # | |
Hashable Void | |
Defined in Data.Hashable.Class | |
type Rep Void | |