Text.HTML.Tagchup.Tag
- data T name string
- newtype Name ident = Name ident
- mapName :: (Name name0 -> Name name1) -> (Name name0 -> Name name1) -> T name0 string -> T name1 string
- open :: Name name -> [T name string] -> T name string
- isOpen :: T name string -> Bool
- maybeOpen :: T name string -> Maybe (Name name, [T name string])
- close :: Name name -> T name string
- isClose :: T name string -> Bool
- maybeClose :: T name string -> Maybe (Name name)
- text :: string -> T name string
- isText :: T name string -> Bool
- maybeText :: T name string -> Maybe string
- innerText :: Monoid string => [T name string] -> string
- comment :: String -> T name string
- isComment :: T name string -> Bool
- maybeComment :: T name string -> Maybe String
- special :: Name name -> String -> T name string
- isSpecial :: T name string -> Bool
- maybeSpecial :: T name string -> Maybe (Name name, String)
- cdata :: Tag name => String -> T name string
- isCData :: Tag name => T name string -> Bool
- maybeCData :: Tag name => T name string -> Maybe String
- processing :: Name name -> T name string -> T name string
- isProcessing :: T name string -> Bool
- maybeProcessing :: T name string -> Maybe (Name name, T name string)
- warning :: String -> T name string
- isWarning :: T name string -> Bool
- maybeWarning :: T name string -> Maybe String
- formatOpen :: (Tag name, Attribute name, C string) => Bool -> Name name -> [T name string] -> ShowS
- formatClose :: Tag name => Name name -> ShowS
- textFromCData :: (Tag name, C char) => T name [char] -> T name [char]
- concatTexts :: Monoid string => [T name string] -> [T name string]
- mapText :: Tag name => (String -> String) -> T name String -> T name String
- mapTextA :: (Tag name, Applicative f) => (String -> f String) -> T name String -> f (T name String)
Documentation
An HTML element, a document is [T].
There is no requirement for Open and Close to match.
The type parameter string lets you choose between
[Char] for interpreted HTML entity references and
[HTMLChar.T] for uninterpreted HTML entities.
You will most oftenly want plain Char,
since HTMLChar.T is only necessary if you want to know,
whether a non-ASCII character was encoded as HTML entity
or as non-ASCII Unicode character.
Constructors
| Open (Name name) [T name string] | An open tag with |
| Close (Name name) | A closing tag |
| Text string | A text node, guaranteed not to be the empty string |
| Comment String | A comment |
| Special (Name name) String | A tag like |
| Processing (Name name) (T name string) | A tag like |
| Warning String | Mark a syntax error in the input file |
mapName :: (Name name0 -> Name name1) -> (Name name0 -> Name name1) -> T name0 string -> T name1 stringSource
maybeClose :: T name string -> Maybe (Name name)Source
innerText :: Monoid string => [T name string] -> stringSource
Extract all text content from tags (similar to Verbatim found in HaXml)
maybeComment :: T name string -> Maybe StringSource
processing :: Name name -> T name string -> T name stringSource
isProcessing :: T name string -> BoolSource
maybeWarning :: T name string -> Maybe StringSource
formatOpen :: (Tag name, Attribute name, C string) => Bool -> Name name -> [T name string] -> ShowSSource
formatClose :: Tag name => Name name -> ShowSSource
textFromCData :: (Tag name, C char) => T name [char] -> T name [char]Source
Replace CDATA sections by plain text.
concatTexts :: Monoid string => [T name string] -> [T name string]Source
Merge adjacent Text sections.