Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > contrib-release > by-pkgid > 51057bcd013d992f61ce4c2b0a4565e3 > files > 169

haskell-hxt-8.3.2-1mdv2010.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Text.XML.HXT.Arrow.XPath</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Text-XML-HXT-Arrow-XPath.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>hxt-8.3.2: A collection of tools for processing XML with Haskell.</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Text.XML.HXT.Arrow.XPath</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>portable</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>Uwe Schmidt (uwe@fh-wedel.de)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>Arrows for working with XPath and XmlNodeSets.
</P
><P
>Most of the XPath arrows come in two versions,
   one without dealing with namespaces, element and attribute names
   in XPath expressions are taken as they ar ignoring any prefix:localname structure.
</P
><P
>The second variant uses a namespace environment for associating the right
   namespace for the appropriate prefix. an entry for the empty prefix
   defines the default namespace for the expression.
</P
><P
>The second variant should be used, when in the application namespaces
   are significant, that means when namespace propagation is done for
   the documents to be processed.
</P
><P
>NodeSets are sets of &quot;pointer&quot; into an XML tree to reference
   subnodes. These nodesets can be computed by XPath expressions or
   normal arrows. The nodesets can then be used later for selecting
   or modifying subtrees of this tree in an efficient way.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetXPathTreesInDoc"
>getXPathTreesInDoc</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetXPathTreesInDocWithNsEnv"
>getXPathTreesInDocWithNsEnv</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
>Attributes</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetXPathTrees"
>getXPathTrees</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetXPathTreesWithNsEnv"
>getXPathTreesWithNsEnv</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
>Attributes</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetElemNodeSet"
>getElemNodeSet</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetElemAndAttrNodeSet"
>getElemAndAttrNodeSet</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetXPathNodeSet"
>getXPathNodeSet</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetFromNodeSet"
>getFromNodeSet</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprocessXPathTrees"
>processXPathTrees</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprocessXPathTreesWithNsEnv"
>processXPathTreesWithNsEnv</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
>Attributes</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprocessFromNodeSet"
>processFromNodeSet</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getXPathTreesInDoc"
><A NAME="v%3AgetXPathTreesInDoc"
></A
></A
><B
>getXPathTreesInDoc</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Select parts of a whole XML document with root node by a XPath expression.
</P
><P
>The main filter for selecting parts of a document via XPath.
</P
><P
>The string argument must be a XPath expression with an absolute location path,
 the argument tree must be a complete document tree.
</P
><P
>Before evaluating the xpath query, the document is canonicalized
 with <TT
><A HREF="Text-XML-HXT-Arrow-Edit.html#v%3AcanonicalizeForXPath"
>canonicalizeForXPath</A
></TT
>
</P
><P
>Result is a possibly empty list of XmlTrees forming the set of selected XPath values.
 XPath values other than XmlTrees (numbers, attributes, tagnames, ...)
 are convertet to text nodes.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getXPathTreesInDocWithNsEnv"
><A NAME="v%3AgetXPathTreesInDocWithNsEnv"
></A
></A
><B
>getXPathTreesInDocWithNsEnv</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
>Attributes</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="doc"
>Same as <TT
><A HREF="Text-XML-HXT-Arrow-XPath.html#v%3AgetXPathTreesInDoc"
>getXPathTreesInDoc</A
></TT
> but with namespace environment for the XPath names
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getXPathTrees"
><A NAME="v%3AgetXPathTrees"
></A
></A
><B
>getXPathTrees</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Select parts of an arbitrary XML tree by a XPath expression.
</P
><P
>The main filter for selecting parts of an arbitrary XML tree via XPath.
 The string argument must be a XPath expression with an absolute location path,
 There are no restrictions on the argument tree.
</P
><P
>No canonicalization is performed before evaluating the query
</P
><P
>Result is a possibly empty list of XmlTrees forming the set of selected XPath values.
 XPath values other than XmlTrees (numbers, attributes, tagnames, ...)
 are convertet to text nodes.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getXPathTreesWithNsEnv"
