This file is indexed.

/usr/share/doc/libghc-haxml-doc/html/Text-XML-HaXml-Combinators.html is in libghc-haxml-doc 1:1.23.3-2build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Text.XML.HaXml.Combinators</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Text-XML-HaXml-Combinators.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Text-XML-HaXml-Combinators.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">HaXml-1.23.3: Utilities for manipulating XML documents</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr></table><p class="caption">Text.XML.HaXml.Combinators</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The content filter type.
</a></li><li><a href="#g:2">Simple filters.
</a><ul><li><a href="#g:3">Selection filters.
</a></li><li><a href="#g:4">Predicate filters.
</a></li><li><a href="#g:5">Search filters.
</a></li></ul></li><li><a href="#g:6">Filter combinators
</a><ul><li><a href="#g:7">Basic combinators.
</a></li><li><a href="#g:8">Recursive search.
</a></li><li><a href="#g:9">Interior editing.
</a></li><li><a href="#g:10">Constructive filters.
</a></li></ul></li><li><a href="#g:11">C-like conditionals.
</a></li><li><a href="#g:12">Filters with labelled results.
</a><ul><li><a href="#g:13">Using and combining labelled filters.
</a></li><li><a href="#g:14">Some label-generating filters.
</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module defines the notion of filters and filter combinators
   for processing XML documents.
</p><p>These XML transformation combinators are described in the paper
   ``Haskell and XML: Generic Combinators or Type-Based Translation?''
   Malcolm Wallace and Colin Runciman, Proceedings ICFP'99.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:CFilter">CFilter</a> i = <a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i -&gt; [<a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i]</li><li class="src short"><a href="#v:keep">keep</a> ::  a -&gt; [a]</li><li class="src short"><a href="#v:none">none</a> ::  a -&gt; [b]</li><li class="src short"><a href="#v:children">children</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:childrenBy">childrenBy</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:position">position</a> ::  <a href="Text-XML-HaXml-Schema-PrimitiveTypes.html#t:Int">Int</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:elm">elm</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:txt">txt</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:tag">tag</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:attr">attr</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:attrval">attrval</a> ::  <a href="Text-XML-HaXml-Types.html#t:Attribute">Attribute</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:tagWith">tagWith</a> ::  (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:find">find</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:iffind">iffind</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:ifTxt">ifTxt</a> ::  (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:o">o</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:union">union</a> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</li><li class="src short"><a href="#v:cat">cat</a> ::  [a -&gt; [b]] -&gt; a -&gt; [b]</li><li class="src short"><a href="#v:andThen">andThen</a> ::  (a -&gt; c) -&gt; (c -&gt; a -&gt; b) -&gt; a -&gt; b</li><li class="src short"><a href="#v:-124--62--124-">(|&gt;|)</a> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</li><li class="src short"><a href="#v:with">with</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:without">without</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:-47--62-">(/&gt;)</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:-60--47-">(&lt;/)</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:et">et</a> ::  (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:path">path</a> ::  [<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i] -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:deep">deep</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:deepest">deepest</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:multi">multi</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:when">when</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:guards">guards</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:chip">chip</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:inplace">inplace</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:foldXml">foldXml</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:mkElem">mkElem</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; [<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i] -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:mkElemAttr">mkElemAttr</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>, <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i)] -&gt; [<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i] -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:literal">literal</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:cdata">cdata</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:replaceTag">replaceTag</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:replaceAttrs">replaceAttrs</a> ::  [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>)] -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><span class="keyword">data</span>  <a href="#t:ThenElse">ThenElse</a> a = a <a href="#v::-62-">:&gt;</a> a</li><li class="src short"><a href="#v:-63--62-">(?&gt;)</a> ::  (a -&gt; [b]) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:ThenElse">ThenElse</a> (a -&gt; [b]) -&gt; a -&gt; [b]</li><li class="src short"><span class="keyword">type</span> <a href="#t:LabelFilter">LabelFilter</a> i a = <a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i -&gt; [(a, <a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i)]</li><li class="src short"><a href="#v:oo">oo</a> ::  (a -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i a -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i</li><li class="src short"><a href="#v:x">x</a> ::  (<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i a) -&gt; (<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i b) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i (a, b)</li><li class="src short"><a href="#v:numbered">numbered</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i <a href="Text-XML-HaXml-Schema-PrimitiveTypes.html#t:Int">Int</a></li><li class="src short"><a href="#v:interspersed">interspersed</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:tagged">tagged</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:attributed">attributed</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:textlabelled">textlabelled</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>)</li><li class="src short"><a href="#v:extracted">extracted</a> ::  (<a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i -&gt; a) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i a</li></ul></div><div id="interface"><h1 id="g:1">The content filter type.
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:CFilter" class="def">CFilter</a> i = <a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i -&gt; [<a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i]<a href="src/Text-XML-HaXml-Combinators.html#CFilter" class="link">Source</a></p><div class="doc"><p>All document transformations are <em>content filters</em>.
   A filter takes a single XML <code><a href="Text-XML-HaXml-Types.html#t:Content">Content</a></code> value and returns a sequence
   of <code><a href="Text-XML-HaXml-Types.html#t:Content">Content</a></code> values, possibly empty.
