xml-conduit-1.8.0: Pure-Haskell utilities for dealing with XML with the conduit package.

Safe HaskellNone




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.


Non-streaming functions

Lazy bytestrings


Byte streams

Streaming functions

toEvents :: Document -> [Event] Source #

Render a document into events.

elementToEvents :: Element -> [Event] Source #

Render a document element into events.

Since: 1.3.5

fromEvents :: MonadThrow m => ConduitT EventPos o m Document Source #

Parse a document from a stream of events.

elementFromEvents :: MonadThrow m => ConduitT EventPos o m (Maybe Element) Source #

Try to parse a document element (as defined in XML) from a stream of events.

Since: 1.3.5



def :: Default a => a #

The default value for this type.


psRetainNamespaces :: ParseSettings -> Bool Source #

Whether the original xmlns attributes should be retained in the parsed values. For more information on motivation, see:


Default: False

Since 1.2.1


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.