xml-basic-0.0.1: src/Text/XML/Basic/Tag.hs
{- |
We do not define a tag data type here,
since this is too much bound to the particular use
(e.g. list or tree structure).
However we define a tag name and some special names.
-}
module Text.XML.Basic.Tag (
Name(..),
doctype, doctypeString,
cdata, cdataString,
) where
import Text.XML.Basic.Name as Name
newtype Name ident = Name {unname :: ident}
deriving (Eq, Ord)
instance Show ident => Show (Name ident) where
showsPrec p = showsPrec p . unname
instance Name.Tag ident => Name.C (Name ident) where
fromString = Name . Name.tagFromString
toString = Name.tagToString . unname
doctype :: (Name.Tag name) => Name name
doctype = Name.fromString doctypeString
cdata :: (Name.Tag name) => Name name
cdata = Name.fromString cdataString
doctypeString :: String
doctypeString = "DOCTYPE"
cdataString :: String
cdataString = "[CDATA["