| 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 :: forall (m :: Type -> Type) a. MonadThrow m => Text -> ConduitM Event Void m a -> ConduitM Event Void m (Maybe a)
- flaxTag :: forall (m :: Type -> Type) a. MonadThrow m => Text -> ConduitM Event Void m a -> ConduitM Event Void m a
- laxContent :: forall (m :: Type -> Type). MonadThrow m => Text -> ConduitM Event Void m (Maybe Text)
- flaxContent :: forall (m :: Type -> Type). MonadThrow m => Text -> ConduitM Event Void m Text
- readContent :: forall a (m :: Type -> Type). (Read a, MonadThrow m) => ConduitM Event Void m a
- readTag :: forall a (m :: Type -> Type). (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 :: forall (m :: Type -> Type) a. MonadThrow m => Text -> ConduitM Event Void m a -> ConduitM Event Void m (Maybe a) Source #
Namespace- and attribute- ignorant tagNoAttr.
flaxTag :: forall (m :: Type -> Type) a. MonadThrow m => Text -> ConduitM Event Void m a -> ConduitM Event Void m a Source #
Non-maybe version of laxTag/tagNoAttr.
Content
laxContent :: forall (m :: Type -> Type). MonadThrow m => Text -> ConduitM Event Void m (Maybe Text) Source #
flaxContent :: forall (m :: Type -> Type). MonadThrow m => Text -> ConduitM Event Void m Text Source #
readContent :: forall a (m :: Type -> Type). (Read a, MonadThrow m) => ConduitM Event Void m a Source #
Unpack and read a current tag content.
readTag :: forall a (m :: Type -> Type). (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
| NFData Event | |||||
Defined in Data.XML.Types | |||||
| 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 | |||||
| Generic Event | |||||
Defined in Data.XML.Types Associated Types
| |||||
| Show Event | |||||
| Eq Event | |||||
| Ord Event | |||||
| type Rep Event | |||||
Defined in Data.XML.Types type Rep Event = D1 ('MetaData "Event" "Data.XML.Types" "xml-types-0.3.8-CPraXujWO7hCdGwznbCwrz" '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
| Semigroup Void | |||||
| Exception Void | |||||
Defined in GHC.Internal.Exception.Type Methods toException :: Void -> SomeException fromException :: SomeException -> Maybe Void displayException :: Void -> String backtraceDesired :: Void -> Bool | |||||
| Generic Void | |||||
Defined in GHC.Internal.Generics Associated Types
| |||||
| Read Void | |||||
Defined in GHC.Internal.Read | |||||
| Show Void | |||||
| Eq Void | |||||
| Ord Void | |||||
| Hashable Void | |||||
Defined in Data.Hashable.Class | |||||
| type Rep Void | |||||
Defined in GHC.Internal.Generics type Rep Void = D1 ('MetaData "Void" "GHC.Internal.Base" "ghc-internal" 'False) (V1 :: Type -> Type) | |||||