Safe Haskell | None |
---|---|
Language | Haskell98 |
DOM-based XML parsing and rendering.
In this module, attribute values and content nodes can contain either raw text or entities. In most cases, these can be fully resolved at parsing. If that is the case for your documents, the Text.XML module provides simplified datatypes that only contain raw text.
- writeFile :: RenderSettings -> FilePath -> Document -> IO ()
- readFile :: ParseSettings -> FilePath -> IO Document
- renderLBS :: RenderSettings -> Document -> ByteString
- parseLBS :: ParseSettings -> ByteString -> Either SomeException Document
- parseLBS_ :: ParseSettings -> ByteString -> Document
- parseText :: ParseSettings -> Text -> Either SomeException Document
- parseText_ :: ParseSettings -> Text -> Document
- sinkTextDoc :: MonadThrow m => ParseSettings -> Consumer Text m Document
- sinkDoc :: MonadThrow m => ParseSettings -> Consumer ByteString m Document
- toEvents :: Document -> [Event]
- fromEvents :: MonadThrow m => Consumer EventPos m Document
- renderBuilder :: Monad m => RenderSettings -> Document -> Producer m Builder
- renderBytes :: (MonadBase base m, PrimMonad base) => RenderSettings -> Document -> ConduitM a ByteString m ()
- renderText :: (MonadThrow m, MonadBase base m, PrimMonad base) => RenderSettings -> Document -> ConduitM a Text m ()
- data InvalidEventStream
- def :: Default a => a
- data ParseSettings
- psDecodeEntities :: ParseSettings -> DecodeEntities
- psRetainNamespaces :: ParseSettings -> Bool
- data RenderSettings
- rsPretty :: RenderSettings -> Bool
- rsNamespaces :: RenderSettings -> [(Text, Text)]
Non-streaming functions
writeFile :: RenderSettings -> FilePath -> Document -> IO () Source
readFile :: ParseSettings -> FilePath -> IO Document Source
Lazy bytestrings
renderLBS :: RenderSettings -> Document -> ByteString Source
parseLBS :: ParseSettings -> ByteString -> Either SomeException Document Source
parseLBS_ :: ParseSettings -> ByteString -> Document Source
Text
parseText :: ParseSettings -> Text -> Either SomeException Document Source
parseText_ :: ParseSettings -> Text -> Document Source
sinkTextDoc :: MonadThrow m => ParseSettings -> Consumer Text m Document Source
Byte streams
sinkDoc :: MonadThrow m => ParseSettings -> Consumer ByteString m Document Source
Streaming functions
fromEvents :: MonadThrow m => Consumer EventPos m Document Source
renderBuilder :: Monad m => RenderSettings -> Document -> Producer m Builder Source
renderBytes :: (MonadBase base m, PrimMonad base) => RenderSettings -> Document -> ConduitM a ByteString m () Source
renderText :: (MonadThrow m, MonadBase base m, PrimMonad base) => RenderSettings -> Document -> ConduitM a Text m () Source
Exceptions
data InvalidEventStream Source
Settings
def :: Default a => a
Parse
data ParseSettings Source
Default ParseSettings |
psRetainNamespaces :: ParseSettings -> Bool Source
Whether the original xmlns attributes should be retained in the parsed values. For more information on motivation, see:
https://github.com/snoyberg/xml/issues/38
Default: False
Since 1.2.1
Render
data RenderSettings Source
Default RenderSettings |
rsPretty :: RenderSettings -> Bool Source
rsNamespaces :: RenderSettings -> [(Text, Text)] Source
Defines some top level namespace definitions to be used, in the form of (prefix, namespace). This has absolutely no impact on the meaning of your documents, but can increase readability by moving commonly used namespace declarations to the top level.