The class XmlContent
is a kind of replacement for Read and Show:
it provides conversions between a generic XML tree representation
and your own more specialised typeful Haskell data trees.
If you are starting with an XML DTD, use HaXml's tool DtdToHaskell to generate both the Haskell types and the corresponding instances.
If you are starting with a set of Haskell datatypes, use DrIFT to derive instances of this class for you: http://repetae.net/john/computer/haskell/DrIFT and _do_not_ use the current module, but rather Text.XML.HaXml.XmlContent.Haskell, for the correct matching instances for standard Haskell datatypes.
- module Text.XML.HaXml.XmlContent.Parser
- module Text.XML.HaXml.TypeMapping
- toXml :: XmlContent a => Bool -> a -> Document ()
- fromXml :: XmlContent a => Document Posn -> Either String a
- readXml :: XmlContent a => String -> Either String a
- showXml :: XmlContent a => Bool -> a -> String
- fpsShowXml :: XmlContent a => Bool -> a -> ByteString
- fReadXml :: XmlContent a => FilePath -> IO a
- fWriteXml :: XmlContent a => FilePath -> a -> IO ()
- fpsWriteXml :: XmlContent a => FilePath -> a -> IO ()
- hGetXml :: XmlContent a => Handle -> IO a
- hPutXml :: XmlContent a => Handle -> Bool -> a -> IO ()
- fpsHPutXml :: XmlContent a => Handle -> Bool -> a -> IO ()
Re-export everything from Text.XML.HaXml.XmlContent.Parser.
module Text.XML.HaXml.TypeMapping
Contains instances of the XmlContent classes,
Whole-document conversion functions
toXml :: XmlContent a => Bool -> a -> Document ()Source
Convert a fully-typed XML document to a string (with or without DTD).
fromXml :: XmlContent a => Document Posn -> Either String aSource
Read a Haskell value from an XML document, ignoring the DTD and using the Haskell result type to determine how to parse it.
readXml :: XmlContent a => String -> Either String aSource
Read a fully-typed XML document from a string.
showXml :: XmlContent a => Bool -> a -> StringSource
Convert a fully-typed XML document to a string (without DTD).
fpsShowXml :: XmlContent a => Bool -> a -> ByteStringSource
Convert a fully-typed XML document to a ByteString (without DTD).
fReadXml :: XmlContent a => FilePath -> IO aSource
Read an XML document from a file and convert it to a fully-typed Haskell value.
fWriteXml :: XmlContent a => FilePath -> a -> IO ()Source
Write a fully-typed Haskell value to the given file as an XML document.
fpsWriteXml :: XmlContent a => FilePath -> a -> IO ()Source
Write any Haskell value to the given file as an XML document, using the FastPackedString interface (output will not be prettified).
hGetXml :: XmlContent a => Handle -> IO aSource
Read a fully-typed XML document from a file handle.
hPutXml :: XmlContent a => Handle -> Bool -> a -> IO ()Source
Write a fully-typed XML document to a file handle.
fpsHPutXml :: XmlContent a => Handle -> Bool -> a -> IO ()Source
Write a fully-typed XML document to a file handle, using the FastPackedString interface (output will not be prettified).