module Text.XML.HXT.RelaxNG.PatternFunctions
where
import Text.XML.HXT.RelaxNG.DataTypes
isRelaxEmpty :: Pattern -> Bool
isRelaxEmpty :: Pattern -> Bool
isRelaxEmpty Empty = Bool
True
isRelaxEmpty _ = Bool
False
isRelaxNotAllowed :: Pattern -> Bool
isRelaxNotAllowed :: Pattern -> Bool
isRelaxNotAllowed (NotAllowed _) = Bool
True
isRelaxNotAllowed _ = Bool
False
isRelaxText :: Pattern -> Bool
isRelaxText :: Pattern -> Bool
isRelaxText Text = Bool
True
isRelaxText _ = Bool
False
isRelaxChoice :: Pattern -> Bool
isRelaxChoice :: Pattern -> Bool
isRelaxChoice (Choice _ _) = Bool
True
isRelaxChoice _ = Bool
False
isRelaxInterleave :: Pattern -> Bool
isRelaxInterleave :: Pattern -> Bool
isRelaxInterleave (Interleave _ _) = Bool
True
isRelaxInterleave _ = Bool
False
isRelaxGroup :: Pattern -> Bool
isRelaxGroup :: Pattern -> Bool
isRelaxGroup (Group _ _) = Bool
True
isRelaxGroup _ = Bool
False
isRelaxOneOrMore :: Pattern -> Bool
isRelaxOneOrMore :: Pattern -> Bool
isRelaxOneOrMore (OneOrMore _) = Bool
True
isRelaxOneOrMore _ = Bool
False
isRelaxList :: Pattern -> Bool
isRelaxList :: Pattern -> Bool
isRelaxList (List _) = Bool
True
isRelaxList _ = Bool
False
isRelaxData :: Pattern -> Bool
isRelaxData :: Pattern -> Bool
isRelaxData (Data _ _) = Bool
True
isRelaxData _ = Bool
False
isRelaxDataExcept :: Pattern -> Bool
isRelaxDataExcept :: Pattern -> Bool
isRelaxDataExcept (DataExcept _ _ _) = Bool
True
isRelaxDataExcept _ = Bool
False
isRelaxValue :: Pattern -> Bool
isRelaxValue :: Pattern -> Bool
isRelaxValue (Value _ _ _) = Bool
True
isRelaxValue _ = Bool
False
isRelaxAttribute :: Pattern -> Bool
isRelaxAttribute :: Pattern -> Bool
isRelaxAttribute (Attribute _ _) = Bool
True
isRelaxAttribute _ = Bool
False
isRelaxElement :: Pattern -> Bool
isRelaxElement :: Pattern -> Bool
isRelaxElement (Element _ _) = Bool
True
isRelaxElement _ = Bool
False
isRelaxAfter :: Pattern -> Bool
isRelaxAfter :: Pattern -> Bool
isRelaxAfter (After _ _) = Bool
True
isRelaxAfter _ = Bool
False
getChildrenPattern :: Pattern -> [Pattern]
getChildrenPattern :: Pattern -> [Pattern]
getChildrenPattern (Choice p1 :: Pattern
p1 p2 :: Pattern
p2) = [Pattern
p1, Pattern
p2]
getChildrenPattern (Interleave p1 :: Pattern
p1 p2 :: Pattern
p2) = [Pattern
p1, Pattern
p2]
getChildrenPattern (Group p1 :: Pattern
p1 p2 :: Pattern
p2) = [Pattern
p1, Pattern
p2]
getChildrenPattern (OneOrMore p :: Pattern
p) = [Pattern
p]
getChildrenPattern (List p :: Pattern
p) = [Pattern
p]
getChildrenPattern (Element _ p :: Pattern
p) = [Pattern
p]
getChildrenPattern (DataExcept _ _ p :: Pattern
p) = [Pattern
p]
getChildrenPattern (Attribute _ p :: Pattern
p) = [Pattern
p]
getChildrenPattern (After p1 :: Pattern
p1 p2 :: Pattern
p2) = [Pattern
p1, Pattern
p2]
getChildrenPattern _ = []
getNameClassFromPattern :: Pattern -> NameClass
getNameClassFromPattern :: Pattern -> NameClass
getNameClassFromPattern (Element nc :: NameClass
nc _) = NameClass
nc
getNameClassFromPattern (Attribute nc :: NameClass
nc _) = NameClass
nc
getNameClassFromPattern _ = String -> NameClass
NCError "Pattern without a NameClass"
getPatternName :: Pattern -> String
getPatternName :: Pattern -> String
getPatternName (Pattern
Empty) = "Empty"
getPatternName (NotAllowed _) = "NotAllowed"
getPatternName (Pattern
Text) = "Text"
getPatternName (Choice _ _) = "Choice"
getPatternName (Interleave _ _) = "Interleave"
getPatternName (Group _ _) = "Group"
getPatternName (OneOrMore _) = "OneOrMore"
getPatternName (List _) = "List"
getPatternName (Data _ _ ) = "Data"
getPatternName (DataExcept _ _ _) = "DataExcept"
getPatternName (Value _ _ _) = "Value"
getPatternName (Attribute _ _) = "Attribute"
getPatternName (Element _ _) = "Element"
getPatternName (After _ _) = "After"