hxt 9.3.1.21 → 9.3.1.22
raw patch · 4 files changed
+93/−93 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- hxt.cabal +3/−1
- src/Text/XML/HXT/Arrow/XmlState/TypeDefs.hs +78/−78
- src/Text/XML/HXT/DOM/QualifiedName.hs +10/−11
- src/Text/XML/HXT/Parser/XmlCharParser.hs +2/−3
hxt.cabal view
@@ -1,6 +1,6 @@ -- arch-tag: Haskell XML Toolbox main description file Name: hxt-Version: 9.3.1.21+Version: 9.3.1.22 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.@@ -16,6 +16,8 @@ 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.21: ghc-9.0 compatibility+ . 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
src/Text/XML/HXT/Arrow/XmlState/TypeDefs.hs view
@@ -59,8 +59,8 @@ -- state datatype consists of a system state and a user state -- the user state is not fixed -data XIOState us = XIOState { xioSysState :: ! XIOSysState- , xioUserState :: ! us+data XIOState us = XIOState { xioSysState :: !XIOSysState+ , xioUserState :: !us } instance (NFData us) => NFData (XIOState us) where@@ -152,103 +152,103 @@ -- predefined system state data type with all components for the -- system functions, like trace, error handling, ... -data XIOSysState = XIOSys { xioSysWriter :: ! XIOSysWriter- , xioSysEnv :: ! XIOSysEnv+data XIOSysState = XIOSys { xioSysWriter :: !XIOSysWriter+ , xioSysEnv :: !XIOSysEnv } instance NFData XIOSysState where rnf x = seq x () -- all fields of interest are strict -data XIOSysWriter = XIOwrt { xioErrorStatus :: ! Int- , xioErrorMsgList :: ! XmlTrees- , xioExpatErrors :: IOSArrow XmlTree XmlTree- , xioRelaxNoOfErrors :: ! Int- , xioRelaxDefineId :: ! Int- , xioRelaxAttrList :: AssocList String XmlTrees+data XIOSysWriter = XIOwrt { xioErrorStatus :: !Int+ , xioErrorMsgList :: !XmlTrees+ , xioExpatErrors :: IOSArrow XmlTree XmlTree+ , xioRelaxNoOfErrors :: !Int+ , xioRelaxDefineId :: !Int+ , xioRelaxAttrList :: AssocList String XmlTrees } -data XIOSysEnv = XIOEnv { xioTraceLevel :: ! Int- , xioTraceCmd :: Int -> String -> IO ()- , xioErrorMsgHandler :: String -> IO ()- , xioErrorMsgCollect :: ! Bool- , xioBaseURI :: ! String- , xioDefaultBaseURI :: ! String- , xioAttrList :: ! Attributes- , xioInputConfig :: ! XIOInputConfig- , xioParseConfig :: ! XIOParseConfig- , xioOutputConfig :: ! XIOOutputConfig- , xioRelaxConfig :: ! XIORelaxConfig- , xioXmlSchemaConfig :: ! XIOXmlSchemaConfig- , xioCacheConfig :: ! XIOCacheConfig+data XIOSysEnv = XIOEnv { xioTraceLevel :: !Int+ , xioTraceCmd :: Int -> String -> IO ()+ , xioErrorMsgHandler :: String -> IO ()+ , xioErrorMsgCollect :: !Bool+ , xioBaseURI :: !String+ , xioDefaultBaseURI :: !String+ , xioAttrList :: !Attributes+ , xioInputConfig :: !XIOInputConfig+ , xioParseConfig :: !XIOParseConfig+ , xioOutputConfig :: !XIOOutputConfig+ , xioRelaxConfig :: !XIORelaxConfig+ , xioXmlSchemaConfig :: !XIOXmlSchemaConfig+ , xioCacheConfig :: !XIOCacheConfig } -data XIOInputConfig = XIOIcgf { xioStrictInput :: ! Bool- , xioEncodingErrors :: ! Bool- , xioInputEncoding :: String- , xioHttpHandler :: IOSArrow XmlTree XmlTree- , xioInputOptions :: ! Attributes- , xioRedirect :: ! Bool- , xioProxy :: String+data XIOInputConfig = XIOIcgf { xioStrictInput :: !Bool+ , xioEncodingErrors :: !Bool+ , xioInputEncoding :: String+ , xioHttpHandler :: IOSArrow XmlTree XmlTree+ , xioInputOptions :: !Attributes+ , xioRedirect :: !Bool+ , xioProxy :: String } -data XIOParseConfig = XIOPcfg { xioMimeTypes :: MimeTypeTable- , xioMimeTypeHandlers :: MimeTypeHandlers- , xioMimeTypeFile :: String- , xioAcceptedMimeTypes :: [String]- , xioFileMimeType :: String- , xioWarnings :: ! Bool- , xioRemoveWS :: ! Bool- , xioParseByMimeType :: ! Bool- , xioParseHTML :: ! Bool- , xioLowerCaseNames :: ! Bool- , xioPreserveComment :: ! Bool- , xioValidate :: ! Bool- , xioSubstDTDEntities :: ! Bool- , xioSubstHTMLEntities :: ! Bool- , xioCheckNamespaces :: ! Bool- , xioCanonicalize :: ! Bool- , xioIgnoreNoneXmlContents :: ! Bool- , xioTagSoup :: ! Bool- , xioTagSoupParser :: IOSArrow XmlTree XmlTree- , xioExpat :: ! Bool- , xioExpatParser :: IOSArrow XmlTree XmlTree+data XIOParseConfig = XIOPcfg { xioMimeTypes :: MimeTypeTable+ , xioMimeTypeHandlers :: MimeTypeHandlers+ , xioMimeTypeFile :: String+ , xioAcceptedMimeTypes :: [String]+ , xioFileMimeType :: String+ , xioWarnings :: !Bool+ , xioRemoveWS :: !Bool+ , xioParseByMimeType :: !Bool+ , xioParseHTML :: !Bool+ , xioLowerCaseNames :: !Bool+ , xioPreserveComment :: !Bool+ , xioValidate :: !Bool+ , xioSubstDTDEntities :: !Bool+ , xioSubstHTMLEntities :: !Bool+ , xioCheckNamespaces :: !Bool+ , xioCanonicalize :: !Bool+ , xioIgnoreNoneXmlContents :: !Bool+ , xioTagSoup :: !Bool+ , xioTagSoupParser :: IOSArrow XmlTree XmlTree+ , xioExpat :: !Bool+ , xioExpatParser :: IOSArrow XmlTree XmlTree } -data XIOOutputConfig = XIOOcfg { xioIndent :: ! Bool- , xioOutputEncoding :: ! String- , xioOutputFmt :: ! XIOXoutConfig- , xioXmlPi :: ! Bool- , xioNoEmptyElemFor :: ! [String]- , xioAddDefaultDTD :: ! Bool- , xioTextMode :: ! Bool- , xioShowTree :: ! Bool- , xioShowHaskell :: ! Bool+data XIOOutputConfig = XIOOcfg { xioIndent :: !Bool+ , xioOutputEncoding :: !String+ , xioOutputFmt :: !XIOXoutConfig+ , xioXmlPi :: !Bool+ , xioNoEmptyElemFor :: ![String]+ , xioAddDefaultDTD :: !Bool+ , xioTextMode :: !Bool+ , xioShowTree :: !Bool+ , xioShowHaskell :: !Bool } data XIOXoutConfig = XMLoutput | XHTMLoutput | HTMLoutput | PLAINoutput deriving (Eq) -data XIORelaxConfig = XIORxc { xioRelaxValidate :: ! Bool- , xioRelaxSchema :: String- , xioRelaxCheckRestr :: ! Bool- , xioRelaxValidateExtRef :: ! Bool- , xioRelaxValidateInclude :: ! Bool- , xioRelaxCollectErrors :: ! Bool- , xioRelaxValidator :: IOSArrow XmlTree XmlTree+data XIORelaxConfig = XIORxc { xioRelaxValidate :: !Bool+ , xioRelaxSchema :: String+ , xioRelaxCheckRestr :: !Bool+ , xioRelaxValidateExtRef :: !Bool+ , xioRelaxValidateInclude :: !Bool+ , xioRelaxCollectErrors :: !Bool+ , xioRelaxValidator :: IOSArrow XmlTree XmlTree } -data XIOXmlSchemaConfig = XIOScc { xioXmlSchemaValidate :: ! Bool- , xioXmlSchemaSchema :: String- , xioXmlSchemaValidator :: IOSArrow XmlTree XmlTree+data XIOXmlSchemaConfig = XIOScc { xioXmlSchemaValidate :: !Bool+ , xioXmlSchemaSchema :: String+ , xioXmlSchemaValidator :: IOSArrow XmlTree XmlTree } -data XIOCacheConfig = XIOCch { xioBinaryCompression :: CompressionFct- , xioBinaryDeCompression :: DeCompressionFct- , xioWithCache :: ! Bool- , xioCacheDir :: ! String- , xioDocumentAge :: ! Int- , xioCache404Err :: ! Bool- , xioCacheRead :: String -> IOSArrow XmlTree XmlTree- , xioStrictDeserialize :: ! Bool+data XIOCacheConfig = XIOCch { xioBinaryCompression :: CompressionFct+ , xioBinaryDeCompression :: DeCompressionFct+ , xioWithCache :: !Bool+ , xioCacheDir :: !String+ , xioDocumentAge :: !Int+ , xioCache404Err :: !Bool+ , xioCacheRead :: String -> IOSArrow XmlTree XmlTree+ , xioStrictDeserialize :: !Bool } type MimeTypeHandlers = M.Map String (IOSArrow XmlTree XmlTree)
src/Text/XML/HXT/DOM/QualifiedName.hs view
@@ -110,7 +110,7 @@ -- Names are always reduced to normal form, and they are stored internally in a name cache -- for sharing equal names by the same data structure -data XName = XN { _idXN :: ! Int -- for optimization of equality test, see Eq instance+data XName = XN { _idXN :: !Int -- for optimization of equality test, see Eq instance , unXN :: String } deriving (Typeable)@@ -158,9 +158,9 @@ -- When dealing with namespaces, the document tree must be processed by 'Text.XML.HXT.Arrow.Namespace.propagateNamespaces' -- to split names of structure \"prefix:localPart\" and label the name with the apropriate namespace uri -data QName = QN { localPart' :: ! XName- , namePrefix' :: ! XName- , namespaceUri' :: ! XName+data QName = QN { localPart' :: !XName+ , namePrefix' :: !XName+ , namespaceUri' :: !XName } deriving (Typeable) @@ -507,9 +507,9 @@ -- the name and string cache -data NameCache = NC { _newXN :: ! Int -- next free name id- , _xnCache :: ! (M.Map String XName)- , _qnCache :: ! (M.Map (XName, XName, XName) QName) -- we need another type than QName+data NameCache = NC { _newXN :: !Int -- next free name id+ , _xnCache :: !(M.Map String XName)+ , _qnCache :: !(M.Map (XName, XName, XName) QName) -- we need another type than QName } -- for the key because of the unusable -- Eq instance of QName type ChangeNameCache r = NameCache -> (NameCache, r)@@ -530,8 +530,8 @@ , xmlNamespaceXName , xmlXName :: XName -initialXNames@- [ nullXName+initialXNames@[+ nullXName , xmlnsNamespaceXName , xmlnsXName , xmlNamespaceXName@@ -548,8 +548,7 @@ xmlnsQN :: QName -initialQNames@- [xmlnsQN] = [QN xmlnsXName nullXName xmlnsNamespaceXName]+initialQNames@[xmlnsQN] = [QN xmlnsXName nullXName xmlnsNamespaceXName] initialCache :: NameCache initialCache = NC
src/Text/XML/HXT/Parser/XmlCharParser.hs view
@@ -49,8 +49,8 @@ type SimpleXParser a = XParser () a data XPState s = XPState- { xps_normalizeNewline :: ! Bool- , xps_userState :: s+ { xps_normalizeNewline :: !Bool+ , xps_userState :: s } withNormNewline :: a -> XPState a@@ -140,4 +140,3 @@ <?> "newline" -- -------------------------------------------------------------