úÎ!‹­ÕÓ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ(c) Galois, Inc. 2007BSD3'Iavor S. Diatchki <diatchki@galois.com> provisionalBasic XML types.Safe1;= xmlXML qualified namesxml9Ordinary character data; pretty printer escapes &, < etc.xmlAUnescaped character data; pretty printer embeds it in <![CDATA[..xml[As-is character data; pretty printer passes it along without any escaping or CDATA wrap-up. xml XML CDataxmlXML attributesxml XML elementsxml XML contentxmlA line is an Integerxml Blank namesxml Blank cdataxmlBlank elements    (c) Galois, Inc. 2007BSD3'Iavor S. Diatchki <diatchki@galois.com> provisionalSafe;=.Q1xmltGet the text value of an XML element. This function ignores non-text elements, and concatenates all text elements.2xml4Select only the elements from a list of XML content.3xml'Select only the elements from a parent.4xml0Select only the text from a list of XML content.5xml0Find all immediate children with the given name.6xml4Filter all immediate children wrt a given predicate.7xmlEFilter all immediate children wrt a given predicate over their names.8xml,Find an immediate child with the given name.9xml,Find an immediate child with the given name.:xml7Find an immediate child with name matching a predicate.;xml@Find the left-most occurrence of an element matching given name.<xmlCFilter the left-most occurrence of an element wrt. given predicate.=xmlCFilter the left-most occurrence of an element wrt. given predicate.>xml™Find all non-nested occurances of an element. (i.e., once we have found an element, we do not search for more occurances among the element's children).?xml¯Find all non-nested occurrences of an element wrt. given predicate. (i.e., once we have found an element, we do not search for more occurances among the element's children).@xmlŒFind all non-nested occurences of an element wrt a predicate over element names. (i.e., once we have found an element, we do not search for more occurances among the element's children).Axml!Lookup the value of an attribute.Bxml Lookup attribute name from list.CxmlDLookup the first attribute whose name satisfies the given predicate.DxmlRLookup the value of the first attribute whose name satisfies the given predicate.123456789:;<=>?@ABCD123456789:;<=>?@ABCD(c) Galois, Inc. 2007BSD3'Iavor S. Diatchki <diatchki@galois.com> provisional,Output handling for the lightweight XML lib.Safe;=D6FxmlThe XML 1.0 headerGxmlLDefault pretty orinting configuration. * Always use abbreviate empty tags.HxmlWThe predicate specifies for which empty tags we should use XML's abbreviated notation  TAG/. This is useful if we are working with some XML-ish standards (such as certain versions of HTML) where some empty tags should always be displayed in the  TAG /TAG form.IxmlºSpecify if we should use extra white-space to make document more readable. WARNING: This adds additional white-space to text elements, and so it may change the meaning of the document.Jxml…A configuration that tries to make things pretty (possibly at the cost of changing the semantics a bit through adding white space.)Kxml‹Pretty printing renders XML documents faithfully, with the exception that whitespace may be added/removed in non-verbatim character data.LxmlPretty printing elementsMxmlPretty printing contentNxml‹Pretty printing renders XML documents faithfully, with the exception that whitespace may be added/removed in non-verbatim character data.OxmlPretty printing elementsPxmlPretty printing contentÓxml#Pretty printing content using ShowSQxml Adds the  ?xml? header.Ôxml%Convert a text element to characters.EFGHIJKLMNOPQRSTUVWQRSTWVKMLNPOEGJHIUFSafe;=I²bxmlWThis type may be used to provide a custom scanning function for extracting characters.gxmlWThis type may be used to provide a custom scanning function for extracting characters.qxmliMatch the value for an attribute. For malformed XML we do our best to guess the programmer's intention.!XZY[_^]\`abcdefghijklmnopqrstuvwx!defbcga`[_^]\hijklmnopqrstXZYuvwx(c) Galois, Inc. 2007BSD3'Iavor S. Diatchki <diatchki@galois.com> provisionalportableSafe;=Måxml6parseXMLDoc, parse a XMLl document to maybe an element‚xml$parseXML to a list of content chunks‚‚(c) Galois, Inc. 2008BSD3'Iavor S. Diatchki <diatchki@galois.com> provisionalportableSafe;=w4,ƒxml6The position of a piece of content in an XML document.…xmlThe currently selected content.†xml$Siblings on the left, closest first.‡xml%Siblings on the right, closest first.ˆxml5The contexts of the parent elements of this location.’xml!The parent of the given location.“xml*The top-most parent of the given location.”xml'The left sibling of the given location.•xml(The right sibling of the given location.–xml&The first child of the given location.—xml%The last child of the given location.˜xml6Find the next left sibling that satisfies a predicate.™xml7Find the next right sibling that satisfies a predicate.šxml+The first child that satisfies a predicate.›xml¡The next position in a left-to-right depth-first traversal of a document: either the first child, right sibling, or the right sibling of a parent that has one.œxmlRPerform a depth first search for a descendant that satisfies the given predicate.xml1The child with the given index (starting from 0).Õxml3private: computes the parent for "down" operations.žxmlA cursor for the given content.ŸxmlA cursor for the given element. xml+The location of the first tree in a forest.¡xml+Computes the tree containing this location.¢xml-Computes the forest containing this location.£xml"Are we at the top of the document?€xml+Are we at the left end of the the document?¥xml(Are we at the right end of the document?Šxml%Are we at the bottom of the document?§xmlDo we have a parent?šxml2Get the node index inside the sequence of children©xmlDo we have children?ªxmlChange the current content.«xmlModify the current content.¬xml3Modify the current content, allowing for an effect.­xml3Insert content to the left of the current position.®xml4Insert content to the right of the current position.¯xml?Remove the content on the left of the current position, if any.°xml@Remove the content on the right of the current position, if any.±xmlbInsert content to the left of the current position. The new content becomes the current position.²xmlcInsert content to the right of the current position. The new content becomes the current position.³xmlERemove the current element. The new position is the one on the left.ŽxmlFRemove the current element. The new position is the one on the right.µxmlPRemove the current element. The new position is the parent of the old position.Öxmlvprivate: Gets the given element of a list. Also returns the preceding elements (reversed) and the following elements.×xml7private: combChildren ls x ys = reverse ls ++ [x] ++ ys3ƒ„†‡…ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ3Š‹ŒŽ‘ƒ„†‡…ˆ‰žŸ ¢¡’“–—”•›š˜™œ£€¥Š§©šª«¬­®±²¯°³Žµ(c) Galois, Inc. 2007BSD3'Iavor S. Diatchki <diatchki@galois.com> provisional portabilitySafe;=~}žxmlkA smart element constructor which uses the type of its argument to determine what sort of element to make.ºxmlAdd an attribute to an element.»xml"Add some attributes to an element.ŒxmlCreate an unqualified name.œxml!Create node with unqualified nameO 123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW‚ž¹º»Œœž¹º»ŒœØ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›<œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙ!xml-1.3.14-Iiopw2ucwBuIKdlkbvc4GmText.XML.Light.TypesText.XML.Light.ProcText.XML.Light.OutputText.XML.Light.LexerText.XML.Light.InputText.XML.Light.CursorText.XML.LightQNameqNameqURIqPrefix CDataKind CDataText CDataVerbatimCDataRawCData cdVerbatimcdDatacdLineAttrattrKeyattrValElementelName elAttribs elContentelLineContentElemTextCRefLine blank_name blank_cdata blank_element $fOrdQName $fEqQName $fEqCDataKind$fShowCDataKind$fDataCDataKind $fShowCData $fDataCData $fShowQName $fDataQName$fEqAttr $fOrdAttr $fShowAttr $fDataAttr $fShowElement $fDataElement $fShowContent $fDataContent strContent onlyElems elChildrenonlyText findChildrenfilterChildrenfilterChildrenName findChild filterChildfilterChildName findElement filterElementfilterElementName findElementsfilterElementsfilterElementsNamefindAttr lookupAttr lookupAttrBy findAttrByConfigPP xml_headerdefaultConfigPPuseShortEmptyTagsuseExtraWhiteSpaceprettyConfigPP ppTopElement ppElement ppContent ppcTopElement ppcElement ppcContentshowTopElement showContent showElement showCDatatagEndshowAttr showQNameTxtTxtBitCRefBitTokenTokStartTokEndTokCRefTokTextLStringLCharScanner XmlSourceuncons linenumber customScannertokenstokens'specialqualNametagattribsattribattr_val dropSpacestringbreak'breakn decode_attr decode_text cref_to_charnum_esccvt_char$fXmlSourceText$fXmlSourceText0$fXmlSourceByteString$fXmlSourceByteString0 $fXmlSource[]$fXmlSourceScanner $fShowToken $fShowTxt parseXMLDocparseXMLCursorCurcurrentleftsrightsparentsPathTagtagName tagAttribstagLinegetTagsetTagfromTagparentrootleftright firstChild lastChildfindLeft findRightnextDFfindRecgetChild fromContent fromElement fromForesttoTreetoForestisRootisFirstisLastisLeafisChild getNodeIndex hasChildren setContent modifyContentmodifyContentM insertLeft insertRight removeLeft removeRight insertGoLeft insertGoRight removeGoLeft removeGoRight removeGoUp $fShowTag $fShowCursorNodenodeadd_attr add_attrsunqualunode$fNode[] $fNode(,) $fNode(,)0 $fNodeCData $fNode[]0 $fNode(,)1 $fNode(,)2 $fNode(,)3 $fNodeElement $fNode[]1 $fNode(,)4 $fNode(,)5 $fNode(,)6 $fNode(,)7 $fNode(,)8 $fNodeContent $fNode[]2$fNode() $fNodeAttr $fNode[]3 $fNode(,)9 ppContentS showCDataS downParents splitChildren combChildren