</p></div></div><h1 id="g:2">Simple filters.
</h1><h2 id="g:3">Selection filters.
</h2><div class="doc"><p>In the algebra of combinators, <code>none</code> is the zero, and <code>keep</code> the identity.
 (They have a more general type than just CFilter.)
</p></div><div class="top"><p class="src"><a name="v:keep" class="def">keep</a> ::  a -&gt; [a]<a href="src/Text-XML-HaXml-Combinators.html#keep" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:none" class="def">none</a> ::  a -&gt; [b]<a href="src/Text-XML-HaXml-Combinators.html#none" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:children" class="def">children</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#children" class="link">Source</a></p><div class="doc"><p>Throw away current node, keep just the (unprocessed) children.
</p></div></div><div class="top"><p class="src"><a name="v:childrenBy" class="def">childrenBy</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#childrenBy" class="link">Source</a></p><div class="doc"><p>Process children using specified filters.
</p></div></div><div class="top"><p class="src"><a name="v:position" class="def">position</a> ::  <a href="Text-XML-HaXml-Schema-PrimitiveTypes.html#t:Int">Int</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#position" class="link">Source</a></p><div class="doc"><p>Select the <code>n</code>'th positional result of a filter.
</p></div></div><h2 id="g:4">Predicate filters.
</h2><div class="doc"><p>These filters either keep or throw away some content based on
 a simple test.  For instance, <code>elm</code> keeps only a tagged element,
 <code>txt</code> keeps only non-element text, <code>tag</code> keeps only an element
 with the named tag, <code>attr</code> keeps only an element with the named
 attribute, <code>attrval</code> keeps only an element with the given
 attribute value, <code>tagWith</code> keeps only an element whose tag name
 satisfies the given predicate.
</p></div><div class="top"><p class="src"><a name="v:elm" class="def">elm</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#elm" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:txt" class="def">txt</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#txt" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:tag" class="def">tag</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#tag" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:attr" class="def">attr</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#attr" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:attrval" class="def">attrval</a> ::  <a href="Text-XML-HaXml-Types.html#t:Attribute">Attribute</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#attrval" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:tagWith" class="def">tagWith</a> ::  (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#tagWith" class="link">Source</a></p></div><h2 id="g:5">Search filters.
</h2><div class="top"><p class="src"><a name="v:find" class="def">find</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#find" class="link">Source</a></p><div class="doc"><p>For a mandatory attribute field, <code>find key cont</code> looks up the value of
   the attribute name <code>key</code>, and applies the continuation <code>cont</code> to
   the value.
</p></div></div><div class="top"><p class="src"><a name="v:iffind" class="def">iffind</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#iffind" class="link">Source</a></p><div class="doc"><p>When an attribute field may be absent, use <code>iffind key yes no</code> to lookup
   its value.  If the attribute is absent, it acts as the <code>no</code> filter,
   otherwise it applies the <code>yes</code> filter.
