+
+-- | A typeclass for XML types that can be converted into an associated
+-- database type. The story behind this is long, but basically, we need
+-- to different types for each XML thingie we're going to import: a
+-- database type and an XML type. Both Groundhog and HXT are very
+-- particular about the types that they can use, and there's no way
+-- to reuse e.g. a type that HXT can pickle in Groundhog. So this
+-- typeclass gives us a way to get the database type from the XML
+-- type that we have to define for HXT.
+--
+class FromXml a where
+ -- | Each instance a must declare its associated database type (Db a)
+ type Db a :: *
+
+ -- | And provide a function for getting a (Db a) out of an "a".
+ from_xml :: a -> Db a
+
+
+-- | Represents the DTD filename ("SYSTEM") part of the DOCTYPE
+-- definition.
+newtype DtdName = DtdName String
+