~ubuntu-branches/ubuntu/trusty/pxp/trusty

« back to all changes in this revision

Viewing changes to doc/manual/html/ref/Pxp_event.html

  • Committer: Package Import Robot
  • Author(s): Stéphane Glondu
  • Date: 2013-07-11 11:21:26 UTC
  • mfrom: (6.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20130711112126-5wysiuf0cgjo376r
Tags: 1.2.4-1
* Team upload
* New upstream release
* Update Vcs-*

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
<title>PXP Reference : Pxp_event</title>
43
43
</head>
44
44
<body>
45
 
<div class="navbar"><a href="Pxp_ev_parser.html">Previous</a>
46
 
&nbsp;<a href="index.html">Up</a>
47
 
&nbsp;<a href="Pxp_dtd_parser.html">Next</a>
 
45
<div class="navbar"><a class="pre" href="Pxp_ev_parser.html" title="Pxp_ev_parser">Previous</a>
 
46
&nbsp;<a class="up" href="index.html" title="Index">Up</a>
 
47
&nbsp;<a class="post" href="Pxp_dtd_parser.html" title="Pxp_dtd_parser">Next</a>
48
48
</div>
49
 
<center><h1>Module <a href="type_Pxp_event.html">Pxp_event</a></h1></center>
50
 
<br>
 
49
<h1>Module <a href="type_Pxp_event.html">Pxp_event</a></h1>
51
50
<pre><span class="keyword">module</span> Pxp_event: <code class="code"><span class="keyword">sig</span></code> <a href="Pxp_event.html">..</a> <code class="code"><span class="keyword">end</span></code></pre>Dealing with events (for pull parsing)<br>
52
51
<hr width="100%">
53
52
<br>
87
86
<p>
88
87
 
89
88
 Example:
90
 
 <pre></pre><code class="code">&nbsp;<span class="keyword">let</span>&nbsp;l&nbsp;=&nbsp;[&nbsp;<span class="constructor">E_pinstr</span>;&nbsp;<span class="constructor">E_start_tag</span>;&nbsp;<span class="constructor">E_data</span>;&nbsp;<span class="constructor">E_start_tag</span>;&nbsp;<span class="constructor">E_end_tag</span>;<br>
 
89
 <code class="code">&nbsp;<span class="keyword">let</span>&nbsp;l&nbsp;=&nbsp;[&nbsp;<span class="constructor">E_pinstr</span>;&nbsp;<span class="constructor">E_start_tag</span>;&nbsp;<span class="constructor">E_data</span>;&nbsp;<span class="constructor">E_start_tag</span>;&nbsp;<span class="constructor">E_end_tag</span>;<br>
91
90
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">E_comment</span>;&nbsp;<span class="constructor">E_end_tag</span>;&nbsp;<span class="constructor">E_data</span>&nbsp;];;<br>
92
91
&nbsp;<span class="keyword">let</span>&nbsp;g&nbsp;=&nbsp;of_list&nbsp;l;;<br>
93
92
&nbsp;g();;<br>
99
98
&nbsp;g'();;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;returns&nbsp;None,&nbsp;end&nbsp;of&nbsp;subexpression&nbsp;*)</span><br>
100
99
&nbsp;g();;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;returns&nbsp;Some&nbsp;E_data&nbsp;*)</span><br>
101
100
&nbsp;g();;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;returns&nbsp;None&nbsp;*)</span><br>
102
 
&nbsp;</code><pre></pre><br>
 
101
&nbsp;</code><br>
103
102
</div>
104
103
<br>
105
104
<span id="2_Filters"><h2>Filters</h2></span><br>
146
145
<p>
147
146
 
148
147
 Example: Remove comments:
149
 
 <pre></pre><code class="code">&nbsp;pfilter&nbsp;(<span class="keyword">function</span>&nbsp;<span class="constructor">E_comment</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keyword">false</span>&nbsp;<span class="keywordsign">|</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keyword">true</span>)&nbsp;g&nbsp;</code><pre></pre><br>
 
148
 <code class="code">&nbsp;pfilter&nbsp;(<span class="keyword">function</span>&nbsp;<span class="constructor">E_comment</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keyword">false</span>&nbsp;<span class="keywordsign">|</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keyword">true</span>)&nbsp;g&nbsp;</code><br>
150
149
</div>
151
150
<pre><span id="VALunwrap_document"><span class="keyword">val</span> unwrap_document</span> : <code class="type"><a href="Pxp_event.html#TYPEpull_fn">pull_fn</a> -> (unit -> string * <a href="Pxp_dtd.dtd-c.html">Pxp_dtd.dtd</a>) * <a href="Pxp_event.html#TYPEpull_fn">pull_fn</a></code></pre><div class="info">
152
151
This filter removes the document wrapping from the stream
154
153
      It is called like
155
154
<p>
156
155
 
157
 
      <pre></pre><code class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;(get_doc_details,&nbsp;next')&nbsp;=&nbsp;unwrap_document&nbsp;next<br>
 
156
      <code class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;(get_doc_details,&nbsp;next')&nbsp;=&nbsp;unwrap_document&nbsp;next<br>
158
157
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;(version,&nbsp;dtd)&nbsp;=&nbsp;get_doc_details()<br>
159
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><pre></pre>
 
158
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>
160
159
<p>
161
160
 
162
161
      The returned <code class="code">filter</code> removes any <code class="code"><span class="constructor">E_start_doc</span></code>, <code class="code"><span class="constructor">E_end_doc</span></code>,
188
187
<span id="2_Printingeventstreams"><h2>Printing event streams</h2></span><br>
189
188
<pre><span id="TYPEdtd_style"><span class="keyword">type</span> <code class="type"></code>dtd_style</span> = <code class="type">[ `Ignore | `Include | `Reference ]</code> </pre>
190
189
 
191
 
<pre><span id="VALwrite_events"><span class="keyword">val</span> write_events</span> : <code class="type">?default:string -><br>       ?dtd_style:<a href="Pxp_event.html#TYPEdtd_style">dtd_style</a> -><br>       ?minimization:[ `AllEmpty | `None ] -><br>       Pxp_types.output_stream -><br>       Pxp_types.encoding -><br>       Pxp_types.rep_encoding -> (unit -> <a href="Pxp_types.html#TYPEevent">Pxp_types.event</a> option) -> unit</code></pre><div class="info">
 
190
<pre><span id="VALwrite_events"><span class="keyword">val</span> write_events</span> : <code class="type">?default:string -><br>       ?dtd_style:<a href="Pxp_event.html#TYPEdtd_style">dtd_style</a> -><br>       ?minimization:[ `AllEmpty | `None ] -><br>       <a href="Pxp_types.html#TYPEoutput_stream">Pxp_types.output_stream</a> -><br>       <a href="Pxp_types.html#TYPEencoding">Pxp_types.encoding</a> -><br>       <a href="Pxp_types.html#TYPErep_encoding">Pxp_types.rep_encoding</a> -> (unit -> <a href="Pxp_types.html#TYPEevent">Pxp_types.event</a> option) -> unit</code></pre><div class="info">
192
191
Writes the events to the <code class="code">output_stream</code>. The events must be encoded
193
192
 as indicated by the <code class="code">rep_encoding</code> argument, but the output is written
194
193
 as specified by the <code class="code">encoding</code> argument.
212
211
 means that all empty elements are minimized (using the <code class="code">&lt;name/&gt;</code>
213
212
 form). <code class="code"><span class="keywordsign">`</span><span class="constructor">None</span></code> does not minimize at all and is the default.<br>
214
213
</div>
215
 
<pre><span id="VALdisplay_events"><span class="keyword">val</span> display_events</span> : <code class="type">?dtd_style:<a href="Pxp_event.html#TYPEdtd_style">dtd_style</a> -><br>       ?minimization:[ `AllEmpty | `None ] -><br>       Pxp_types.output_stream -><br>       Pxp_types.encoding -><br>       Pxp_types.rep_encoding -> (unit -> <a href="Pxp_types.html#TYPEevent">Pxp_types.event</a> option) -> unit</code></pre><div class="info">
 
214
<pre><span id="VALdisplay_events"><span class="keyword">val</span> display_events</span> : <code class="type">?dtd_style:<a href="Pxp_event.html#TYPEdtd_style">dtd_style</a> -><br>       ?minimization:[ `AllEmpty | `None ] -><br>       <a href="Pxp_types.html#TYPEoutput_stream">Pxp_types.output_stream</a> -><br>       <a href="Pxp_types.html#TYPEencoding">Pxp_types.encoding</a> -><br>       <a href="Pxp_types.html#TYPErep_encoding">Pxp_types.rep_encoding</a> -> (unit -> <a href="Pxp_types.html#TYPEevent">Pxp_types.event</a> option) -> unit</code></pre><div class="info">
216
215
Writes the events to the <code class="code">output_stream</code>. The events must be encoded
217
216
 as indicated by the <code class="code">rep_encoding</code> argument, but the output is written
218
217
 as specified by the <code class="code">encoding</code> argument.