</p></div></div><div class="top"><p class="src"><a name="v:ifTxt" class="def">ifTxt</a> ::  (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#ifTxt" class="link">Source</a></p><div class="doc"><p><code>ifTxt yes no</code> processes any textual content with the <code>yes</code> filter,
   but otherwise is the same as the <code>no</code> filter.
</p></div></div><h1 id="g:6">Filter combinators
</h1><h2 id="g:7">Basic combinators.
</h2><div class="top"><p class="src"><a name="v:o" class="def">o</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#o" class="link">Source</a></p><div class="doc"><p>Sequential (<em>Irish</em>,<em>backwards</em>) composition
</p></div></div><div class="top"><p class="src"><a name="v:union" class="def">union</a> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]<a href="src/Text-XML-HaXml-Combinators.html#union" class="link">Source</a></p><div class="doc"><p>Binary parallel composition.  Each filter uses a copy of the input,
 rather than one filter using the result of the other.
   (Has a more general type than just CFilter.)
</p></div></div><div class="top"><p class="src"><a name="v:cat" class="def">cat</a> ::  [a -&gt; [b]] -&gt; a -&gt; [b]<a href="src/Text-XML-HaXml-Combinators.html#cat" class="link">Source</a></p><div class="doc"><p>Glue a list of filters together.  (A list version of union;
   also has a more general type than just CFilter.)
</p></div></div><div class="top"><p class="src"><a name="v:andThen" class="def">andThen</a> ::  (a -&gt; c) -&gt; (c -&gt; a -&gt; b) -&gt; a -&gt; b<a href="src/Text-XML-HaXml-Combinators.html#andThen" class="link">Source</a></p><div class="doc"><p>A special form of filter composition where the second filter
   works over the same data as the first, but also uses the
   first's result.
</p></div></div><div class="top"><p class="src"><a name="v:-124--62--124-" class="def">(|&gt;|)</a> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]<a href="src/Text-XML-HaXml-Combinators.html#%7C%3E%7C" class="link">Source</a></p><div class="doc"><p>Directional choice:
   in <code>f |&gt;| g</code> give g-productions only if no f-productions
</p></div></div><div class="top"><p class="src"><a name="v:with" class="def">with</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#with" class="link">Source</a></p><div class="doc"><p>Pruning: in <code>f <code><a href="Text-XML-HaXml-Combinators.html#v:with">with</a></code> g</code>,
   keep only those f-productions which have at least one g-production
</p></div></div><div class="top"><p class="src"><a name="v:without" class="def">without</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#without" class="link">Source</a></p><div class="doc"><p>Pruning: in <code>f <code><a href="Text-XML-HaXml-Combinators.html#v:without">without</a></code> g</code>,
   keep only those f-productions which have no g-productions
