module Textphile.TCT.Elem where

import Data.Eq (Eq)
import Data.Ord (Ord)
import Text.Show (Show(..))
import qualified Data.Text.Lazy as TL
import qualified Symantic.XML as XML

-- * Type 'ElemName'
type ElemName = XML.NCName
 -- XML.QName

-- ** Type 'ElemAttr'
data ElemAttr
 =   ElemAttr
 {   elemAttr_name  :: !XML.NCName
 ,   elemAttr_open  :: !TL.Text
 ,   elemAttr_value :: !TL.Text
 ,   elemAttr_close :: !TL.Text
 }
 deriving (Eq,Ord,Show)

-- ** Type 'White'
type White = TL.Text

-- ** Type 'ElemAttrs'
type ElemAttrs = [(White,ElemAttr)]