-- arch-tag: Haskell XML Toolbox main description file
Name:           hxt
Version:        9.3.1.21
Synopsis:       A collection of tools for processing XML with Haskell.
Description:    The Haskell XML Toolbox bases on the ideas of HaXml and HXML,
                but introduces a more general approach for processing XML with Haskell.
                The Haskell XML Toolbox uses a generic data model for representing XML documents,
                including the DTD subset and the document subset, in Haskell.
                It contains a validating XML parser, a HTML parser, namespace support,
                an XPath expression evaluator, an XSLT library, a RelaxNG schema validator
                and funtions for serialization and deserialization of user defined data.
                The library makes extensive use of the arrow approach for processing XML.
                Since version 9 the toolbox is partitioned into various (sub-)packages.
                This package contains the core functionality,
                hxt-curl, hxt-tagsoup, hxt-relaxng, hxt-xpath, hxt-xslt,
                hxt-regex-xmlschema contain the extensions.
                hxt-unicode contains encoding and decoding functions,
                hxt-charproperties char properties for unicode and XML.
                Changes from 9.3.1.20: ghc 8.10 and 9.0 compatibility, tuple picker up to 24-tuples, Either instance for xpickle
                .
                Changes from 9.3.1.19: ghc-8.8.2 compatibility
                .
                Changes from 9.3.1.15: Bug in quoting PI instructions in showXmlTrees fixed
                .
                Changes from 9.3.1.14: For ghc-7.10 network-uri is automatically selected 
                .
                Changes from 9.3.1.13: ghc-7.10 compatibility
                .
                Changes from 9.3.1.12: Bug when unpickling an empty attribute value removed
                .
                Changes from 9.3.1.11: Bug fix in haddock comments
                .
                Changes from 9.3.1.10: Bug in DTD validation, space and time leak in delta removed
                .
                Changes from 9.3.1.9: lower bound of mtl dependency lowered to 2.0.1
                .
                Changes from 9.3.1.8: Bug in hread removed
                .
                Changes from 9.3.1.7: Foldable and Traversable instances for NTree added
                Control.Except used instead of deprecated Control.Error
                .
                Changes from 9.3.1.6: canonicalize added in hread and hreadDoc
                .
                Changes from 9.3.1.4: conditionally (no default)
                dependency from networt changed to network-uri with flag "network-uri"
                .
                Changes from 9.3.1.3: warnings from ghc-7.8.1 removed
                .
                Changes from 9.3.1.2: https as protocol added
                .
                Changes from 9.3.1.1: new parser xreadDoc
                .
                Changes from 9.3.1.0: in readString all input decoding switched off
                .
                Changes from 9.3.0.1: lower bound for network set to be >= 2.4
                .
                Changes from 9.3.0: upper bound for network set to be < 2.4
                (URI signatures changed in 2.4)
                .
                Changes from 9.2.2: XMLSchema validation integrated
                .
                Changes from 9.2.1: user defined mime type handlers added
                .
                Changes from 9.2.0: New warnings from ghc-7.4 removed
License:        MIT
License-file:   LICENSE
Author:         Uwe Schmidt, Martin Schmidt, Torben Kuseler
Maintainer:     Uwe Schmidt <uwe@fh-wedel.de>
Stability:      Stable
Category:       XML
Homepage:       https://github.com/UweSchmidt/hxt
Copyright:      Copyright (c) 2005-2019 Uwe Schmidt
Build-type:     Simple
Cabal-version:  >=1.10