</p></div></div><div class="top"><p class="src"><a name="v:-47--62-" class="def">(/&gt;)</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#%2F%3E" class="link">Source</a></p><div class="doc"><p>Pronounced <em>slash</em>, <code>f /&gt; g</code> means g inside f
</p></div></div><div class="top"><p class="src"><a name="v:-60--47-" class="def">(&lt;/)</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#%3C%2F" class="link">Source</a></p><div class="doc"><p>Pronounced <em>outside</em>, <code>f &lt;/ g</code> means f containing g
</p></div></div><div class="top"><p class="src"><a name="v:et" class="def">et</a> ::  (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#et" class="link">Source</a></p><div class="doc"><p>Join an element-matching filter with a text-only filter
</p></div></div><div class="top"><p class="src"><a name="v:path" class="def">path</a> ::  [<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i] -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#path" class="link">Source</a></p><div class="doc"><p>Express a list of filters like an XPath query, e.g.
   <code>path [children, tag &quot;name1&quot;, attr &quot;attr1&quot;, children, tag &quot;name2&quot;]</code>
   is like the XPath query <code>/name1[@attr1]/name2</code>.
</p></div></div><h2 id="g:8">Recursive search.
</h2><div class="doc"><p>Recursive search has three variants: <code>deep</code> does a breadth-first
 search of the tree, <code>deepest</code> does a depth-first search, <code>multi</code> returns
 content at all tree-levels, even those strictly contained within results
 that have already been returned.
</p></div><div class="top"><p class="src"><a name="v:deep" class="def">deep</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#deep" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:deepest" class="def">deepest</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#deepest" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:multi" class="def">multi</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#multi" class="link">Source</a></p></div><h2 id="g:9">Interior editing.
</h2><div class="top"><p class="src"><a name="v:when" class="def">when</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#when" class="link">Source</a></p><div class="doc"><p>Interior editing:
   <code>f <code><a href="Text-XML-HaXml-Combinators.html#v:when">when</a></code> g</code> applies <code>f</code> only when the predicate <code>g</code> succeeds,
   otherwise the content is unchanged.
</p></div></div><div class="top"><p class="src"><a name="v:guards" class="def">guards</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#guards" class="link">Source</a></p><div class="doc"><p>Interior editing:
   <code>g <code><a href="Text-XML-HaXml-Combinators.html#v:guards">guards</a></code> f</code> applies <code>f</code> only when the predicate <code>g</code> succeeds,
   otherwise the content is discarded.
</p></div></div><div class="top"><p class="src"><a name="v:chip" class="def">chip</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#chip" class="link">Source</a></p><div class="doc"><p>Process CHildren In Place.  The filter is applied to any children
   of an element content, and the element rebuilt around the results.
</p></div></div><div class="top"><p class="src"><a name="v:inplace" class="def">inplace</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#inplace" class="link">Source</a></p><div class="doc"><p>Process an element In Place.  The filter is applied to the element
   itself, and then the original element rebuilt around the results.
</p></div></div><div class="top"><p class="src"><a name="v:foldXml" class="def">foldXml</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#foldXml" class="link">Source</a></p><div class="doc"><p>Recursive application of filters: a fold-like operator.  Defined
   as <code>f <code><a href="Text-XML-HaXml-Combinators.html#v:o">o</a></code> chip (foldXml f)</code>.
</p></div></div><h2 id="g:10">Constructive filters.
</h2><div class="top"><p class="src"><a name="v:mkElem" class="def">mkElem</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; [<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i] -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#mkElem" class="link">Source</a></p><div class="doc"><p>Build an element with the given tag name - its content is the results
   of the given list of filters.
</p></div></div><div class="top"><p class="src"><a name="v:mkElemAttr" class="def">mkElemAttr</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>, <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i)] -&gt; [<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i] -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#mkElemAttr" class="link">Source</a></p><div class="doc"><p>Build an element with the given name, attributes, and content.
</p></div></div><div class="top"><p class="src"><a name="v:literal" class="def">literal</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#literal" class="link">Source</a></p><div class="doc"><p>Build some textual content.
</p></div></div><div class="top"><p class="src"><a name="v:cdata" class="def">cdata</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#cdata" class="link">Source</a></p><div class="doc"><p>Build some CDATA content.
</p></div></div><div class="top"><p class="src"><a name="v:replaceTag" class="def">replaceTag</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#replaceTag" class="link">Source</a></p><div class="doc"><p>Rename an element tag (leaving attributes in place).
</p></div></div><div class="top"><p class="src"><a name="v:replaceAttrs" class="def">replaceAttrs</a> ::  [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>)] -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#replaceAttrs" class="link">Source</a></p><div class="doc"><p>Replace the attributes of an element (leaving tag the same).
</p></div></div><h1 id="g:11">C-like conditionals.
</h1><div class="doc"><p>These definitions provide C-like conditionals, lifted to the filter level.
</p><p>The <code>(cond ? yes : no)</code> style in C becomes <code>(cond ?&gt; yes :&gt; no)</code> in Haskell.
</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ThenElse" class="def">ThenElse</a> a <a href="src/Text-XML-HaXml-Combinators.html#ThenElse" class="link">Source</a></p><div class="doc"><p>Conjoin the two branches of a conditional.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src">a <a name="v::-62-" class="def">:&gt;</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:-63--62-" class="def">(?&gt;)</a> ::  (a -&gt; [b]) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:ThenElse">ThenElse</a> (a -&gt; [b]) -&gt; a -&gt; [b]<a href="src/Text-XML-HaXml-Combinators.html#%3F%3E" class="link">Source</a></p><div class="doc"><p>Select between the two branches of a joined conditional.
</p></div></div><h1 id="g:12">Filters with labelled results.
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LabelFilter" class="def">LabelFilter</a> i a = <a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i -&gt; [(a, <a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i)]<a href="src/Text-XML-HaXml-Combinators.html#LabelFilter" class="link">Source</a></p><div class="doc"><p>A LabelFilter is like a CFilter except that it pairs up a polymorphic
   value (label) with each of its results.
