-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Streaming-friendly XML parsers -- -- Cf README file @package hextream @version 0.2.0.0 -- | Utilities to handle entity references. module Data.XML.Parser.Low.Entity -- | A function that describes how to expand entity references. newtype EntityDecoder EntityDecoder :: (Text -> Maybe Text) -> EntityDecoder [runEntityDecoder] :: EntityDecoder -> Text -> Maybe Text -- | https://www.w3.org/TR/REC-xml/#sec-predefined-ent decodePredefinedEntities :: EntityDecoder -- | https://www.w3.org/TR/xhtml1/dtds.html#h-A2 decodeHtmlEntities :: EntityDecoder instance GHC.Base.Semigroup Data.XML.Parser.Low.Entity.EntityDecoder instance GHC.Base.Monoid Data.XML.Parser.Low.Entity.EntityDecoder -- | All documentation examples assume the following setup: -- --
--   :set -XOverloadedStrings
--   import Data.Attoparsec.ByteString
--   
module Data.XML.Parser.Low.Name -- | A qualified name. -- -- https://www.w3.org/TR/xml-names/#dt-qualname data QName QName :: Text -> Text -> QName [namePrefix] :: QName -> Text [nameLocal] :: QName -> Text -- | https://www.w3.org/TR/xml-names/#NT-QName -- --
--   >>> parseOnly tokenQualifiedName "price"
--   Right (QName {namePrefix = "", nameLocal = "price"})
--   
--   >>> parseOnly tokenQualifiedName "edi:price"
--   Right (QName {namePrefix = "edi", nameLocal = "price"})
--   
tokenQualifiedName :: CharParsing m => Monad m => m QName -- | https://www.w3.org/TR/xml-names/#NT-NCName -- --
--   >>> parseOnly tokenNCName "price"
--   Right "price"
--   
--   >>> parse tokenNCName "edi:price"
--   Done ":price" "edi"
--   
tokenNCName :: CharParsing m => Monad m => m Text -- | https://www.w3.org/TR/REC-xml/#NT-Name -- --
--   >>> parseOnly tokenName "price"
--   Right "price"
--   
--   >>> parseOnly tokenName "edi:price"
--   Right "edi:price"
--   
tokenName :: CharParsing m => Monad m => m Text instance GHC.Show.Show Data.XML.Parser.Low.Name.QName instance GHC.Read.Read Data.XML.Parser.Low.Name.QName instance GHC.Classes.Ord Data.XML.Parser.Low.Name.QName instance GHC.Classes.Eq Data.XML.Parser.Low.Name.QName instance Data.String.IsString Data.XML.Parser.Low.Name.QName -- | Low-level XML parsers: -- -- -- -- All documentation examples assume the following setup: -- --
--   :set -XOverloadedStrings
--   import Data.Attoparsec.ByteString
--   
module Data.XML.Parser.Low -- | Entity reference, or character reference. data Reference EntityRef :: Text -> Reference CharRef :: Char -> Reference -- | Raw text or reference. data Content ContentText :: Text -> Content ContentReference :: Reference -> Content -- | Expand content reference, if any. expandContent :: Alternative m => EntityDecoder -> Content -> m Text -- | Same as expandContent, but on a list. Provided for convenience. expandContents :: Alternative m => Monad m => EntityDecoder -> [Content] -> m Text -- | Resolve reference into raw text. expandReference :: Alternative m => EntityDecoder -> Reference -> m Text -- | Same as expandReference decodePredefinedEntities, provided -- for convenience. expandReference' :: Reference -> Maybe Text -- |
--   '
--   
tokenSingleQuote :: CharParsing m => m Char -- |
--   "
--   
tokenDoubleQuote :: CharParsing m => m Char -- | Single or double quote. tokenQuote :: CharParsing m => m Char -- | https://www.w3.org/TR/REC-xml/#NT-S tokenWhitespace :: CharParsing m => m String -- | https://www.w3.org/TR/REC-xml/#NT-Eq tokenEqual :: CharParsing m => Monad m => m () -- | https://www.w3.org/TR/REC-xml/#NT-Reference -- --
--   >>> parseOnly tokenReference "<"
--   Right (CharRef '<')
--   
--   >>> parseOnly tokenReference "&docdate;"
--   Right (EntityRef "docdate")
--   
tokenReference :: CharParsing m => Monad m => m Reference tokenContent :: CharParsing m => Monad m => String -> m Content -- |
--   <!ENTITY
--   
tokenEntityDeclarationOpen :: CharParsing m => m () -- | Return processing instruction name. -- --
--   >>> parseOnly tokenInstructionOpen "<?php"
--   Right "php"
--   
tokenInstructionOpen :: CharParsing m => Monad m => m Text -- |
--   ?>
--   
tokenInstructionClose :: CharParsing m => m () -- |
--   <![CDATA[
--   
-- -- https://www.w3.org/TR/REC-xml/#NT-CDStart tokenCdataOpen :: CharParsing m => m () -- |
--   ]]>
--   
-- -- https://www.w3.org/TR/REC-xml/#NT-CDEnd tokenCdataClose :: CharParsing m => m () -- |
--   <!--
--   
tokenCommentOpen :: CharParsing m => m () -- |
--   -->
--   
tokenCommentClose :: CharParsing m => m () -- |
--   <!DOCTYPE
--   
tokenDoctypeOpen :: CharParsing m => m () -- |
--   <?xml
--   
tokenXmlDeclarationOpen :: CharParsing m => m () -- |
--   ?>
--   
tokenXmlDeclarationClose :: CharParsing m => m () -- |
--   />
--   
tokenEmptyElementTagClose :: CharParsing m => m () -- | Return tag name. -- --
--   >>> parseOnly tokenStartTagOpen "<foo"
--   Right (QName {namePrefix = "", nameLocal = "foo"})
--   
tokenStartTagOpen :: CharParsing m => Monad m => m QName -- | Return tag name. -- --
--   >>> parseOnly tokenEndTagOpen "</foo"
--   Right (QName {namePrefix = "", nameLocal = "foo"})
--   
tokenEndTagOpen :: CharParsing m => Monad m => m QName -- |
--   >
--   
tokenElementClose :: CharParsing m => m () instance GHC.Show.Show Data.XML.Parser.Low.Content instance GHC.Read.Read Data.XML.Parser.Low.Content instance GHC.Classes.Ord Data.XML.Parser.Low.Content instance GHC.Classes.Eq Data.XML.Parser.Low.Content instance GHC.Show.Show Data.XML.Parser.Low.Reference instance GHC.Read.Read Data.XML.Parser.Low.Reference instance GHC.Classes.Ord Data.XML.Parser.Low.Reference instance GHC.Classes.Eq Data.XML.Parser.Low.Reference -- | All documentation examples assume the following setup: -- --
--   :set -XOverloadedStrings
--   import Data.Attoparsec.ByteString
--   import Data.XML.Parser.High
--   
module Data.XML.Parser.High.NameParser -- | How to parse tag names. newtype NameParser a NameParser :: (QName -> Either String a) -> NameParser a [runNameParser] :: NameParser a -> QName -> Either String a -- | Match any qualified name. anyName :: NameParser QName -- | Match any qualified name, except for the given value. -- --
--   >>> parseOnly (runTokenParser $ tag' (anyNameExcept "foo") anyAttr anyContent) "<foo></foo>"
--   Left ...
--   
--   >>> parseOnly (runTokenParser $ tag' (anyNameExcept "foo") anyAttr anyContent) "<bar></bar>"
--   Right ()
--   
anyNameExcept :: QName -> NameParser QName instance GHC.Base.Functor Data.XML.Parser.High.NameParser.NameParser instance GHC.Base.Applicative Data.XML.Parser.High.NameParser.NameParser instance GHC.Base.Alternative Data.XML.Parser.High.NameParser.NameParser instance (a Data.Type.Equality.~ ()) => Data.String.IsString (Data.XML.Parser.High.NameParser.NameParser a) instance GHC.Base.Monad Data.XML.Parser.High.NameParser.NameParser instance Control.Monad.Fail.MonadFail Data.XML.Parser.High.NameParser.NameParser -- | All documentation examples assume the following setup: -- --
--   :set -XOverloadedStrings
--   import Data.Attoparsec.ByteString
--   import Data.XML.Parser.High
--   
module Data.XML.Parser.High.AttrParser -- | How to parse tag attributes. newtype AttrParser a AttrParser :: (Map QName Text -> Either String a) -> AttrParser a [runAttrParser] :: AttrParser a -> Map QName Text -> Either String a -- | Parse any set of attributes. -- --
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr noContent) "<tag></tag>"
--   Right ()
--   
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr noContent) "<tag key='value'></tag>"
--   Right ()
--   
anyAttr :: AttrParser () -- | Assert that no attributes exist. -- --
--   >>> parseOnly (runTokenParser $ tag' anyName noAttr noContent) "<tag></tag>"
--   Right ()
--   
--   >>> parseOnly (runTokenParser $ tag' anyName noAttr noContent) "<tag key='value'></tag>"
--   Left ...
--   
noAttr :: AttrParser () -- | Parse attribute by name, and return its value. -- --
--   >>> parseOnly (runTokenParser $ tag' anyName (attrValue "foo") noContent) "<tag></tag>"
--   Left ...
--   
--   >>> parseOnly (runTokenParser $ tag' anyName (attrValue "foo") noContent) "<tag foo='bar'></tag>"
--   Right ()
--   
attrValue :: QName -> AttrParser Text -- | Assert that an attribute exists, with given name and value. -- --
--   >>> parseOnly (runTokenParser $ tag' anyName (hasAttr "foo" "bar") noContent) "<tag></tag>"
--   Left ...
--   
--   >>> parseOnly (runTokenParser $ tag' anyName (hasAttr "foo" "bar") noContent) "<tag foo='baz'></tag>"
--   Left ...
--   
--   >>> parseOnly (runTokenParser $ tag' anyName (hasAttr "foo" "bar") noContent) "<tag foo='bar'></tag>"
--   Right ()
--   
hasAttr :: QName -> Text -> AttrParser () instance GHC.Base.Functor Data.XML.Parser.High.AttrParser.AttrParser instance GHC.Base.Applicative Data.XML.Parser.High.AttrParser.AttrParser instance GHC.Base.Alternative Data.XML.Parser.High.AttrParser.AttrParser instance GHC.Base.Monad Data.XML.Parser.High.AttrParser.AttrParser instance Control.Monad.Fail.MonadFail Data.XML.Parser.High.AttrParser.AttrParser -- | All documentation examples assume the following setup: -- --
--   :set -XOverloadedStrings
--   import Data.Attoparsec.ByteString
--   
module Data.XML.Parser.Mid.Attribute -- | https://www.w3.org/TR/REC-xml/#dt-attr data Attribute Attribute :: QName -> [Content] -> Attribute -- | https://www.w3.org/TR/REC-xml/#NT-Attribute -- --
--   >>> parseOnly attribute "name = 'value'"
--   Right (Attribute (QName {namePrefix = "", nameLocal = "name"}) [ContentText "value"])
--   
attribute :: CharParsing m => Monad m => m Attribute instance GHC.Show.Show Data.XML.Parser.Mid.Attribute.Attribute instance GHC.Read.Read Data.XML.Parser.Mid.Attribute.Attribute instance GHC.Classes.Ord Data.XML.Parser.Mid.Attribute.Attribute instance GHC.Classes.Eq Data.XML.Parser.Mid.Attribute.Attribute -- | Document type declaration parsers. -- -- https://www.w3.org/TR/REC-xml/#dt-doctype -- -- All documentation examples assume the following setup: -- --
--   :set -XOverloadedStrings
--   import Data.Attoparsec.ByteString
--   
module Data.XML.Parser.Mid.Doctype -- | External entity identifier -- -- https://www.w3.org/TR/REC-xml/#dt-extent data ExternalID PublicID :: Text -> Text -> ExternalID SystemID :: Text -> ExternalID -- | https://www.w3.org/TR/REC-xml/#NT-ExternalID -- --
--   >>> parseOnly externalID "PUBLIC '-//Textuality//TEXT Standard open-hatch boilerplate//EN' 'http://www.textuality.com/boilerplate/OpenHatch.xml'"
--   Right (PublicID "-//Textuality//TEXT Standard open-hatch boilerplate//EN" "http://www.textuality.com/boilerplate/OpenHatch.xml")
--   
--   >>> parseOnly externalID "SYSTEM '../grafix/OpenHatch.gif'"
--   Right (SystemID "../grafix/OpenHatch.gif")
--   
externalID :: CharParsing m => Monad m => m ExternalID -- | https://www.w3.org/TR/REC-xml/#gen-entity data GeneralEntityDeclaration GeneralEntityDeclaration :: Text -> [Content] -> GeneralEntityDeclaration -- | https://www.w3.org/TR/REC-xml/#NT-GEDecl -- --
--   >>> parseOnly generalEntityDeclaration "<!ENTITY d '&#xD;'>"
--   Right (GeneralEntityDeclaration "d" [ContentReference (CharRef '\r')])
--   
--   >>> parseOnly generalEntityDeclaration "<!ENTITY da '&#xD;&#xA;'>"
--   Right (GeneralEntityDeclaration "da" [ContentReference (CharRef '\r'),ContentReference (CharRef '\n')])
--   
--   >>> parseOnly generalEntityDeclaration "<!ENTITY Pub-Status 'This is a pre-release of the specification.'>"
--   Right (GeneralEntityDeclaration "Pub-Status" [ContentText "This is a pre-release of the specification."])
--   
generalEntityDeclaration :: CharParsing m => Monad m => m GeneralEntityDeclaration -- | https://www.w3.org/TR/REC-xml/#dt-doctype data Doctype Doctype :: Text -> Maybe ExternalID -> [GeneralEntityDeclaration] -> Doctype -- | https://www.w3.org/TR/REC-xml/#NT-doctypedecl -- --
--   >>> parseOnly doctype "<!DOCTYPE greeting SYSTEM 'hello.dtd'>"
--   Right (Doctype "greeting" (Just (SystemID "hello.dtd")) [])
--   
--   >>> parseOnly doctype "<!DOCTYPE foo [ <!ENTITY x '&lt;'> ]>"
--   Right (Doctype "foo" Nothing [GeneralEntityDeclaration "x" [ContentReference (EntityRef "lt")]])
--   
doctype :: CharParsing m => Monad m => m Doctype instance GHC.Show.Show Data.XML.Parser.Mid.Doctype.Doctype instance GHC.Read.Read Data.XML.Parser.Mid.Doctype.Doctype instance GHC.Classes.Ord Data.XML.Parser.Mid.Doctype.Doctype instance GHC.Classes.Eq Data.XML.Parser.Mid.Doctype.Doctype instance GHC.Show.Show Data.XML.Parser.Mid.Doctype.GeneralEntityDeclaration instance GHC.Read.Read Data.XML.Parser.Mid.Doctype.GeneralEntityDeclaration instance GHC.Classes.Ord Data.XML.Parser.Mid.Doctype.GeneralEntityDeclaration instance GHC.Classes.Eq Data.XML.Parser.Mid.Doctype.GeneralEntityDeclaration instance GHC.Show.Show Data.XML.Parser.Mid.Doctype.ExternalID instance GHC.Read.Read Data.XML.Parser.Mid.Doctype.ExternalID instance GHC.Classes.Ord Data.XML.Parser.Mid.Doctype.ExternalID instance GHC.Classes.Eq Data.XML.Parser.Mid.Doctype.ExternalID -- | Mid-level XML parsers, built on top of Data.XML.Parser.Low: -- -- -- -- All documentation examples assume the following setup: -- --
--   :set -XOverloadedStrings
--   import Data.Attoparsec.ByteString
--   
module Data.XML.Parser.Mid -- | Processing instruction. -- -- https://www.w3.org/TR/REC-xml/#dt-pi data Instruction Instruction :: Text -> Text -> Instruction -- | https://www.w3.org/TR/REC-xml/#dt-xmldecl data XMLDeclaration XMLDeclaration :: Text -> Maybe Text -> Maybe Bool -> XMLDeclaration -- | https://www.w3.org/TR/REC-xml/#dt-stag data StartTag StartTag :: QName -> [Attribute] -> StartTag -- | https://www.w3.org/TR/REC-xml/#dt-eetag data EmptyElementTag EmptyElementTag :: QName -> [Attribute] -> EmptyElementTag data Token TokenXMLDeclaration :: XMLDeclaration -> Token TokenDoctype :: Doctype -> Token TokenInstruction :: Instruction -> Token TokenStartTag :: StartTag -> Token TokenEndTag :: QName -> Token TokenEmptyElementTag :: EmptyElementTag -> Token TokenData :: [Content] -> Token TokenComment :: Text -> Token TokenCDATA :: Text -> Token -- | A parser that consumes whole Tokens. data TokenParser m a runTokenParser :: TokenParser m a -> m a -- | https://www.w3.org/TR/REC-xml/#dt-pi -- --
--   >>> parseOnly (runTokenParser tokenInstruction) "<?xml-stylesheet type='text/xsl' href='style.xsl'?>"
--   Right (Instruction "xml-stylesheet" "type='text/xsl' href='style.xsl'")
--   
tokenInstruction :: CharParsing m => Monad m => TokenParser m Instruction -- | https://www.w3.org/TR/REC-xml/#NT-Comment -- --
--   >>> parseOnly (runTokenParser tokenComment) "<!-- declarations for <head> & <body> -->"
--   Right " declarations for <head> & <body> "
--   
--   >>> parseOnly (runTokenParser tokenComment) "<!-- B+, B, or B--->"
--   Right " B+, B, or B-"
--   
tokenComment :: CharParsing m => Monad m => TokenParser m Text -- | https://www.w3.org/TR/REC-xml/#dt-cdsection -- --
--   >>> parseOnly (runTokenParser tokenCdata) "<![CDATA[<greeting>Hello, world!</greeting>]]>"
--   Right "<greeting>Hello, world!</greeting>"
--   
tokenCdata :: CharParsing m => Monad m => TokenParser m Text -- | https://www.w3.org/TR/REC-xml/#NT-doctypedecl -- --
--   >>> parseOnly (runTokenParser tokenDoctype) "<!DOCTYPE greeting SYSTEM 'hello.dtd'>"
--   Right (Doctype "greeting" (Just (SystemID "hello.dtd")) [])
--   
--   >>> parseOnly (runTokenParser tokenDoctype) "<!DOCTYPE foo [ <!ENTITY x '&lt;'> ]>"
--   Right (Doctype "foo" Nothing [GeneralEntityDeclaration "x" [ContentReference (EntityRef "lt")]])
--   
tokenDoctype :: CharParsing m => Monad m => TokenParser m Doctype -- | https://www.w3.org/TR/REC-xml/#NT-XMLDecl -- --
--   >>> parseOnly (runTokenParser tokenXmlDeclaration) "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>"
--   Right (XMLDeclaration "1.0" (Just "UTF-8") (Just True))
--   
tokenXmlDeclaration :: CharParsing m => Monad m => TokenParser m XMLDeclaration -- | https://www.w3.org/TR/REC-xml/#NT-STag -- --
--   >>> parseOnly (runTokenParser tokenStartTag) "<termdef id='dt-dog' term='dog'>"
--   Right (StartTag (QName {namePrefix = "", nameLocal = "termdef"}) [Attribute (QName {namePrefix = "", nameLocal = "id"}) [ContentText "dt-dog"],Attribute (QName {namePrefix = "", nameLocal = "term"}) [ContentText "dog"]])
--   
--   >>> parse (runTokenParser tokenStartTag) "<updated>2003-12-13T18:30:02Z</updated>"
--   Done "2003-12-13T18:30:02Z</updated>" (StartTag (QName {namePrefix = "", nameLocal = "updated"}) [])
--   
tokenStartTag :: CharParsing m => Monad m => TokenParser m StartTag -- | https://www.w3.org/TR/REC-xml/#NT-ETag -- --
--   >>> parseOnly (runTokenParser tokenEndTag) "</termdef>"
--   Right (QName {namePrefix = "", nameLocal = "termdef"})
--   
tokenEndTag :: CharParsing m => Monad m => TokenParser m QName -- | https://www.w3.org/TR/REC-xml/#NT-EmptyElemTag -- --
--   >>> parseOnly (runTokenParser tokenEmptyElementTag) "<IMG align='left' src='http://www.w3.org/Icons/WWW/w3c_home' />"
--   Right (EmptyElementTag (QName {namePrefix = "", nameLocal = "IMG"}) [Attribute (QName {namePrefix = "", nameLocal = "align"}) [ContentText "left"],Attribute (QName {namePrefix = "", nameLocal = "src"}) [ContentText "http://www.w3.org/Icons/WWW/w3c_home"]])
--   
tokenEmptyElementTag :: CharParsing m => Monad m => TokenParser m EmptyElementTag -- | https://www.w3.org/TR/REC-xml/#NT-CharData -- --
--   >>> parseOnly (runTokenParser tokenData) "Rock &amp; roll"
--   Right [ContentText "Rock ",ContentReference (EntityRef "amp"),ContentText " roll"]
--   
tokenData :: CharParsing m => Monad m => TokenParser m [Content] -- | Parse any Token. anyToken :: CharParsing m => Monad m => TokenParser m Token instance GHC.Show.Show Data.XML.Parser.Mid.Token instance GHC.Classes.Ord Data.XML.Parser.Mid.Token instance GHC.Classes.Eq Data.XML.Parser.Mid.Token instance GHC.Show.Show Data.XML.Parser.Mid.EmptyElementTag instance GHC.Read.Read Data.XML.Parser.Mid.EmptyElementTag instance GHC.Classes.Ord Data.XML.Parser.Mid.EmptyElementTag instance GHC.Classes.Eq Data.XML.Parser.Mid.EmptyElementTag instance GHC.Show.Show Data.XML.Parser.Mid.StartTag instance GHC.Read.Read Data.XML.Parser.Mid.StartTag instance GHC.Classes.Ord Data.XML.Parser.Mid.StartTag instance GHC.Classes.Eq Data.XML.Parser.Mid.StartTag instance GHC.Show.Show Data.XML.Parser.Mid.XMLDeclaration instance GHC.Read.Read Data.XML.Parser.Mid.XMLDeclaration instance GHC.Classes.Ord Data.XML.Parser.Mid.XMLDeclaration instance GHC.Classes.Eq Data.XML.Parser.Mid.XMLDeclaration instance GHC.Show.Show Data.XML.Parser.Mid.Instruction instance GHC.Read.Read Data.XML.Parser.Mid.Instruction instance GHC.Classes.Ord Data.XML.Parser.Mid.Instruction instance GHC.Classes.Eq Data.XML.Parser.Mid.Instruction instance GHC.Base.Functor m => GHC.Base.Functor (Data.XML.Parser.Mid.TokenParser m) instance GHC.Base.Applicative m => GHC.Base.Applicative (Data.XML.Parser.Mid.TokenParser m) instance GHC.Base.Alternative m => GHC.Base.Alternative (Data.XML.Parser.Mid.TokenParser m) instance GHC.Base.Monad m => GHC.Base.Monad (Data.XML.Parser.Mid.TokenParser m) instance (Text.Parser.Combinators.Parsing m, GHC.Base.Monad m) => Control.Monad.Fail.MonadFail (Data.XML.Parser.Mid.TokenParser m) -- | High-level XML parsers, built on top of Data.XML.Parser.Mid: -- -- -- -- All documentation examples assume the following setup: -- --
--   :set -XOverloadedStrings
--   import Data.Attoparsec.ByteString
--   
module Data.XML.Parser.High -- | XML document prolog. data Prolog Prolog :: Maybe XMLDeclaration -> [Instruction] -> Maybe Doctype -> Prolog [prologXmlDeclaration] :: Prolog -> Maybe XMLDeclaration [prologInstructions] :: Prolog -> [Instruction] [prologDoctype] :: Prolog -> Maybe Doctype data Token TokenProlog :: Prolog -> Token TokenInstruction :: Instruction -> Token TokenTag :: QName -> Map QName Text -> [Token] -> Token TokenTextContent :: Text -> Token -- | A parser that consumes whole Tokens. data TokenParser m a -- | How to parse tag content. data ContentParser m a -- | Assert that content is empty. -- --
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr noContent) "<tag key='value'>body</tag>"
--   Left ...
--   
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr noContent) "<tag key='value'></tag>"
--   Right ()
--   
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr noContent) "<tag key='value'/>"
--   Right ()
--   
noContent :: Applicative m => ContentParser m () -- | Assert that content is not empty, and parse it using given token -- parser. -- --
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr (withContent textContent')) "<tag key='value'>body</tag>"
--   Right "body"
--   
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr (withContent textContent')) "<tag key='value'></tag>"
--   Left ...
--   
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr (withContent textContent')) "<tag key='value'/>"
--   Left ...
--   
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr (withContent $ pure ())) "<tag key='value'/>"
--   Left ...
--   
withContent :: TokenParser m a -> ContentParser m a -- | Accept any content, including empty content. -- --
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr anyContent) "<tag key='value'>body</tag>"
--   Right ()
--   
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr anyContent) "<tag key='value'></tag>"
--   Right ()
--   
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr anyContent) "<tag key='value'/>"
--   Right ()
--   
anyContent :: CharParsing m => Monad m => ContentParser m () runTokenParser :: TokenParser m a -> m a -- | https://www.w3.org/TR/REC-xml/#NT-prolog -- --
--   >>> parseOnly (runTokenParser prolog) "<?xml version='1.0'?><!DOCTYPE greeting>"
--   Right (Prolog {prologXmlDeclaration = Just (XMLDeclaration "1.0" ...), prologInstructions = [], prologDoctype = Just (Doctype "greeting" ...)})
--   
--   >>> parseOnly (runTokenParser prolog) "<?xml version='1.0'?>  <!-- comments and whitespace are ignored --><!DOCTYPE greeting>"
--   Right (Prolog {prologXmlDeclaration = Just (XMLDeclaration "1.0" ...), prologInstructions = [], prologDoctype = Just (Doctype "greeting" ...)})
--   
prolog :: CharParsing m => Monad m => TokenParser m Prolog -- | Parse a processing instruction. -- -- https://www.w3.org/TR/REC-xml/#dt-pi -- --
--   >>> parseOnly (runTokenParser instruction) "<?php echo 'Hello World!'; ?>"
--   Right (Instruction "php" "echo 'Hello World!'; ")
--   
--   >>> parseOnly (runTokenParser instruction) "<!-- comments and whitespace are ignored -->  <?php echo 'Hello World!'; ?>"
--   Right (Instruction "php" "echo 'Hello World!'; ")
--   
instruction :: CharParsing m => Monad m => TokenParser m Instruction -- | Parse textual content of a tag, including CDATA. textContent :: CharParsing m => Monad m => EntityDecoder -> TokenParser m Text -- | Same as textContent (decodePredefinedEntities <> -- decodeHtmlEntities), provided for convenience. -- --
--   >>> parseOnly (runTokenParser $ tag' anyName anyAttr (withContent textContent')) "<tag>body<!-- Ignored comment --><![CDATA[<innertag>innerbody</innertag>]]></tag>"
--   Right "body<innertag>innerbody</innertag>"
--   
textContent' :: CharParsing m => Monad m => TokenParser m Text -- | Generic tag parser. tag :: CharParsing m => Monad m => EntityDecoder -> NameParser a -> (a -> AttrParser b) -> (b -> ContentParser m c) -> TokenParser m c -- | Simplified version of tag: -- -- tag' :: CharParsing m => Monad m => NameParser a -> AttrParser b -> ContentParser m c -> TokenParser m c -- | Parse a tag with any name, any attributes and any content. -- --
--   >>> parseOnly (runTokenParser anyTag) "<tag key='value'>body</tag>"
--   Right ()
--   
--   >>> parseOnly (runTokenParser anyTag) "<tag key='value'/>"
--   Right ()
--   
--   >>> parseOnly (runTokenParser anyTag) "<!-- ignored comment --><tag key='value'/>"
--   Right ()
--   
--   >>> parseOnly (runTokenParser anyTag) "<tag key='value'>body<!-- ignored comment --></tag>"
--   Right ()
--   
anyTag :: CharParsing m => Monad m => TokenParser m () -- | Parse any Token. anyToken :: CharParsing m => Monad m => EntityDecoder -> TokenParser m Token -- | Same as anyToken (decodePredefinedEntities <> -- decodeHtmlEntities), provided for convenience. anyToken' :: CharParsing m => Monad m => TokenParser m Token instance GHC.Show.Show Data.XML.Parser.High.Token instance GHC.Read.Read Data.XML.Parser.High.Token instance GHC.Classes.Ord Data.XML.Parser.High.Token instance GHC.Classes.Eq Data.XML.Parser.High.Token instance GHC.Show.Show Data.XML.Parser.High.Prolog instance GHC.Read.Read Data.XML.Parser.High.Prolog instance GHC.Classes.Ord Data.XML.Parser.High.Prolog instance GHC.Classes.Eq Data.XML.Parser.High.Prolog instance GHC.Base.Functor m => GHC.Base.Functor (Data.XML.Parser.High.TokenParser m) instance GHC.Base.Applicative m => GHC.Base.Applicative (Data.XML.Parser.High.TokenParser m) instance GHC.Base.Alternative m => GHC.Base.Alternative (Data.XML.Parser.High.TokenParser m) instance GHC.Base.Monad m => GHC.Base.Monad (Data.XML.Parser.High.TokenParser m) instance GHC.Base.Functor m => GHC.Base.Functor (Data.XML.Parser.High.ContentParser m) instance (Text.Parser.Combinators.Parsing m, GHC.Base.Monad m) => Control.Monad.Fail.MonadFail (Data.XML.Parser.High.TokenParser m)