xml-1.3.14: A simple XML library.

Safe Haskell | Safe
Language | Haskell98

Text.XML.Light.Lexer

Synopsis

- class XmlSource s where
  - uncons :: s -> Maybe (Char, s)
- linenumber :: XmlSource s => Integer -> s -> LString
- data Scanner s = Scanner (Maybe (Char, s)) (s -> Maybe (Char, s))
- customScanner :: (s -> Maybe (Char, s)) -> s -> Scanner s
- type LChar = (Line, Char)
- type LString = [LChar]
- data Token
  - = TokStart Line QName [Attr] Bool
  - | TokEnd Line QName
  - | TokCRef String
  - | TokText CData
- tokens :: XmlSource source => source -> [Token]
- tokens' :: LString -> [Token]
- special :: LChar -> LString -> [Token]
- qualName :: LString -> (QName, LString)
- tag :: LString -> [Token]
- attribs :: LString -> ([Attr], Bool, [Token])
- attrib :: LString -> (Attr, LString)
- attr_val :: LString -> (String, LString)
- dropSpace :: LString -> LString
- string :: LString -> (String, LString)
- break' :: (a -> Bool) -> [(b, a)] -> ([a], [(b, a)])
- breakn :: (a -> Bool) -> [(b, a)] -> ([a], [(b, a)])
- decode_attr :: String -> String
- data Txt
  - = TxtBit String
  - | CRefBit String
- decode_text :: [Char] -> [Txt]
- cref_to_char :: [Char] -> Maybe Char
- num_esc :: String -> Maybe Char
- cvt_char :: Int -> Maybe Char

# Documentation

class XmlSource s where Source #

Methods

uncons :: s -> Maybe (Char, s) Source #

Instances

XmlSource String Source # |
Instance details Defined in Text.XML.Light.Lexer Methods uncons :: String -> Maybe (Char, String) Source #
XmlSource ByteString Source # |
Instance details Defined in Text.XML.Light.Lexer Methods uncons :: ByteString -> Maybe (Char, ByteString) Source #
XmlSource ByteString Source # |
Instance details Defined in Text.XML.Light.Lexer Methods uncons :: ByteString -> Maybe (Char, ByteString) Source #
XmlSource Text Source # |
Instance details Defined in Text.XML.Light.Lexer Methods uncons :: Text -> Maybe (Char, Text) Source #
XmlSource Text Source # |
Instance details Defined in Text.XML.Light.Lexer Methods uncons :: Text -> Maybe (Char, Text) Source #
XmlSource (Scanner s) Source # |
Instance details Defined in Text.XML.Light.Lexer Methods uncons :: Scanner s -> Maybe (Char, Scanner s) Source #

linenumber :: XmlSource s => Integer -> s -> LString Source #

data Scanner s Source #

This type may be used to provide a custom scanning function for extracting characters.

Constructors

Scanner (Maybe (Char, s)) (s -> Maybe (Char, s)) |

Instances

XmlSource (Scanner s) Source # |
Instance details Defined in Text.XML.Light.Lexer Methods uncons :: Scanner s -> Maybe (Char, Scanner s) Source #

customScanner :: (s -> Maybe (Char, s)) -> s -> Scanner s Source #

This type may be used to provide a custom scanning function for extracting characters.

type LChar = (Line, Char) Source #

type LString = [LChar] Source #

data Token Source #

Constructors

TokStart Line QName [Attr] Bool |
TokEnd Line QName |
TokCRef String |
TokText CData |

Instances

Show Token Source # |
Instance details Defined in Text.XML.Light.Lexer Methods showsPrec :: Int -> Token -> ShowS Source # show :: Token -> String Source # showList :: [Token] -> ShowS Source #

tokens :: XmlSource source => source -> [Token] Source #

tokens' :: LString -> [Token] Source #

special :: LChar -> LString -> [Token] Source #

qualName :: LString -> (QName, LString) Source #

tag :: LString -> [Token] Source #

attribs :: LString -> ([Attr], Bool, [Token]) Source #

attrib :: LString -> (Attr, LString) Source #

attr_val :: LString -> (String, LString) Source #

dropSpace :: LString -> LString Source #

string :: LString -> (String, LString) Source #

Match the value for an attribute. For malformed XML we do our best to guess the programmer's intention.

break' :: (a -> Bool) -> [(b, a)] -> ([a], [(b, a)]) Source #

breakn :: (a -> Bool) -> [(b, a)] -> ([a], [(b, a)]) Source #

decode_attr :: String -> String Source #

data Txt Source #

Constructors

TxtBit String |
CRefBit String |

Instances

Show Txt Source # |
Instance details Defined in Text.XML.Light.Lexer Methods showsPrec :: Int -> Txt -> ShowS Source # show :: Txt -> String Source # showList :: [Txt] -> ShowS Source #

decode_text :: [Char] -> [Txt] Source #

cref_to_char :: [Char] -> Maybe Char Source #

num_esc :: String -> Maybe Char Source #

cvt_char :: Int -> Maybe Char Source #