úÎB@×     Dennis Gosnell 2017BSD3(Dennis Gosnell (cdep.illabout@gmail.com) experimentalunknownNone/ Create a  for s./This function handles errors that occur when a  can't be parsed.This function throws an & with an explanation of what happened.The function to use for s .AThe type of a document that was being parsed. Should either be "XML" or "HTML"._The name of the function that was being used to parse the document. Should probably either be "Text.XML.parseText" or "Text.HTML.DOM.parseLT"2 depending on whether you're parsing XML or HTML.DThe actual XML or HTML string that you were trying to parse into a .5The exception that occurred when trying to parse the . Dennis Gosnell 2017BSD3(Dennis Gosnell (cdep.illabout@gmail.com) experimentalunknownNone This  produces XML s.This  produces expressions of type   . It produces a  5 when the input string cannot be parsed into an XML .$Here's a simple example of using it:5[xml|<html></html>|] :: Either SomeException Documentÿ3Right (Document {documentPrologue = Prologue {prologueBefore = [], prologueDoctype = Nothing, prologueAfter = []}, documentRoot = Element {elementName = Name {nameLocalName = "html", nameNamespace = Nothing, namePrefix = Nothing}, elementAttributes = fromList [], elementNodes = []}, documentEpilogue = []})(Internally, this function is using the  2https://hackage.haskell.org/package/heterocephalusheterocephalusE package. This means you can use variable interpolation, as well as forall, if, and case$ control statements. Checkout the  .https://github.com/arowM/heterocephalus#syntaxheterocephalus README for more info.let a = "hello world"[xml|<html>#{a}</html>|] Right ...5Here's an example of invalue XML that will produce a  value:[xml|<html </html>|]Left ...>Here's an example of a template that can be parsed as an HTML , but not as an XML :[xml|<html><br></html>|]Left ...This function is just like  $, but produces expressions of type .3If your input string cannot be parsed into a valid +, an error will be thrown at runtime with .:This function is nice to use in GHCi or tests, but should NOT be used in production code.$Here's a simple example of using it:&[xmlUnsafe|<html></html>|] :: Document Document ...This function is similar to  d, but doesn't allow variable interpolation or control statements. It produces expressions of type .UAn error will be thrown at compile-time if the input string cannot be parsed into a .Unlike 2, this function is safe to use in production code.$Here's a simple example of using it:#[xmlRaw|<html></html>|] :: Document Document ...    Dennis Gosnell 2017BSD3(Dennis Gosnell (cdep.illabout@gmail.com) experimentalunknownNoneThis  produces HTML s.This  produces expressions of type .$Here's a simple example of using it:![html|<html></html>|] :: Documentÿ+Document {documentPrologue = Prologue {prologueBefore = [], prologueDoctype = Nothing, prologueAfter = []}, documentRoot = Element {elementName = Name {nameLocalName = "html", nameNamespace = Nothing, namePrefix = Nothing}, elementAttributes = fromList [], elementNodes = []}, documentEpilogue = []}(Internally, this function is using the  2https://hackage.haskell.org/package/heterocephalusheterocephalusE package. This means you can use variable interpolation, as well as forall, if, and case$ control statements. Checkout the  .https://github.com/arowM/heterocephalus#syntaxheterocephalus README for more info.let a = "hello world"[html|<html>#{a}</html>|] Document ...#Even invalid HTML will still parse.[html|<html </html>|] Document ...>Here's an example of a template that can be parsed as an HTML , but not as an XML :[html|<html><br></html>|] Document ...This function is the same as j, but doesn't allow variable interpolation or control statements. It also produces expressions of type .$Here's a simple example of using it:$[htmlRaw|<html></html>|] :: Document Document ...      !"#"$%*xml-html-qq-0.1.0.1-KceAW4VEsCb3mnASHtPVZi Text.XML.QQText.XMLHTML.Internal Text.HTML.QQbase GHC.Exception SomeException*xml-conduit-1.4.0.3-GoZegmEUkYMAOOkiMliVZOText.XMLDocumentcreateExpQuasiQuoterhandleParseDocErr$fLiftDocument$fLiftPrologue$fLiftMiscellaneous $fLiftElement $fLiftDoctype$fLiftInstruction $fLiftName $fLiftNode$fLiftExternalIDxml xmlUnsafexmlRawhtmlhtmlRawtemplate-haskellLanguage.Haskell.TH.Quote QuasiQuoterLanguage.Haskell.TH.SyntaxExpGHC.ErrerrorquoteExp Data.EitherEitherLeft