module Text.XML.HXT.DTDValidation.TypeDefs
( module Text.XML.HXT.DTDValidation.TypeDefs
, module Text.XML.HXT.DOM.Interface
, module Text.XML.HXT.Arrow.XmlArrow
, module Control.Arrow
, module Control.Arrow.ArrowList
, module Control.Arrow.ArrowIf
, module Control.Arrow.ArrowState
, module Control.Arrow.ArrowTree
, module Control.Arrow.ListArrow
, module Control.Arrow.StateListArrow
)
where
import Control.Arrow
import Control.Arrow.ArrowList
import Control.Arrow.ArrowIf
import Control.Arrow.ArrowState
import Control.Arrow.ArrowTree
import Control.Arrow.ListArrow
import Control.Arrow.StateListArrow
import Text.XML.HXT.Arrow.XmlArrow
import Text.XML.HXT.DOM.Interface
infixr 0 $$
type XmlArrow = LA XmlTree XmlTree
type XmlArrowS = LA XmlTree XmlTrees
dtd_name
, dtd_value
, dtd_type
, dtd_kind
, dtd_modifier
, dtd_default :: Attributes -> String
dtd_name :: Attributes -> String
dtd_name = forall k e. Eq k => k -> AssocList k [e] -> [e]
lookup1 String
a_name
dtd_value :: Attributes -> String
dtd_value = forall k e. Eq k => k -> AssocList k [e] -> [e]
lookup1 String
a_value
dtd_type :: Attributes -> String
dtd_type = forall k e. Eq k => k -> AssocList k [e] -> [e]
lookup1 String
a_type
dtd_kind :: Attributes -> String
dtd_kind = forall k e. Eq k => k -> AssocList k [e] -> [e]
lookup1 String
a_kind
dtd_modifier :: Attributes -> String
dtd_modifier = forall k e. Eq k => k -> AssocList k [e] -> [e]
lookup1 String
a_modifier
dtd_default :: Attributes -> String
dtd_default = forall k e. Eq k => k -> AssocList k [e] -> [e]
lookup1 String
a_default
isUnparsedEntity :: ArrowDTD a => a XmlTree XmlTree
isUnparsedEntity :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isUnparsedEntity = forall (a :: * -> * -> *) b c. ArrowIf a => a b c -> a b b
filterA forall a b. (a -> b) -> a -> b
$
forall (a :: * -> * -> *). ArrowXml a => a XmlTree Attributes
getDTDAttrl forall {k} (cat :: k -> k -> *) (a :: k) (b :: k) (c :: k).
Category cat =>
cat a b -> cat b c -> cat a c
>>> forall (a :: * -> * -> *) b. ArrowList a => (b -> Bool) -> a b b
isA (forall k v. Eq k => k -> AssocList k v -> Bool
hasEntry String
k_ndata)
hasDTDAttrValue :: ArrowDTD a => String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue :: forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
an String -> Bool
p = forall (a :: * -> * -> *) b c. ArrowIf a => a b c -> a b b
filterA forall a b. (a -> b) -> a -> b
$
forall (a :: * -> * -> *). ArrowXml a => a XmlTree Attributes
getDTDAttrl forall {k} (cat :: k -> k -> *) (a :: k) (b :: k) (c :: k).
Category cat =>
cat a b -> cat b c -> cat a c
>>> forall (a :: * -> * -> *) b. ArrowList a => (b -> Bool) -> a b b
isA (String -> Bool
p forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall k e. Eq k => k -> AssocList k [e] -> [e]
lookup1 String
an)
isRequiredAttrKind :: ArrowDTD a => a XmlTree XmlTree
isRequiredAttrKind :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isRequiredAttrKind = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_kind (forall a. Eq a => a -> a -> Bool
== String
k_required)
isDefaultAttrKind :: ArrowDTD a => a XmlTree XmlTree
isDefaultAttrKind :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isDefaultAttrKind = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_kind (forall a. Eq a => a -> a -> Bool
== String
k_default)
isFixedAttrKind :: ArrowDTD a => a XmlTree XmlTree
isFixedAttrKind :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isFixedAttrKind = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_kind (forall a. Eq a => a -> a -> Bool
== String
k_fixed)
isMixedContentElement :: ArrowDTD a => a XmlTree XmlTree
isMixedContentElement :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isMixedContentElement = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_type (forall a. Eq a => a -> a -> Bool
== String
v_mixed)
isEmptyElement :: ArrowDTD a => a XmlTree XmlTree
isEmptyElement :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isEmptyElement = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_type (forall a. Eq a => a -> a -> Bool
== String
k_empty)
isEnumAttrType :: ArrowDTD a => a XmlTree XmlTree
isEnumAttrType :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isEnumAttrType = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_type (forall a. Eq a => a -> a -> Bool
== String
k_enumeration)
isIdAttrType :: ArrowDTD a => a XmlTree XmlTree
isIdAttrType :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isIdAttrType = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_type (forall a. Eq a => a -> a -> Bool
== String
k_id)
isIdRefAttrType :: ArrowDTD a => a XmlTree XmlTree
isIdRefAttrType :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isIdRefAttrType = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_type (forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [String
k_idref, String
k_idrefs])
isNotationAttrType :: ArrowDTD a => a XmlTree XmlTree
isNotationAttrType :: forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isNotationAttrType = forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_type (forall a. Eq a => a -> a -> Bool
== String
k_notation)
isAttlistOfElement :: ArrowDTD a => String -> a XmlTree XmlTree
isAttlistOfElement :: forall (a :: * -> * -> *).
ArrowDTD a =>
String -> a XmlTree XmlTree
isAttlistOfElement String
el = forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isDTDAttlist
forall {k} (cat :: k -> k -> *) (a :: k) (b :: k) (c :: k).
Category cat =>
cat a b -> cat b c -> cat a c
>>>
forall (a :: * -> * -> *).
ArrowDTD a =>
String -> (String -> Bool) -> a XmlTree XmlTree
hasDTDAttrValue String
a_name (forall a. Eq a => a -> a -> Bool
== String
el)
valueOfDTD :: String -> XmlTree -> String
valueOfDTD :: String -> XmlTree -> String
valueOfDTD String
n = forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA ( forall (a :: * -> * -> *). ArrowXml a => a XmlTree Attributes
getDTDAttrl forall (a :: * -> * -> *) b c d.
Arrow a =>
a b c -> (c -> d) -> a b d
>>^ forall k e. Eq k => k -> AssocList k [e] -> [e]
lookup1 String
n )
valueOf :: String -> XmlTree -> String
valueOf :: String -> XmlTree -> String
valueOf String
n = forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA ( forall (a :: * -> * -> *). ArrowXml a => String -> a XmlTree String
getAttrValue String
n )
getDTDAttributes :: XmlTree -> Attributes
getDTDAttributes :: XmlTree -> Attributes
getDTDAttributes = forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA forall (a :: * -> * -> *). ArrowXml a => a XmlTree Attributes
getDTDAttrl
isDTDDoctypeNode :: XmlTree -> Bool
isDTDDoctypeNode :: XmlTree -> Bool
isDTDDoctypeNode = Bool -> Bool
not forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (t :: * -> *) a. Foldable t => t a -> Bool
null forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isDTDDoctype
isDTDElementNode :: XmlTree -> Bool
isDTDElementNode :: XmlTree -> Bool
isDTDElementNode = Bool -> Bool
not forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (t :: * -> *) a. Foldable t => t a -> Bool
null forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isDTDElement
isDTDAttlistNode :: XmlTree -> Bool
isDTDAttlistNode :: XmlTree -> Bool
isDTDAttlistNode = Bool -> Bool
not forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (t :: * -> *) a. Foldable t => t a -> Bool
null forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isDTDAttlist
isDTDContentNode :: XmlTree -> Bool
isDTDContentNode :: XmlTree -> Bool
isDTDContentNode = Bool -> Bool
not forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (t :: * -> *) a. Foldable t => t a -> Bool
null forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isDTDContent
isDTDNameNode :: XmlTree -> Bool
isDTDNameNode :: XmlTree -> Bool
isDTDNameNode = Bool -> Bool
not forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (t :: * -> *) a. Foldable t => t a -> Bool
null forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA forall (a :: * -> * -> *). ArrowDTD a => a XmlTree XmlTree
isDTDName
isElemNode :: XmlTree -> Bool
isElemNode :: XmlTree -> Bool
isElemNode = Bool -> Bool
not forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (t :: * -> *) a. Foldable t => t a -> Bool
null forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA forall (a :: * -> * -> *). ArrowXml a => a XmlTree XmlTree
isElem
nameOfAttr :: XmlTree -> String
nameOfAttr :: XmlTree -> String
nameOfAttr = forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA (forall (a :: * -> * -> *). ArrowXml a => a XmlTree QName
getAttrName forall (a :: * -> * -> *) b c d.
Arrow a =>
a b c -> (c -> d) -> a b d
>>^ QName -> String
qualifiedName)
nameOfElem :: XmlTree -> String
nameOfElem :: XmlTree -> String
nameOfElem = forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. LA a b -> a -> [b]
runLA (forall (a :: * -> * -> *). ArrowXml a => a XmlTree QName
getElemName forall (a :: * -> * -> *) b c d.
Arrow a =>
a b c -> (c -> d) -> a b d
>>^ QName -> String
qualifiedName)
($$) :: XmlArrow -> XmlTrees -> XmlTrees
XmlArrow
f $$ :: XmlArrow -> XmlTrees -> XmlTrees
$$ XmlTrees
l = forall a b. LA a b -> a -> [b]
runLA (forall (a :: * -> * -> *) b. ArrowList a => a [b] b
unlistA forall {k} (cat :: k -> k -> *) (a :: k) (b :: k) (c :: k).
Category cat =>
cat a b -> cat b c -> cat a c
>>> XmlArrow
f) XmlTrees
l
msgToErr :: (String -> String) -> LA String XmlTree
msgToErr :: (String -> String) -> LA String XmlTree
msgToErr String -> String
f = forall {a :: * -> * -> *} {b}. ArrowXml a => String -> a b XmlTree
mkErr forall (a :: * -> * -> *) c b d.
ArrowList a =>
(c -> a b d) -> a b c -> a b d
$< forall (a :: * -> * -> *) b. ArrowList a => a b b
this
where
mkErr :: String -> a b XmlTree
mkErr String
"" = forall (a :: * -> * -> *) b c. ArrowList a => a b c
none
mkErr String
s = forall (a :: * -> * -> *) n. ArrowXml a => String -> a n XmlTree
err (String -> String
f String
s)