extra-source-files:
 examples/arrows/absurls/AbsURIs.hs
 examples/arrows/absurls/lousy.html
 examples/arrows/absurls/Makefile
 examples/arrows/absurls/ProcessDocument.hs
 examples/arrows/AGentleIntroductionToHXT/.ghci
 examples/arrows/AGentleIntroductionToHXT/Makefile
 examples/arrows/AGentleIntroductionToHXT/PicklerExample/Baseball.hs
 examples/arrows/AGentleIntroductionToHXT/PicklerExample/Makefile
 examples/arrows/AGentleIntroductionToHXT/PicklerExample/new-simple2.xml
 examples/arrows/AGentleIntroductionToHXT/PicklerExample/simple2.xml
 examples/arrows/AGentleIntroductionToHXT/SimpleExamples.hs
 examples/arrows/dtd2hxt/DTDtoHXT.hs
 examples/arrows/dtd2hxt/.ghci
 examples/arrows/dtd2hxt/Makefile
 examples/arrows/HelloWorld/bye.xml
 examples/arrows/HelloWorld/HelloWorld.hs
 examples/arrows/HelloWorld/hello.xml
 examples/arrows/HelloWorld/Makefile
 examples/arrows/HelloWorld/Mini.hs
 examples/arrows/hparser/emptyElements.html
 examples/arrows/hparser/example1.xml
 examples/arrows/hparser/example1CRLF.xml
 examples/arrows/hparser/HXmlParser.hs
 examples/arrows/hparser/invalid1.xml
 examples/arrows/hparser/invalid2.rng
 examples/arrows/hparser/invalid3.rng
 examples/arrows/hparser/invalid.xml
 examples/arrows/hparser/lousy.html
 examples/arrows/hparser/Makefile
 examples/arrows/hparser/namespace0.xml
 examples/arrows/hparser/namespace1.xml
 examples/arrows/hparser/valid1.rng
 examples/arrows/hparser/valid1.xml
 examples/arrows/performance/GenDoc.hs
 examples/arrows/performance/Makefile
 examples/arrows/pickle/Makefile
 examples/arrows/pickle/PickleTest.hs
 examples/xhtml/tmp.xml
 examples/xhtml/xhtml1-frameset.dtd
 examples/xhtml/xhtml1-strict.dtd
 examples/xhtml/xhtml1-transitional.dtd
 examples/xhtml/xhtml-lat1.ent
 examples/xhtml/xhtml-special.ent
 examples/xhtml/xhtml-symbol.ent
 examples/xhtml/xhtml.xml

flag network-uri
  description: Get Network.URI from the network-uri package,
               with ghc <  7.10 default is False,
               with ghc >= 7.10 default is True 
  default: False

flag profile
  description: turn profiling on
  default: False
                                          
