module Text.XML.Basic.Name where
class Ord name => C name where
fromString :: String -> name
toString :: name -> String
class Ord ident => Tag ident where
tagFromString :: String -> ident
tagToString :: ident -> String
class Ord ident => Attribute ident where
attributeFromString :: String -> ident
attributeToString :: ident -> String
match :: (C name) => String -> name -> Bool
match :: forall name. C name => String -> name -> Bool
match String
proto = (forall name. C name => String -> name
fromString String
proto forall a. Eq a => a -> a -> Bool
==)
matchAny :: (C name) => [String] -> name -> Bool
matchAny :: forall name. C name => [String] -> name -> Bool
matchAny [String]
proto = forall a b c. (a -> b -> c) -> b -> a -> c
flip forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
elem (forall a b. (a -> b) -> [a] -> [b]
map forall name. C name => String -> name
fromString [String]
proto)