@@ -53,7 +53,7 @@ type Line = Integer
53data Content = Elem Element
53data Content = Elem Element
54 | Text CData
54 | Text CData
55 | CRef Text
55 | CRef Text
56− deriving (Show, Typeable, Data)
56+ deriving (Show, Typeable, Data, Ord, Eq)
58-- | XML elements
58-- | XML elements
59data Element = Element {
59data Element = Element {
@@ -61,7 +61,7 @@ data Element = Element {
61 elAttribs :: [Attr],
61 elAttribs :: [Attr],
62 elContent :: [Content],
62 elContent :: [Content],
63 elLine :: Maybe Line
63 elLine :: Maybe Line
64− } deriving (Show, Typeable, Data)
64+ } deriving (Show, Typeable, Data, Ord, Eq)
66-- | XML attributes
66-- | XML attributes
67data Attr = Attr {
67data Attr = Attr {
@@ -74,13 +74,13 @@ data CData = CData {
74 cdVerbatim :: CDataKind,
74 cdVerbatim :: CDataKind,
75 cdData :: Text,
75 cdData :: Text,
76 cdLine :: Maybe Line
76 cdLine :: Maybe Line
77− } deriving (Show, Typeable, Data)
77+ } deriving (Show, Typeable, Data, Ord, Eq)
79data CDataKind
79data CDataKind
80 = CDataText -- ^ Ordinary character data; pretty printer escapes &, < etc.
80 = CDataText -- ^ Ordinary character data; pretty printer escapes &, < etc.
81 | CDataVerbatim -- ^ Unescaped character data; pretty printer embeds it in <![CDATA[..
81 | CDataVerbatim -- ^ Unescaped character data; pretty printer embeds it in <![CDATA[..
82 | CDataRaw -- ^ As-is character data; pretty printer passes it along without any escaping or CDATA wrap-up.
82 | CDataRaw -- ^ As-is character data; pretty printer passes it along without any escaping or CDATA wrap-up.
83− deriving ( Eq, Show, Typeable, Data )
83+ deriving ( Eq, Ord, Show, Typeable, Data )
85-- | XML qualified names
85-- | XML qualified names
86data QName = QName {
86data QName = QName {