hxt- A collection of tools for processing XML with Haskell.

CopyrightCopyright (C) 2010 Uwe Schmidt
MaintainerUwe Schmidt (uwe@fh-wedel.de)
Safe HaskellNone



system configuration and common options options



withTrace :: Int -> SysConfig Source

withTace level : system option, set the trace level, (0..4)

withSysAttr :: String -> String -> SysConfig Source

withSysAttr key value : store an arbitarty key value pair in system state

withAcceptedMimeTypes :: [String] -> SysConfig Source

Specify the set of accepted mime types.

All contents of documents for which the mime type is not found in this list are discarded.

withMimeTypeHandler :: String -> IOSArrow XmlTree XmlTree -> SysConfig Source

Specify a content handler for documents of a given mime type

withMimeTypeFile :: String -> SysConfig Source

withMimeTypeFile filename : input option, set the mime type table for file: documents by given file. The format of this config file must be in the syntax of a debian linux "mime.types" config file

withFileMimeType :: String -> SysConfig Source

Force a given mime type for all file contents.

The mime type for file access will then not be computed by looking into a mime.types file

withWarnings :: Bool -> SysConfig Source

withWarnings yes/no : system option, issue warnings during reading, HTML parsing and processing, default is yes

withErrors :: Bool -> SysConfig Source

withErrors yes/no : system option for suppressing error messages, default is no

withRemoveWS :: Bool -> SysConfig Source

withRemoveWS yes/no : read and write option, remove all whitespace, used for document indentation, default is no

withPreserveComment :: Bool -> SysConfig Source

withPreserveComment yes/no : read option, preserve comments during canonicalization, default is no

withParseByMimeType :: Bool -> SysConfig Source

withParseByMimeType yes/no : read option, select the parser by the mime type of the document (pulled out of the HTTP header).

When the mime type is set to "text/html" the configured HTML parser is taken, when it's set to "text/xml" or "text/xhtml" the configured XML parser is taken. If the mime type is something else, no further processing is performed, the contents is given back to the application in form of a single text node. If the default document encoding is set to isoLatin1, this even enables processing of arbitray binary data.

withParseHTML :: Bool -> SysConfig Source

withParseHTML yes/no: read option, use HTML parser, default is no (use XML parser)

withValidate :: Bool -> SysConfig Source

withValidate yes/no: read option, validate document against DTD, default is yes

withSubstDTDEntities :: Bool -> SysConfig Source

withSubstDTDEntities yes/no: read option, substitute general entities defined in DTD, default is yes. switching this option and the validate option off can lead to faster parsing, because then there is no need to access the DTD

withSubstHTMLEntities :: Bool -> SysConfig Source

withSubstHTMLEntities yes/no: read option, substitute general entities defined in HTML DTD, default is no. switching this option on and the substDTDEntities and validate options off can lead to faster parsing because there is no need to access a DTD, but still the HTML general entities are substituted

withCheckNamespaces :: Bool -> SysConfig Source

withCheckNamespaces yes/no: read option, check namespaces, default is no

withCanonicalize :: Bool -> SysConfig Source

withCanonicalize yes/no : read option, canonicalize document, default is yes

withIgnoreNoneXmlContents :: Bool -> SysConfig Source

withIgnoreNoneXmlContents yes/no : input option, ignore document contents of none XML/HTML documents.

This option can be useful for implementing crawler like applications, e.g. an URL checker. In those cases net traffic can be reduced.

withStrictInput :: Bool -> SysConfig Source

withStrictInput yes/no : input option, input of file and HTTP contents is read eagerly, default is no

withEncodingErrors :: Bool -> SysConfig Source

withEncodingErrors yes/no : input option, ignore all encoding errors, default is no

withInputEncoding :: String -> SysConfig Source

withInputEncoding encodingName : input option

Set default document encoding (utf8, isoLatin1, usAscii, iso8859_2, ... , iso8859_16, ...). Only XML, HTML and text documents are decoded, default decoding for XML/HTML is utf8, for text iso latin1 (no decoding).

withDefaultBaseURI :: String -> SysConfig Source

withDefaultBaseURI URI , input option, set the default base URI

This option can be useful when parsing documents from stdin or contained in a string, and interpreting relative URIs within the document

withRedirect :: Bool -> SysConfig Source

withRedirect yes/no : input option, automatically follow redirected URIs, default is yes

withProxy :: String -> SysConfig Source

withProxy "host:port" : input option, configure a proxy for HTTP access, e.g. www-cache:3128

withIndent :: Bool -> SysConfig Source

withIndent yes/no : output option, indent document before output, default is no

withOutputEncoding :: String -> SysConfig Source

withOutputEncoding encoding , output option, default is the default input encoding or utf8, if input encoding is not set

withOutputXML :: SysConfig Source

withOutputXML : output option, default writing

Default is writing XML: quote special XML chars >,<,",',& where neccessary, add XML processing instruction and encode document with respect to withOutputEncoding

withOutputHTML :: SysConfig Source

Write XHTML: quote all special XML chars, use HTML entity refs or char refs for none ASCII chars

withOutputXHTML :: SysConfig Source

Write XML: quote only special XML chars, don't substitute chars by HTML entities, and don't generate empty elements for HTML elements, which may contain any contents, e.g. src=.../script instead of src=... /

withOutputPLAIN :: SysConfig Source

suppreses all char and entitiy substitution

withCompression :: (CompressionFct, DeCompressionFct) -> SysConfig Source

Configure compression and decompression for binary serialization/deserialization. First component is the compression function applied after serialization, second the decompression applied before deserialization.

withStrictDeserialize :: Bool -> SysConfig Source

Strict input for deserialization of binary data