hxt-7.1: src/Text/XML/HXT/Parser/XmlCharParser.hs
-- |
-- UTF-8 character parser and simple XML token parsers
--
-- Version : $Id: XmlCharParser.hs,v 1.2 2005/05/31 16:01:12 hxml Exp $
module Text.XML.HXT.Parser.XmlCharParser
( xmlChar -- xml char parsers
, xmlNameChar
, xmlNameStartChar
, xmlNCNameChar
, xmlNCNameStartChar
, xmlLetter
, xmlSpaceChar
)
where
import Text.XML.HXT.DOM.Unicode
import Text.ParserCombinators.Parsec
-- ------------------------------------------------------------
--
-- Char (2.2)
--
-- |
-- parse a single Unicode character
xmlChar :: GenParser Char state Unicode
xmlChar = satisfy isXmlChar <?> "legal XML character"
-- |
-- parse a XML name character
xmlNameChar :: GenParser Char state Unicode
xmlNameChar = satisfy isXmlNameChar <?> "legal XML name character"
-- |
-- parse a XML name start character
xmlNameStartChar :: GenParser Char state Unicode
xmlNameStartChar = satisfy isXmlNameStartChar <?> "legal XML name start character"
-- |
-- parse a XML NCName character
xmlNCNameChar :: GenParser Char state Unicode
xmlNCNameChar = satisfy isXmlNCNameChar <?> "legal XML NCName character"
-- |
-- parse a XML NCName start character
xmlNCNameStartChar :: GenParser Char state Unicode
xmlNCNameStartChar = satisfy isXmlNCNameStartChar <?> "legal XML NCName start character"
-- |
-- parse a XML letter character
xmlLetter :: GenParser Char state Unicode
xmlLetter = satisfy isXmlLetter <?> "legal XML letter"
-- |
-- White Space (2.3)
--
-- end of line handling (2.11)
-- \#x0D and \#x0D\#x0A are mapped to \#x0A
-- is done in XmlInput before parsing
-- otherwise \#x0D in internal parsing, e.g. for entities would normalize,
-- would be transformed
xmlSpaceChar :: GenParser Char state Char
xmlSpaceChar = satisfy isXmlSpaceChar <?> "white space"
-- ------------------------------------------------------------