-- | -- 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" -- ------------------------------------------------------------