library
 exposed-modules:
  Control.Arrow.ArrowExc,
  Control.Arrow.ArrowIO,
  Control.Arrow.ArrowIf,
  Control.Arrow.ArrowList,
  Control.Arrow.ArrowNF,
  Control.Arrow.ArrowNavigatableTree,
  Control.Arrow.ArrowState,
  Control.Arrow.ArrowTree,
  Control.Arrow.IOListArrow,
  Control.Arrow.IOStateListArrow,
  Control.Arrow.ListArrow,
  Control.Arrow.ListArrows,
  Control.Arrow.NTreeEdit,
  Control.Arrow.StateListArrow,
  Control.FlatSeq,
  Data.AssocList,
  Data.Atom,
  Data.Function.Selector,
  Data.Tree.Class,
  Data.Tree.NTree.TypeDefs,
  Data.Tree.NTree.Edit,
  Data.Tree.NTree.Zipper.TypeDefs,
  Data.Tree.NavigatableTree.Class,
  Data.Tree.NavigatableTree.XPathAxis,
  Text.XML.HXT.Arrow.Binary,
  Text.XML.HXT.Arrow.DTDProcessing,
  Text.XML.HXT.Arrow.DocumentInput,
  Text.XML.HXT.Arrow.DocumentOutput,
  Text.XML.HXT.Arrow.Edit,
  Text.XML.HXT.Arrow.GeneralEntitySubstitution,
  Text.XML.HXT.Arrow.Namespace,
  Text.XML.HXT.Arrow.ParserInterface,
  Text.XML.HXT.Arrow.Pickle,
  Text.XML.HXT.Arrow.Pickle.DTD,
  Text.XML.HXT.Arrow.Pickle.Schema,
  Text.XML.HXT.Arrow.Pickle.Xml,
  Text.XML.HXT.Arrow.ProcessDocument,
  Text.XML.HXT.Arrow.ReadDocument,
  Text.XML.HXT.Arrow.WriteDocument,
  Text.XML.HXT.Arrow.XmlArrow,
  Text.XML.HXT.Arrow.XmlOptions,
  Text.XML.HXT.Arrow.XmlRegex,
  Text.XML.HXT.Arrow.XmlState,
  Text.XML.HXT.Arrow.XmlState.ErrorHandling,
  Text.XML.HXT.Arrow.XmlState.MimeTypeTable,
  Text.XML.HXT.Arrow.XmlState.RunIOStateArrow,
  Text.XML.HXT.Arrow.XmlState.TraceHandling,
  Text.XML.HXT.Arrow.XmlState.TypeDefs,
  Text.XML.HXT.Arrow.XmlState.URIHandling,
  Text.XML.HXT.Arrow.XmlState.SystemConfig,
  Text.XML.HXT.Core,
  Text.XML.HXT.DOM.FormatXmlTree,
  Text.XML.HXT.DOM.Interface,
  Text.XML.HXT.DOM.MimeTypeDefaults,
  Text.XML.HXT.DOM.MimeTypes,
  Text.XML.HXT.DOM.QualifiedName,
  Text.XML.HXT.DOM.ShowXml,
  Text.XML.HXT.DOM.TypeDefs,
  Text.XML.HXT.DOM.Util,
  Text.XML.HXT.DOM.XmlKeywords,
  Text.XML.HXT.DOM.XmlNode,
  Text.XML.HXT.DTDValidation.AttributeValueValidation,
  Text.XML.HXT.DTDValidation.DTDValidation,
  Text.XML.HXT.DTDValidation.DocTransformation,
  Text.XML.HXT.DTDValidation.DocValidation,
  Text.XML.HXT.DTDValidation.IdValidation,
  Text.XML.HXT.DTDValidation.RE,
  Text.XML.HXT.DTDValidation.TypeDefs,
  Text.XML.HXT.DTDValidation.Validation,
  Text.XML.HXT.DTDValidation.XmlRE,
  Text.XML.HXT.IO.GetFILE,
  Text.XML.HXT.Parser.HtmlParsec,
  Text.XML.HXT.Parser.ProtocolHandlerUtil,
  Text.XML.HXT.Parser.XhtmlEntities,
  Text.XML.HXT.Parser.XmlCharParser,
  Text.XML.HXT.Parser.XmlDTDParser,
  Text.XML.HXT.Parser.XmlDTDTokenParser,
  Text.XML.HXT.Parser.XmlEntities,
  Text.XML.HXT.Parser.XmlParsec,
  Text.XML.HXT.Parser.XmlTokenParser,
  Text.XML.HXT.XMLSchema.DataTypeLibW3CNames,
  Text.XML.HXT.Version

 default-language: Haskell2010

 hs-source-dirs: src

 ghc-options: -Wall -fwarn-tabs

 if flag(profile)
   ghc-prof-options: -caf-all

 default-extensions: MultiParamTypeClasses DeriveDataTypeable FunctionalDependencies FlexibleInstances CPP

 build-depends: base       >= 4     && < 5,
                containers >= 0.2,
                directory  >= 1,
                filepath   >= 1,
                parsec     >= 2.1   && < 4,
                mtl        >= 2.0.1 && < 3,
                deepseq    >= 1.1,
                bytestring >= 0.9,
                binary     >= 0.5,
                hxt-charproperties  >= 9.1,
                hxt-unicode         >= 9.0.1,
                hxt-regex-xmlschema >= 9.2

 if flag(network-uri)
   build-depends: network-uri >= 2.6
 else
   if impl(ghc >= 7.10)
     build-depends: network-uri >= 2.6
   else
     build-depends: network >= 2.4 && < 2.6

Source-Repository head
  Type:     git
  Location: git://github.com/UweSchmidt/hxt.git