úÎ4Š.ìW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVSafe is like W but with two error states,  and . is precisely analogous to X while  has short cut semantics for Y.The idea is that " errors cannot be circumvented by Z etc.Maps  to .Maps  and  to X.[ \]^  [ Safe Extraction errors. Some expected content is missing An expected attribute is missingAn attribute value was badExpected end of contentsUnexpected end of contents"name of expected attribute#element with missing attribute$description of expected value%the value found&Error with a context.*Location for some content.‰For now it is a reversed list of content indices (starting at 1) and element names. This may change to something less "stringly typed".)_ !"#$%&'()*`abcde+f,-name of attribute to extractAfunction returning given string to some value or an error message./0g123456 !"#$%&'()*+,-./012345"* !"#$%#! &'()+,-/.013245_ !"#$%#! &'()*`abcde+f,-./0g123456Safe9<Converts an extraction error to a multi line string message.Paths are shown according to :.:Paths will show like this: 1/foo/2/bar/@x•which represents the "x" attribute of the "bar" element, which is the second content of the "foo" element which is the first content from the root.9:;hi9:;9;:9:;hiSafe<'Reads a floating point value or return X "float" if the read fails.=!Reads an integer value or return X "integer" if the read fails.<=<=<=<=NoneI@extractElement p element extracts element with p.A attrib name! extracts the value of attribute name.BattribAs name f! extracts the value of attribute name7 and runs it through a conversion/validation function.”The conversion function takes a string with the value and returns either a description of the expected format of the value or the converted value.C children p" extract only child elements with p.D contents p extract contents with p.EextractContents p contents extracts the contents with p.FUsing  produces a single j7. Such an element can be extracted using this function.Gonly p3 fails if there is more contents than extracted by p. only p = p <* eocH,Succeeds only when there is no more content.Ielement name p extracts a name element with p.JExtracts text.K/Extracts text applied to a conversion function.LExtracts first matching.M Extracts one k item.NLConvenience function to convert extraction errors to string messages using 9. >eitherMessageOrValue = either (Left . showExtractionErr) Right>l?m@ABCDEFGHIJKLMN& !"#$%&'()*9<=>?@ABCDEFGHIJKLMN)* !"#$%#! &'()?@ABCD>EFIJKLMHG9N=<>l?m@ABCDEFGHIJKLMNn     !"#$%&'()*+,-./00123456789:;<=>?@ABCDEF!"G5687HIJ>:<;K=LMNOPQRSTUVWUVXUYZUY[ \]\^\_`abcdefghijkijl!"m-xml-extractors-0.4.0.2-5FiHjZylR5FAe2g2aR0UvV)Text.XML.Light.Extractors.Internal.Result"Text.XML.Light.Extractors.Internal!Text.XML.Light.Extractors.ShowErrText.XML.Light.Extractors.ExtraText.XML.Light.ExtractorsText.XML.Light.Input parseXMLDoctransformers-0.5.2.0Control.Monad.Trans.ClassliftResultT runResultTResultFatalFailOkescalatetoEither throwError throwFatal mapResult$fMonadTransResultT$fAlternativeResultT$fMonadResultT$fMonadPlusResultT$fApplicativeResultT$fFunctorResultT $fMonadResult$fAlternativeResult$fApplicativeResult$fFunctorResult $fShowResultContentsExtractorElementExtractorErrErrExpectContentErrExpectAttribErrAttribValueErrEndErrNullErrMsgexpectedContent foundContentexpectedAttrib atElement expectedValue foundValue ExtractionErrerrcontextPathrunElementExtractorattribattribAscontentschildrenrunContentsExtractorelementtextAstext anyContenteoc$fErrorExtractionErr $fShowErr$fShowExtractionErrshowExtractionErrshowPathshowErrfloatintegerextractElementextractContentsextractDocContentsonlychoiceeitherMessageOrValue$fApplicativeElementExtractor$fAlternativeElementExtractor$fFunctorElementExtractor$fMonadElementExtractor$fApplicativeContentsExtractor$fAlternativeContentsExtractor$fFunctorContentsExtractor$fMonadContentsExtractorbase Data.EitherEitherLeftGHC.Base Alternative<|>Control.Monad.Trans.ErrorErrorstrMsgnoMsgCtxelemNamepushIdxpushElem pushAttribmakeElementExtractorfirst contentLineshowLine xml-1.3.14-rYbwgRBahsKh5Xn1LyTePText.XML.Light.TypesElementContent