><A NAME="v%3AgetXPathTreesWithNsEnv"
></A
></A
><B
>getXPathTreesWithNsEnv</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
>Attributes</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="doc"
>Same as <TT
><A HREF="Text-XML-HXT-Arrow-XPath.html#v%3AgetXPathTrees"
>getXPathTrees</A
></TT
> but with namespace environment for the XPath names
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getElemNodeSet"
><A NAME="v%3AgetElemNodeSet"
></A
></A
><B
>getElemNodeSet</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>compute a node set from a tree, containing all nodes selected by the predicate arrow
</P
><P
>computation of the set of element nodes with name &quot;a&quot; is done with
</P
><PRE
> getElemNodeSet (hasName &quot;a&quot;)
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getElemAndAttrNodeSet"
><A NAME="v%3AgetElemAndAttrNodeSet"
></A
></A
><B
>getElemAndAttrNodeSet</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
></TD
></TR
><TR
><TD CLASS="doc"
>compute a node set from a tree, containing all nodes including attribute nodes
 elected by the predicate arrow
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getXPathNodeSet"
><A NAME="v%3AgetXPathNodeSet"
></A
></A
><B
>getXPathNodeSet</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Select a set of nodes via an XPath expression from an arbitray XML tree
</P
><P
>The result is a set of &quot;pointers&quot; to nodes. This set can be used to
 access or modify the values of the subnodes in subsequent calls to <TT
><A HREF="Text-XML-HXT-Arrow-XPath.html#v%3AgetFromNodeSet"
>getFromNodeSet</A
></TT
> or <TT
><A HREF="Text-XML-HXT-Arrow-XPath.html#v%3AprocessFromNodeSet"
>processFromNodeSet</A
></TT
>.
</P
><P
>This function enables for parsing an XPath expressions and traversing the tree for node selection once
 and reuse this result possibly many times for later selection and modification operations.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getFromNodeSet"
><A NAME="v%3AgetFromNodeSet"
></A
></A
><B
>getFromNodeSet</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>select all subtrees specified by a previously computed node set
</P
><P
>the following law holds:
</P
><PRE
> getFromNodeSet $&lt; getElemNodeSet f == multi f
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:processXPathTrees"
><A NAME="v%3AprocessXPathTrees"
></A
></A
><B
>processXPathTrees</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>process all subtrees selected by an XPath expression
</P
><P
>the following law holds:
</P
><PRE
> processXPathTrees p xpathExpr == processFromNodeSet p $&lt; getXPathNodeSet xpathExpr
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:processXPathTreesWithNsEnv"
><A NAME="v%3AprocessXPathTreesWithNsEnv"
></A
></A
><B
>processXPathTreesWithNsEnv</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
>Attributes</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="doc"
>Same as <TT
><A HREF="Text-XML-HXT-Arrow-XPath.html#v%3AprocessXPathTrees"
>processXPathTrees</A
></TT
> but with namespace environment for the XPath names
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:processFromNodeSet"
><A NAME="v%3AprocessFromNodeSet"
></A
></A
><B
>processFromNodeSet</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a =&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> -&gt; <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlNodeSet"
>XmlNodeSet</A
> -&gt; a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>process all subtrees specified by a previously computed node set in bottom up manner
</P
><P
>the follwoing law holds:
</P
><PRE
> processFromNodeSet g $&lt; getElemNodeSet f == processBottomUp (g `when` f)
</PRE
><P
>when attributes are contained in the node set (see <TT
><A HREF="Text-XML-HXT-Arrow-XPath.html#v%3AgetElemAndAttrNodeSet"
>getElemAndAttrNodeSet</A
></TT
>), these are processed
 after the children and before the node itself
</P
><P
>the advantage of processFromNodeSet is the separation of the selection of set of nodes to be processed (e.g. modified)
 from the real proccessing. The selection sometimes can be done once, the processing possibly many times.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.5.0</TD
></TR
></TABLE
></BODY
></HTML
>