</p></div></div><h2 id="g:13">Using and combining labelled filters.
</h2><div class="top"><p class="src"><a name="v:oo" class="def">oo</a> ::  (a -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i a -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i<a href="src/Text-XML-HaXml-Combinators.html#oo" class="link">Source</a></p><div class="doc"><p>Compose a label-processing filter with a label-generating filter.
</p></div></div><div class="top"><p class="src"><a name="v:x" class="def">x</a> ::  (<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i a) -&gt; (<a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i b) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i (a, b)<a href="src/Text-XML-HaXml-Combinators.html#x" class="link">Source</a></p><div class="doc"><p>Combine labels.  Think of this as a pair-wise zip on labels.
   e.g. <code>(numbered <code><a href="Text-XML-HaXml-Combinators.html#v:x">x</a></code> tagged)</code>
</p></div></div><h2 id="g:14">Some label-generating filters.
</h2><div class="top"><p class="src"><a name="v:numbered" class="def">numbered</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i <a href="Text-XML-HaXml-Schema-PrimitiveTypes.html#t:Int">Int</a><a href="src/Text-XML-HaXml-Combinators.html#numbered" class="link">Source</a></p><div class="doc"><p>Number the results from 1 upwards.
</p></div></div><div class="top"><p class="src"><a name="v:interspersed" class="def">interspersed</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a><a href="src/Text-XML-HaXml-Combinators.html#interspersed" class="link">Source</a></p><div class="doc"><p>In <code>interspersed a f b</code>, label each result of <code>f</code> with the string <code>a</code>,
   except for the last one which is labelled with the string <code>b</code>.
</p></div></div><div class="top"><p class="src"><a name="v:tagged" class="def">tagged</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a><a href="src/Text-XML-HaXml-Combinators.html#tagged" class="link">Source</a></p><div class="doc"><p>Label each element in the result with its tag name.  Non-element
   results get an empty string label.
</p></div></div><div class="top"><p class="src"><a name="v:attributed" class="def">attributed</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a><a href="src/Text-XML-HaXml-Combinators.html#attributed" class="link">Source</a></p><div class="doc"><p>Label each element in the result with the value of the named attribute.
   Elements without the attribute, and non-element results, get an
   empty string label.
</p></div></div><div class="top"><p class="src"><a name="v:textlabelled" class="def">textlabelled</a> ::  <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a>)<a href="src/Text-XML-HaXml-Combinators.html#textlabelled" class="link">Source</a></p><div class="doc"><p>Label each textual part of the result with its text.  Element
   results get an empty string label.
</p></div></div><div class="top"><p class="src"><a name="v:extracted" class="def">extracted</a> ::  (<a href="Text-XML-HaXml-Types.html#t:Content">Content</a> i -&gt; a) -&gt; <a href="Text-XML-HaXml-Combinators.html#t:CFilter">CFilter</a> i -&gt; <a href="Text-XML-HaXml-Combinators.html#t:LabelFilter">LabelFilter</a> i a<a href="src/Text-XML-HaXml-Combinators.html#extracted" class="link">Source</a></p><div class="doc"><p>Label each content with some information extracted from itself.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.13.2</p></div></body></html>