Modified: jmeter/trunk/docs/usermanual/functions.html
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/docs/usermanual/functions.html?rev=1664961&r1=1664960&r2=1664961&view=diff
==============================================================================
--- jmeter/trunk/docs/usermanual/functions.html (original)
+++ jmeter/trunk/docs/usermanual/functions.html Sun Mar  8 10:22:58 2015
@@ -1,1922 +1,425 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-
-<!-- Content Stylesheet for Site -->
-
-
-<!-- start the processing -->
-<html>
-<head>
-<link rel="stylesheet" type="text/css" href="../css/style.css"/>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-
-<title>Apache JMeter - User's Manual: Functions and Variables</title>
-</head>
-
-<body bgcolor="#ffffff" text="#000000" link="#525D76">
-<table width="100%" cellspacing="0" border="0">
-<tr>
-<td width="90%" align="left">
-<table border="0" cellspacing="0">
-<tr>
-<td width="10%">
-<a href="http://www.apache.org";><img title="Apache Software Foundation" 
width="290" height="75" src="../images/asf-logo.png" border="0"/></a>
-</td>
-<td align="left" width="40%">
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<a href="http://jmeter.apache.org/";><img width="182" height="88" 
src="../images/logo.jpg" alt="Apache JMeter" title="Apache JMeter" 
border="0"/></a>
-</td>
-</tr>
-</table>
-</td>
-<td align="left" width="50%">
-<table cellspacing="0" align="right" border="0">
-<tr>
-<td align="left"> <a href="https://twitter.com/share";
-class="twitter-share-button"
-data-text="Powerful Load Testing with
-Apache #JMeter" data-via="ApacheJMeter"
-data-lang="en-gb" data-size="large">Tweet</a>
-<script>!function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
 'script', 'twitter-wjs');</script>
-</td>
-<td align="right"> <a
-href="https://twitter.com/ApacheJMeter";
-class="twitter-follow-button"
-data-show-count="false" data-lang="en-gb"
-data-size="large">Follow</a>
-<script>!function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
 'script', 'twitter-wjs');</script>
-</td>
-</tr>
-</table>
-</td></tr>
-</table>
-
-<table border="0" width="100%" cellspacing="4">
-<tr><td colspan="2">
-<hr noshade size="1"/>
-</td></tr>
-<tr>
-<!-- LEFT SIDE NAVIGATION -->
-<td width="20%" valign="top" nowrap="true">
-<table border="0" width="100%" cellspacing="0">
-<tr><td>
-<p><strong>About</strong></p>
-<ul>
-<li><a href="../index.html">Overview</a>
-</li>
-<li><a href="http://twitter.com/ApacheJMeter";>JMeter on Twitter</a>
-<img src="../images/twitter.png" align="top"/></li>
-<li><a href="../issues.html">Issue Tracking</a>
-</li>
-<li><a href="http://projects.apache.org/feeds/rss/jmeter.xml";>Subscribe to 
What's New</a>
-</li>
-<li><a href="http://www.apache.org/licenses/";>License</a>
-</li>
-</ul>
-<p><strong>Download</strong></p>
-<ul>
-<li><a href="../download_jmeter.cgi">Download Releases</a>
-</li>
-<li><a href="../nightly.html">Developer (Nightly) Builds</a>
-</li>
-</ul>
-<p><strong>Documentation</strong></p>
-<ul>
-<li><a href="../changes.html">Changes per version</a>
-</li>
-<li><a href="../usermanual/get-started.html">Get Started</a>
-</li>
-<li><a href="../usermanual/index.html">User Manual</a>
-</li>
-<li><a href="../usermanual/best-practices.html">Best Practices</a>
-</li>
-<li><a href="../usermanual/component_reference.html">Component Reference</a>
-</li>
-<li><a href="../usermanual/functions.html">Functions Reference</a>
-</li>
-<li><a href="../api/index.html">Javadocs</a>
-</li>
-<li><a href="../building.html">Building JMeter and Add-Ons</a>
-</li>
-<li><a href="http://wiki.apache.org/jmeter";>JMeter Wiki</a>
-</li>
-<li><a href="http://wiki.apache.org/jmeter/JMeterFAQ";>FAQ (Wiki)</a>
-</li>
-</ul>
-<p><strong>Tutorials (PDF format)</strong></p>
-<ul>
-<li><a 
href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed 
Testing</a>
-</li>
-<li><a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a>
-</li>
-<li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a>
-</li>
-<li><a href="../usermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access 
Log Sampler</a>
-</li>
-<li><a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a>
-</li>
-</ul>
-<p><strong>Community</strong></p>
-<ul>
-<li><a href="http://wiki.apache.org/jmeter/JMeterCommitters";>Contributors</a>
-</li>
-<li><a href="../mail.html">Mailing Lists</a>
-</li>
-<li><a href="../svnindex.html">SVN Repositories</a>
-</li>
-</ul>
-<p><strong>Foundation</strong></p>
-<ul>
-<li><a href="http://www.apache.org/";>ASF</a>
-</li>
-<li><a href="http://www.apache.org/foundation/getinvolved.html";>Get Involved 
in the ASF</a>
-</li>
-<li><a href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
-</li>
-<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
-</li>
-</ul>
-</td></tr>
-<tr><td>
-<iframe src="http://www.apache.org/ads/button.html"; style="border-width:0; 
float: left;" frameborder="0" scrolling="no"></iframe>
-</td></tr>
-</table>
-</td>
-<td width="80%" align="left" valign="top">
-<table>
-<tr>
-<td bgcolor="#525D76">
-<div align="right"><a href="index.html"><font size=-1 color="#ffffff" 
face="arial,helvetica,sanserif">Index</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="regular_expressions.html"><font size=-1 
color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="component_reference.html"><font size=-1 
color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
-</td>
-</tr>
-</table>
-<br>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#525D76">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="functions"><strong>19. Functions and Variables</strong></a><a 
class="sectionlink" href="#functions" title="Link to here">&para;</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
+<!DOCTYPE html SYSTEM "about:legacy-compat">
+<html lang="en"><head><META http-equiv="Content-Type" content="text/html; 
charset=iso-8859-15"><title>Apache JMeter
+          -
+          User's Manual: Functions and Variables</title><meta name="viewport" 
content="width=device-width, initial-scale=1"><link 
href="http://fonts.googleapis.com/css?family=Merriweather:400normal"; 
rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" 
href="../css/new-style.css"></head><body role="document"><a href="#content" 
class="hidden">Main content</a><div class="header"><!--
+            APACHE LOGO
+          --><div><a href="http://www.apache.org";><img title="Apache Software 
Foundation" width="290" height="75" src="../images/asf-logo.png" alt="Logo 
ASF"></a></div><!--
+              PROJECT LOGO
+            --><div><a href="http://jmeter.apache.org/";><img 
src="../images/logo.jpg" alt="Apache JMeter"></a></div><div 
class="twitter"><div><a href="https://twitter.com/share"; 
class="twitter-share-button" data-text="Powerful Load Testing with Apache 
#JMeter" data-via="ApacheJMeter" data-lang="en-gb" 
data-size="large">Tweet</a><script>
+            (function(d,s,id){
+              var js,
+                  fjs=d.getElementsByTagName(s)[0],
+                  p=/^http:/.test(d.location)?'http':'https';
+              if (!d.getElementById(id)) {
+                  js=d.createElement(s);
+                  js.id=id;
+                  js.src=p+'://platform.twitter.com/widgets.js';
+                  fjs.parentNode.insertBefore(js,fjs);
+              }
+            })(document, 'script', 'twitter-wjs');
+              </script></div><div><a href="https://twitter.com/ApacheJMeter"; 
class="twitter-follow-button" data-show-count="false" data-lang="en-gb" 
data-size="large">Follow</a><script>(function(d,s,id){
+                var js,
+                    fjs=d.getElementsByTagName(s)[0],
+                    p=/^http:/.test(d.location)?'http':'https';
+                if (!d.getElementById(id)) {
+                    js=d.createElement(s);
+                    js.id=id;
+                    js.src=p+'://platform.twitter.com/widgets.js';
+                    fjs.parentNode.insertBefore(js,fjs);
+                }
+            })(document, 'script', 'twitter-wjs');
+              </script></div></div><div class="banner"><iframe 
src="http://www.apache.org/ads/bannerbar.html"; style="border-width:0;" 
frameborder="0" scrolling="no"></iframe><div 
class="clear"></div></div></div><div class="nav"><ul class="menu"><li><div 
class="menu-title">About</div><ul><li><a 
href="../index.html">Overview</a></li><li><a 
href="http://twitter.com/ApacheJMeter";>JMeter on Twitter<img 
src="../images/twitter.png" alt="Icon for JMeter on Twitter"></a></li><li><a 
href="../issues.html">Issue Tracking</a></li><li><a 
href="http://projects.apache.org/feeds/rss/jmeter.xml";>Subscribe to What's 
New</a></li><li><a 
href="http://www.apache.org/licenses/";>License</a></li></ul></li></ul><ul 
class="menu"><li><div class="menu-title">Download</div><ul><li><a 
href="../download_jmeter.cgi">Download Releases</a></li><li><a 
href="../nightly.html">Developer (Nightly) Builds</a></li></ul></li></ul><ul 
class="menu"><li><div class="menu-title">Documentation</div><ul><li><a 
href="../changes.html"
 >Changes per version</a></li><li><a href="../usermanual/get-started.html">Get 
 >Started</a></li><li><a href="../usermanual/index.html">User 
 >Manual</a></li><li><a href="../usermanual/best-practices.html">Best 
 >Practices</a></li><li><a 
 >href="../usermanual/component_reference.html">Component 
 >Reference</a></li><li><a href="../usermanual/functions.html">Functions 
 >Reference</a></li><li><a href="../api/index.html">Javadocs</a></li><li><a 
 >href="../building.html">Building JMeter and Add-Ons</a></li><li><a 
 >href="http://wiki.apache.org/jmeter";>JMeter Wiki</a></li><li><a 
 >href="http://wiki.apache.org/jmeter/JMeterFAQ";>FAQ 
 >(Wiki)</a></li></ul></li></ul><ul class="menu"><li><div 
 >class="menu-title">Tutorials (PDF format)</div><ul><li><a 
 >href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed 
 >Testing</a></li><li><a 
 >href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording 
 >Tests</a></li><li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit 
 >Sampler</a></li><li><a href="../us
 ermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log 
Sampler</a></li><li><a href="../extending/jmeter_tutorial.pdf">Extending 
JMeter</a></li></ul></li></ul><ul class="menu"><li><div 
class="menu-title">Community</div><ul><li><a 
href="http://wiki.apache.org/jmeter/JMeterCommitters";>Contributors</a></li><li><a
 href="../mail.html">Mailing Lists</a></li><li><a href="../svnindex.html">SVN 
Repositories</a></li></ul></li></ul><ul class="menu"><li><div 
class="menu-title">Foundation</div><ul><li><a 
href="http://www.apache.org/";>ASF</a></li><li><a 
href="http://www.apache.org/foundation/getinvolved.html";>Get Involved in the 
ASF</a></li><li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></li></ul></div><div
 class="main" id="content"><ul class="pagelinks"><li><a 
href="component_reference.html">&lt; Prev</a></li><li><a 
href="../index.html">Index</a></li><li><a href="regular_exp
 ressions.html">Next &gt;</a></li></ul><div class="section"><h1 
id="functions">19. Functions and Variables<a class="sectionlink" 
href="#functions" title="Link to here">&para;</a></h1>
 <p>
-
 JMeter functions are special values that can populate fields of any Sampler or 
other
-element in a test tree.  A function call looks like this:
-</p>
-<p>
-<code>
-${__functionName(var1,var2,var3)}
-</code>
-</p>
-<p>
+element in a test tree.  A function call looks like this:</p>
 
-Where "__functionName" matches the name of a function.
+<p><span class="code">${__functionName(var1,var2,var3)}</span></p>
 
+<p>
+Where "__functionName" matches the name of a function.
 <br>
-
-
 Parentheses surround the parameters sent to the function, for example 
${__time(YMD)}
 The actual parameters vary from function to function.  
 Functions that require no parameters can leave off the parentheses, for 
example ${__threadNum}.
-
 </p>
-<p>
 
+<p>
 If a function parameter contains a comma, then be sure to escape this with 
"\", otherwise JMeter will treat it as a parameter delimiter.
 For example:
-
 <pre>
-
 ${__time(EEE\, d MMM yyyy)}
-
 </pre>
-
-If the comma is not escaped - e.g. 
-<code>
-${__javaScript(Math.max(2,5))}
-</code>
- - you will get an error such as:
-
+If the comma is not escaped - e.g. <span 
class="code">${__javaScript(Math.max(2,5))}</span> - you will get an error such 
as:
 <pre>
-
 ERROR - jmeter.functions.JavaScript: Error processing Javascript: [Math.max(2]
-    org.mozilla.javascript.EvaluatorException: missing ) after argument list 
(<cmd>#1)
- 
-</pre>
-
- This is because the string "Math.max(2,5)" is treated as being two parameters 
to the __javascript function:
-<br>
-
-
- 
-<code>
-Math.max(2
-</code>
- and 
-<code>
-5)
-</code>
-<br>
-
-
+    org.mozilla.javascript.EvaluatorException: missing ) after argument list 
(&lt;cmd&gt;#1)
+ </pre>
+ This is because the string "Math.max(2,5)" is treated as being two parameters 
to the __javascript function:<br>
+ <span class="code">Math.max(2</span> and <span class="code">5)</span><br>
  Other error messages are possible. 
-
 </p>
-<p>
-Variables are referenced as follows:
-
+<p>Variables are referenced as follows:
 <pre>
-
 ${VARIABLE}
-
 </pre>
-
-
 </p>
 <p>
-
-
 <b>
-
 If an undefined function or variable is referenced, JMeter does not report/log 
an error - the reference is returned unchanged.
 For example if UNDEF is not defined as a variable, then the value of ${UNDEF} 
is ${UNDEF}.
-
 </b>
-
 Variables, functions (and properties) are all case-sensitive.
-
 <b>
-
 Versions of JMeter after 2.3.1 trim spaces from variable names before use, so 
for example
 ${__Random(1,63, LOTTERY )} will use the variable 'LOTTERY' rather than ' 
LOTTERY '.
-
 </b>
-
-
 </p>
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>
+<div class="clear"></div><div class="note">
 Properties are not the same as variables.
 Variables are local to a thread; properties are common to all threads,
 and need to be referenced using the __P or __property function.
-
-</td></tr>
-</table>
-</p>
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>
+</div><div class="clear"></div>
+<div class="clear"></div><div class="note">
 When using \ before a variable for a windows path for example C:\test\${test}, 
ensure you escape the \ otherwise JMeter will not interpret the variable, 
example:
 C:\\test\\${test}.
-
-<br>
-
- 
+<br> 
 Alternatively, just use / instead for the path separator - e.g. 
C:/test/${test} - Windows JVMs will convert the separators as necessary.
-
-</td></tr>
-</table>
-</p>
-<p>
-List of functions, loosely grouped into types.
-</p>
+</div><div class="clear"></div>
+<p>List of functions, loosely grouped into types.</p>
 <table>
-<tr>
-<td bgcolor="#039acc"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Type of function
-</font>
-</td>
-<td bgcolor="#039acc"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Name
-</font>
-</td>
-<td bgcolor="#039acc"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Comment
-</font>
-</td>
-<td bgcolor="#039acc"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Since
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Information
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__threadNum">threadNum</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-get thread number
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.X
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Information
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__samplerName">samplerName</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-get the sampler name (label)
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.5
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Information
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__machineIP">machineIP</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-get the local machine IP address
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.6
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Information
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__machineName">machineName</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-get the local machine name
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.X
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Information
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__time">time</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-return current time in various formats
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.2
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Information
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__log">log</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-log (or display) a message (and return the value)
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.2
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Information
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__logn">logn</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-log (or display) a message (empty return value)
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.2
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Input
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__StringFromFile">StringFromFile</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-read a line from a file
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.9
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Input
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__FileToString">FileToString</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-read an entire file
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.4
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Input
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__CSVRead">CSVRead</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-read from CSV delimited file
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.9
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Input
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__XPath">XPath</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Use an XPath expression to read from a file
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.0.3
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Calculation
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__counter">counter</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-generate an incrementing number
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.X
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Calculation
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__intSum">intSum</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-add int numbers
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.8.1
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Calculation
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__longSum">longSum</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-add long numbers
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.3.2
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Calculation
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__Random">Random</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-generate a random number
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.9
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Calculation
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__RandomString">RandomString</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-generate a random string
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.6
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Calculation
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__UUID">UUID</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-generate a random type 4 UUID
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.9
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Scripting
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__BeanShell">BeanShell</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-run a BeanShell script
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.X
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Scripting
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__javaScript">javaScript</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-process JavaScript (Mozilla Rhino)
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.9
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Scripting
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__jexl">jexl, jexl2</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-evaluate a Commons Jexl expression
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-jexl(2.2), jexl2(2.6)
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Properties
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__property">property</a> 
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-read a property
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.0
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Properties
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__P">P</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-read a property (shorthand method)
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.0
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Properties
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__setProperty">setProperty</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-set a JMeter property
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.1
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Variables
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__split">split</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Split a string into variables
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.0.2
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Variables
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__V">V</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-evaluate a variable name
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.3RC3
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Variables
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__eval">eval</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-evaluate a variable expression
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.3.1
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Variables
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__evalVar">evalVar</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-evaluate an expression stored in a variable
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.3.1
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__regexFunction">regexFunction</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-parse previous response using a regular expression
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-1.X
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__escapeOroRegexpChars">escapeOroRegexpChars</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-quote meta chars used by ORO regular expression
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.9
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__char">char</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-generate Unicode char values from a list of numbers
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.3.3
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__unescape">unescape</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Process strings containing Java escapes (e.g. \n &amp; \t)
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.3.3
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__unescapeHtml">unescapeHtml</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Decode HTML-encoded strings
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.3.3
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__escapeHtml">escapeHtml</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Encode strings using HTML encoding
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.3.3
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__urldecode">urldecode</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Decode a application/x-www-form-urlencoded string
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.10
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__urlencode">urlencode</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Encode a string to a application/x-www-form-urlencoded string
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.10
-</font>
-</td>
-</tr>
-<tr>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-String
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <a href="#__TestPlanName">TestPlanName</a>
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-Return name of current test plan
-</font>
-</td>
-<td bgcolor="#a0ddf0"   valign="top" align="left">
-<font color="#000000" size="-1" face="arial,helvetica,sanserif">
-2.6
-</font>
-</td>
-</tr>
-</table>
-<p>
-</p>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="what_can_do"><strong>19.1 What can functions do</strong></a>
-<a class="sectionlink" href="#what_can_do" title="Link to 
here">&para;</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-There are two kinds of functions: user-defined static values (or variables), 
and built-in functions.
-<br>
-
-
+        
+        <tr><th>Type of 
function</th><th>Name</th><th>Comment</th><th>Since</th></tr>
+        
+        <tr><td>Information</td><td> <a 
href="#__threadNum">threadNum</a></td><td>get thread 
number</td><td>1.X</td></tr>
+        <tr><td>Information</td><td> <a 
href="#__samplerName">samplerName</a></td><td>get the sampler name 
(label)</td><td>2.5</td></tr>
+        <tr><td>Information</td><td> <a 
href="#__machineIP">machineIP</a></td><td>get the local machine IP 
address</td><td>2.6</td></tr>
+        <tr><td>Information</td><td> <a 
href="#__machineName">machineName</a></td><td>get the local machine 
name</td><td>1.X</td></tr>
+        <tr><td>Information</td><td> <a href="#__time">time</a></td><td>return 
current time in various formats</td><td>2.2</td></tr>
+        <tr><td>Information</td><td> <a href="#__log">log</a></td><td>log (or 
display) a message (and return the value)</td><td>2.2</td></tr>
+        <tr><td>Information</td><td> <a href="#__logn">logn</a></td><td>log 
(or display) a message (empty return value)</td><td>2.2</td></tr>
+        <tr><td>Input</td><td> <a 
href="#__StringFromFile">StringFromFile</a></td><td>read a line from a 
file</td><td>1.9</td></tr>
+        <tr><td>Input</td><td> <a 
href="#__FileToString">FileToString</a></td><td>read an entire 
file</td><td>2.4</td></tr>
+        <tr><td>Input</td><td> <a href="#__CSVRead">CSVRead</a></td><td>read 
from CSV delimited file</td><td>1.9</td></tr>
+        <tr><td>Input</td><td> <a href="#__XPath">XPath</a></td><td>Use an 
XPath expression to read from a file</td><td>2.0.3</td></tr>
+        <tr><td>Calculation</td><td> <a 
href="#__counter">counter</a></td><td>generate an incrementing 
number</td><td>1.X</td></tr>
+        <tr><td>Calculation</td><td> <a 
href="#__intSum">intSum</a></td><td>add int numbers</td><td>1.8.1</td></tr>
+        <tr><td>Calculation</td><td> <a 
href="#__longSum">longSum</a></td><td>add long numbers</td><td>2.3.2</td></tr>
+        <tr><td>Calculation</td><td> <a 
href="#__Random">Random</a></td><td>generate a random 
number</td><td>1.9</td></tr>
+        <tr><td>Calculation</td><td> <a 
href="#__RandomString">RandomString</a></td><td>generate a random 
string</td><td>2.6</td></tr>
+        <tr><td>Calculation</td><td> <a 
href="#__UUID">UUID</a></td><td>generate a random type 4 
UUID</td><td>2.9</td></tr>
+        <tr><td>Scripting</td><td> <a 
href="#__BeanShell">BeanShell</a></td><td>run a BeanShell 
script</td><td>1.X</td></tr>
+        <tr><td>Scripting</td><td> <a 
href="#__javaScript">javaScript</a></td><td>process JavaScript (Mozilla 
Rhino)</td><td>1.9</td></tr>
+        <tr><td>Scripting</td><td> <a href="#__jexl">jexl, 
jexl2</a></td><td>evaluate a Commons Jexl expression</td><td>jexl(2.2), 
jexl2(2.6)</td></tr>
+        <tr><td>Properties</td><td> <a href="#__property">property</a> 
</td><td>read a property</td><td>2.0</td></tr>
+        <tr><td>Properties</td><td> <a href="#__P">P</a></td><td>read a 
property (shorthand method)</td><td>2.0</td></tr>
+        <tr><td>Properties</td><td> <a 
href="#__setProperty">setProperty</a></td><td>set a JMeter 
property</td><td>2.1</td></tr>
+        <tr><td>Variables</td><td> <a href="#__split">split</a></td><td>Split 
a string into variables</td><td>2.0.2</td></tr>
+        <tr><td>Variables</td><td> <a href="#__V">V</a></td><td>evaluate a 
variable name</td><td>2.3RC3</td></tr>
+        <tr><td>Variables</td><td> <a href="#__eval">eval</a></td><td>evaluate 
a variable expression</td><td>2.3.1</td></tr>
+        <tr><td>Variables</td><td> <a 
href="#__evalVar">evalVar</a></td><td>evaluate an expression stored in a 
variable</td><td>2.3.1</td></tr>
+        <tr><td>String</td><td> <a 
href="#__regexFunction">regexFunction</a></td><td>parse previous response using 
a regular expression</td><td>1.X</td></tr>
+        <tr><td>String</td><td> <a 
href="#__escapeOroRegexpChars">escapeOroRegexpChars</a></td><td>quote meta 
chars used by ORO regular expression</td><td>2.9</td></tr>
+        <tr><td>String</td><td> <a href="#__char">char</a></td><td>generate 
Unicode char values from a list of numbers</td><td>2.3.3</td></tr>
+        <tr><td>String</td><td> <a 
href="#__unescape">unescape</a></td><td>Process strings containing Java escapes 
(e.g. \n & \t)</td><td>2.3.3</td></tr>
+        <tr><td>String</td><td> <a 
href="#__unescapeHtml">unescapeHtml</a></td><td>Decode HTML-encoded 
strings</td><td>2.3.3</td></tr>
+        <tr><td>String</td><td> <a 
href="#__escapeHtml">escapeHtml</a></td><td>Encode strings using HTML 
encoding</td><td>2.3.3</td></tr>
+        <tr><td>String</td><td> <a 
href="#__urldecode">urldecode</a></td><td>Decode a 
application/x-www-form-urlencoded string</td><td>2.10</td></tr>
+        <tr><td>String</td><td> <a 
href="#__urlencode">urlencode</a></td><td>Encode a string to a 
application/x-www-form-urlencoded string</td><td>2.10</td></tr>
+        <tr><td>String</td><td> <a 
href="#__TestPlanName">TestPlanName</a></td><td>Return name of current test 
plan</td><td>2.6</td></tr>
+</table>
+<p></p>
+<div class="subsection"><h2>19.1 What can functions do<a class="sectionlink" 
href="#what_can_do" title="Link to here">&para;</a></h2>
+<p>There are two kinds of functions: user-defined static values (or 
variables), and built-in functions.<br>
 User-defined static values allow the user to define variables to be replaced 
with their static value when
 a test tree is compiled and submitted to be run.  This replacement happens 
once at the beginning of the test
 run.  This could be used to replace the DOMAIN field of all HTTP requests, for 
example - making it a simple 
 matter to change a test to target a different server with the same test.
-
 </p>
 <p>
-
 Note that variables cannot currently be nested; i.e ${Var${N}} does not work.
 The __V (variable) function (versions after 2.2) can be used to do this: 
${__V(Var${N})}.
 In earlier JMeter versions one can use ${__BeanShell(vars.get("Var${N}")}.
-
 </p>
-<p>
-This type of replacement is possible without functions, but was less 
convenient and less intuitive.
+<p>This type of replacement is possible without functions, but was less 
convenient and less intuitive.
 It required users to create default config elements that would fill in blank 
values of Samplers.
-Variables allow one to replace only part of any given value, not just filling 
in blank values.
-</p>
+Variables allow one to replace only part of any given value, not just filling 
in blank values.</p>
 <p>
-
 With built-in functions users can compute new values at run-time based on 
previous response data, which
 thread the function is in, the time, and many other sources.  These values are 
generated fresh for every
-request throughout the course of the test. 
-</p>
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>Functions are shared between threads. 
-Each occurrence of a function call in a test plan is handled by a separate 
function instance.
-</td></tr>
-</table>
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="where"><strong>19.2 Where can functions and variables be 
used?</strong></a>
-<a class="sectionlink" href="#where" title="Link to here">&para;</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
+request throughout the course of the test. </p>
+<div class="clear"></div><div class="note">Functions are shared between 
threads. 
+Each occurrence of a function call in a test plan is handled by a separate 
function instance.</div><div class="clear"></div>
+</div>
 
+<div class="subsection"><h2>19.2 Where can functions and variables be used?<a 
class="sectionlink" href="#where" title="Link to here">&para;</a></h2>
+<p>
 Functions and variables can be written into any field of any test component 
(apart from the TestPlan - see below).
 Some fields do not allow random strings 
 because they are expecting numbers, and thus will not accept a function.  
However, most fields will allow
 functions.
-
 </p>
 <p>
-
 Functions which are used on the Test Plan have some restrictions.
 JMeter thread variables will have not been fully set up when the functions are 
processed, 
 so variable names passed as parameters will not be set up, and variable 
references will not work, 
 so split() and regex() and the variable evaluation functions won't work. 
 The threadNum() function won't work (and does not make sense at test plan 
level).
 The following functions should work OK on the test plan:
-
 <ul>
-
-
-<li>
-intSum
-</li>
-
-
-<li>
-longSum
-</li>
-
-
-<li>
-machineName
-</li>
-
-
-<li>
-BeanShell
-</li>
-
-
-<li>
-javaScript
-</li>
-
-
-<li>
-jexl
-</li>
-
-
-<li>
-random
-</li>
-
-
-<li>
-time
-</li>
-
-
-<li>
-property functions
-</li>
-
-
-<li>
-log functions
-</li>
-
-
+<li>intSum</li>
+<li>longSum</li>
+<li>machineName</li>
+<li>BeanShell</li>
+<li>javaScript</li>
+<li>jexl</li>
+<li>random</li>
+<li>time</li>
+<li>property functions</li>
+<li>log functions</li>
 </ul>
-
-
 </p>
 <p>
-
 Configuration elements are processed by a separate thread.
 Therefore functions such as __threadNum do not work properly in elements such 
as User Defined Variables.
 Also note that variables defined in a UDV element are not available until the 
element has been processed.
-
 </p>
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>When using variable/function references in SQL code (etc),
+<div class="clear"></div><div class="note">When using variable/function 
references in SQL code (etc),
 remember to include any necessary quotes for text strings,
-i.e. use
-<br>
-
-
+i.e. use<br>
 SELECT item from table where name='${VAR}'
-
-<br>
-
-<b>
-not
-</b>
-
-
+<br><b>not</b>
 <br>
-
-
 SELECT item from table where name=${VAR}
+<br>(unless VAR itself contains the quotes)
+</div><div class="clear"></div>
+</div>
 
-<br>
-
-(unless VAR itself contains the quotes)
-
-</td></tr>
-</table>
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="how"><strong>19.3 How to reference variables and 
functions</strong></a>
-<a class="sectionlink" href="#how" title="Link to here">&para;</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-Referencing a variable in a test element is done by bracketing the variable 
name with '${' and '}'.
-</p>
-<p>
-Functions are referenced in the same manner, but by convention, the names of
-functions begin with "__" to avoid conflict with user value names
-<sup>
-*
-</sup>
-.  Some functions take arguments to
+<div class="subsection"><h2>19.3 How to reference variables and functions<a 
class="sectionlink" href="#how" title="Link to here">&para;</a></h2>
+<p>Referencing a variable in a test element is done by bracketing the variable 
name with '${' and '}'.</p>
+<p>Functions are referenced in the same manner, but by convention, the names of
+functions begin with "__" to avoid conflict with user value names<sup>*</sup>. 
 Some functions take arguments to
 configure them, and these go in parentheses, comma-delimited.  If the function 
takes no arguments, the parentheses can
-be omitted.
-</p>
-<p>
-<b>
-Argument values that themselves contain commas should be escaped as necessary.
-If you need to include a comma in your parameter value, escape it like so: 
'\,'.
-</b>
+be omitted.</p>
 
+<p><b>Argument values that themselves contain commas should be escaped as 
necessary.
+If you need to include a comma in your parameter value, escape it like so: 
'\,'.</b>
 This applies for example to the scripting functions - Javascript, Beanshell, 
Jexl - where it is necessary to escape any commas
 that may be needed in script method calls - e.g.
-
 </p>
 <pre>
-
     ${__BeanShell(vars.put("name"\,"value"))}
-
 </pre>
 <p>
-
 Alternatively, you can define your script as a variable, e.g. on the Test Plan:
-
-<pre>
-SCRIPT          vars.put("name","value")
-</pre>
-
+<pre>SCRIPT          vars.put("name","value")</pre>
 The script can then be referenced as follows:
-
-<pre>
-${__BeanShell(${SCRIPT})}
-</pre>
-
+<pre>${__BeanShell(${SCRIPT})}</pre>
 There is no need to escape commas in the SCRIPT variable because the function 
call is parsed before the variable is replaced with its value.
 This works well in conjunction with the BSF or BeanShell Samplers, as these 
can be used to test Javascript, Jexl and BeanShell scripts.
-
 </p>
 <p>
-
 Functions can reference variables and other functions, for example 
-
-<code>
-${__XPath(${__P(xpath.file),${XPATH})}
-</code>
- 
+<span class="code">${__XPath(${__P(xpath.file),${XPATH})}</span> 
 will use the property "xpath.file" as the file name
 and the contents of the variable XPATH as the expression to search for.
-
 </p>
 <p>
-
 JMeter provides a tool to help you construct
 function calls for various built-in functions, which you can then copy-paste. 
 It will not automatically escape values for you, since functions can be 
parameters to other functions, and you should only escape values you intend as 
literal.
-
 </p>
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>
+<div class="clear"></div><div class="note">
 If a string contains a backslash('\') and also contains a function or variable 
reference, the backslash will be removed if
 it appears before '$' or ',' or '\'.
 This behaviour is necessary to allow for nested functions that include commas 
or the string ${.
 Backslashes before '$' or ',' or '\' are not removed if the string does not 
contain a function or variable reference. 
-
-</td></tr>
-</table>
-</p>
+</div><div class="clear"></div>
 <p>
-
-
-<b>
-The value of a variable or function can be reported
-</b>
- using the 
-<a href="#__logn">
-__logn()
-</a>
- function.
+<b>The value of a variable or function can be reported</b> using the <a 
href="#__logn">__logn()</a> function.
 The __logn() function reference can be used anywhere in the test plan after 
the variable has been defined.
 Alternatively, the Java Request sampler can be used to create a sample 
containing variable references;
 the output will be shown in the appropriate Listener.
-For versions of JMeter later than 2.3, there is a 
-<a href="../usermanual/component_reference.html#Debug_Sampler">Debug 
Sampler</a>
- 
+For versions of JMeter later than 2.3, there is a <a 
href="../usermanual/component_reference.html#Debug_Sampler">Debug Sampler</a> 
 that can be used to display the values of variables etc in the Tree View 
Listener.
-
-</p>
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td><sup>
-*
-</sup>
-If you define a user-defined static variable with the same name as a built-in 
function, your static
-variable will override the built-in function.
-</td></tr>
-</table>
 </p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="function_helper"><strong>19.4 The Function Helper Dialog</strong></a>
-<a class="sectionlink" href="#function_helper" title="Link to 
here">&para;</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<p>
-The Function Helper dialog is available from JMeter's Tools menu.
-</p>
-<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='667' 
height='326' src="../images/screenshots/function_helper_dialog.png"/><br>
-<font size="-1">Function Helper Dialog
-</font></td></tr></table></p>
-<p>
-Using the Function Helper, you can select a function from the pull down, and 
assign
+<div class="clear"></div><div class="note"><sup>*</sup>If you define a 
user-defined static variable with the same name as a built-in function, your 
static
+variable will override the built-in function.</div><div class="clear"></div>
+</div>
+
+<div class="subsection"><h2>19.4 The Function Helper Dialog<a 
class="sectionlink" href="#function_helper" title="Link to here">&para;</a></h2>
+<p>The Function Helper dialog is available from JMeter's Tools menu.</p>
+<figure><a href="../images/screenshots/function_helper_dialog.png"><img 
src="../images/screenshots/function_helper_dialog.png" width="831" height="305" 
alt="Function Helper Dialog"></a><figcaption>Function Helper 
Dialog</figcaption></figure>
+<p>Using the Function Helper, you can select a function from the pull down, 
and assign
 values for its arguments.  The left column in the table provides a brief 
description of the
 argument, and the right column is where you write in the value for that 
argument.  Different
-functions take different arguments.
-</p>
-<p>
-Once you have done this, click the "generate" button, and the appropriate 
string is generated
-for you to copy-paste into your test plan wherever you like.
-</p>
-</blockquote>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#828DA6">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="functions"><strong>19.5 Functions</strong></a>
-<a class="sectionlink" href="#functions" title="Link to here">&para;</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="__regexFunction">19.5.1 __regexFunction</a>
-<a class="sectionlink" href="#__regexFunction" title="Link to 
here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-<p>
-The Regex Function is used to parse the previous response (or the value of a 
variable) using any regular
-expression (provided by user).  The function returns the template string with 
variable values filled
-in.
-</p>
+functions take different arguments.</p>
+<p>Once you have done this, click the "generate" button, and the appropriate 
string is generated
+for you to copy-paste into your test plan wherever you like.</p>
+</div>
 
+<div class="subsection"><h2>19.5 Functions<a class="sectionlink" 
href="#functions" title="Link to here">&para;</a></h2>
 
-<p>
-The __regexFunction can also store values for future use.  In the sixth 
parameter, you can specify
+<div class="component"><h2 id="__regexFunction">__regexFunction<a 
class="sectionlink" href="#__regexFunction" title="Link to here">&para;</a></h2>
+<div class="description"><p>The Regex Function is used to parse the previous 
response (or the value of a variable) using any regular
+expression (provided by user).  The function returns the template string with 
variable values filled
+in.</p>
+<p>The __regexFunction can also store values for future use.  In the sixth 
parameter, you can specify
 a reference name.  After this function executes, the same values can be 
retrieved at later times
 using the syntax for user-defined values.  For instance, if you enter 
"refName" as the sixth
 parameter you will be able to use:
-
 <ul>
+<li>${refName} to refer to the computed result of the second parameter 
("Template for the
+replacement string") parsed by this function</li>
+<li>${refName_g0} to refer to the entire match  parsed by this function.</li>
+<li>${refName_g1} to refer to the first group parsed by this function.</li>
+<li>${refName_g#} to refer to the n<sup>th</sup> group parsed by this 
function.</li>
+<li>${refName_matchNr} to refer to the number of groups found by this 
function.</li>
+</ul>
+<div class="clear"></div><div class="note">If using distributed testing, 
ensure you switch mode (see jmeter.properties) so that it's not a stripping 
one, see <a href="http://bz.apache.org/bugzilla/show_bug.cgi?id=56376";>
+      Bug
+      56376</a></div><div class="clear"></div>
+</p>
+</div>
 
+<div class="properties"><h3 id="__regexFunction_parms1">
+        Parameters
+        <a class="sectionlink" href="#__regexFunction_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-true">First 
argument</div><div class="description req-true">The first argument is the 
regular expression
+        to be applied to the response data.  It will grab all matches.  Any 
parts of this expression
+        that you wish to use in your template string, be sure to surround in 
parentheses.  Example:
+        &lt;a href="(.*)"&gt;.  This will grab the value of the link and store 
it as the first group (there is
+        only 1 group).  Another example: &lt;input type="hidden" name="(.*)" 
value="(.*)"&gt;.  This will
+        grab the name as the first group, and the value as the second group.  
These values can be used
+        in your template string</div><div class="required 
req-true">Yes</div></div>
+        <div class="property"><div class="name req-true">Second 
argument</div><div class="description req-true">This is the template string 
that will replace
+        the function at run-time.  To refer to a group captured in the regular 
expression, use the syntax:
+        $[group_number]$.  Ie: $1$, or $2$.  Your template can be any 
string.</div><div class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-false">Third 
argument</div><div class="description req-false">The third argument tells 
JMeter which match
+        to use.  Your regular expression might find numerous matches.  You 
have four choices:
+                <ul><li>An integer - Tells JMeter to use that match.  '1' for 
the first found match, '2' for the
+                second, and so on</li>
+                <li>RAND - Tells JMeter to choose a match at random.</li>
+                <li>ALL - Tells JMeter to use all matches, and create a 
template string for each one and then
+                append them all together.  This option is little used.</li>
+                <li>A float number between 0 and 1 - tells JMeter to find the 
Xth match using the formula:
+                (number_of_matches_found * float_number) rounded to nearest 
integer.</li>
+                </ul></div><div class="required req-false">No, 
default=1</div></div>
+        <div class="property"><div class="name req-false">Fourth 
argument</div><div class="description req-false">If 'ALL' was selected for the 
above argument
+        value, then this argument will be inserted between each appended copy 
of the template value.</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Fifth 
argument</div><div class="description req-false">Default value returned if no 
match is found</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Sixth 
argument</div><div class="description req-false">A reference name for reusing 
the values parsed by this function.<br>
+        Stored values are ${refName} (the replacement template string) and 
${refName_g#} where "#" is the
+        group number from the regular expression ("0" can be used to refer to 
the entire match).</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Seventh 
argument</div><div class="description req-false">Input variable name. 
+        If specified, then the value of the variable is used as the input 
instead of using the previous sample result.
+        </div><div class="required req-false">No</div></div>
+</div>
+<div class="go-top"><a href="#">^</a></div></div>
 
-<li>
-${refName} to refer to the computed result of the second parameter ("Template 
for the
-replacement string") parsed by this function
-</li>
-
-
-<li>
-${refName_g0} to refer to the entire match  parsed by this function.
-</li>
-
-
-<li>
-${refName_g1} to refer to the first group parsed by this function.
-</li>
-
-
-<li>
-${refName_g#} to refer to the n
-<sup>
-th
-</sup>
- group parsed by this function.
-</li>
-
-
-<li>
-${refName_matchNr} to refer to the number of groups found by this function.
-</li>
-
-
-</ul>
-
-
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>If using distributed testing, ensure you switch mode (see 
jmeter.properties) so that it's not a stripping one, see 
-<a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=56376";>Bug 
56376</a>
-</td></tr>
-</table>
-</p>
-
-
-</p>
-
-
-<p>
-<b>Parameters</b>
-<a name="__regexFunction_parms"/>
-<a class="sectionlink" href="#__regexFunction_parms" title="Link to 
here">&para;</a><table border="1" cellspacing="0" cellpadding="2">
-<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-<tr>
-<td>First argument</td>
-<td>The first argument is the regular expression
-        to be applied to the response data.  It will grab all matches.  Any 
parts of this expression
-        that you wish to use in your template string, be sure to surround in 
parentheses.  Example:
-        &lt;a href="(.*)"&gt;.  This will grab the value of the link and store 
it as the first group (there is
-        only 1 group).  Another example: &lt;input type="hidden" name="(.*)" 
value="(.*)"&gt;.  This will
-        grab the name as the first group, and the value as the second group.  
These values can be used
-        in your template string
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Second argument</td>
-<td>This is the template string that will replace
-        the function at run-time.  To refer to a group captured in the regular 
expression, use the syntax:
-        $[group_number]$.  Ie: $1$, or $2$.  Your template can be any string.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Third argument</td>
-<td>The third argument tells JMeter which match
-        to use.  Your regular expression might find numerous matches.  You 
have four choices:
-                
-<ul>
-<li>
-An integer - Tells JMeter to use that match.  '1' for the first found match, 
'2' for the
-                second, and so on
-</li>
-
-                
-<li>
-RAND - Tells JMeter to choose a match at random.
-</li>
-
-                
-<li>
-ALL - Tells JMeter to use all matches, and create a template string for each 
one and then
-                append them all together.  This option is little used.
-</li>
-
-                
-<li>
-A float number between 0 and 1 - tells JMeter to find the Xth match using the 
formula:
-                (number_of_matches_found * float_number) rounded to nearest 
integer.
-</li>
-
-                
-</ul>
-</td>
-<td>
-No, default=1
-</td>
-</tr>
-<tr>
-<td>Fourth argument</td>
-<td>If 'ALL' was selected for the above argument
-        value, then this argument will be inserted between each appended copy 
of the template value.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Fifth argument</td>
-<td>Default value returned if no match is found
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Sixth argument</td>
-<td>A reference name for reusing the values parsed by this function.
-<br>
-
-
-        Stored values are ${refName} (the replacement template string) and 
${refName_g#} where "#" is the
-        group number from the regular expression ("0" can be used to refer to 
the entire match).
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Seventh argument</td>
-<td>Input variable name. 
-        If specified, then the value of the variable is used as the input 
instead of using the previous sample result.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-</table>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<hr>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="__counter">19.5.2 __counter</a>
-<a class="sectionlink" href="#__counter" title="Link to here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-<p>
-The counter generates a new number each time it is called, starting with 1
+<div class="component"><h2 id="__counter">__counter<a class="sectionlink" 
href="#__counter" title="Link to here">&para;</a></h2>
+<div class="description"><p>The counter generates a new number each time it is 
called, starting with 1
 and incrementing by +1 each time.  The counter can be configured to keep each 
simulated user's values
 separate, or to use the same counter for all users.  If each user's values is 
incremented separately,
 that is like counting the number of iterations through the test plan.  A 
global counter is like
 counting how many times that request was run.
-
-</p>
-
-
-<p>
-The counter uses an integer variable to hold the count, which therefore has a 
maximum of 2,147,483,647.
 </p>
-
-
-<p>
-The counter function instances are now completely independent. 
+<p>The counter uses an integer variable to hold the count, which therefore has 
a maximum of 2,147,483,647.</p>
+<p>The counter function instances are now completely independent. 
 [JMeter 2.1.1 and earlier used a fixed thread variable to keep track of the 
per-user count, 
 so multiple counter functions operated on the same value.] 
 The global counter - "FALSE" - is separately maintained by each counter 
instance.
-
 </p>
-
-
 <p>
-
-
 <b>
-
 Multiple __counter function calls in the same iteration won't increment the 
value further.
-
 </b>
-
-
 <br>
-
-
-If you want to have a count that increments for each sample, use the function 
in a Pre-Processor such as 
-<a href="../usermanual/component_reference.html#User_Parameters">User 
Parameters</a>
-.
-
+If you want to have a count that increments for each sample, use the function 
in a Pre-Processor such as <a 
href="../usermanual/component_reference.html#User_Parameters">User 
Parameters</a>.
 </p>
+</div>
+<div class="properties"><h3 id="__counter_parms1">
+        Parameters
+        <a class="sectionlink" href="#__counter_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-true">First 
argument</div><div class="description req-true">TRUE if you wish each simulated 
user's counter
+        to be kept independent and separate from the other users.  FALSE for a 
global counter.</div><div class="required req-true">Yes</div></div>
 
-
-<p>
-<b>Parameters</b>
-<a name="__counter_parms"/>
-<a class="sectionlink" href="#__counter_parms" title="Link to 
here">&para;</a><table border="1" cellspacing="0" cellpadding="2">
-<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-<tr>
-<td>First argument</td>
-<td>TRUE if you wish each simulated user's counter
-        to be kept independent and separate from the other users.  FALSE for a 
global counter.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Second argument</td>
-<td>A reference name for reusing the value created by this function.
-<br>
-
-
+<div class="property"><div class="name req-false">Second argument</div><div 
class="description req-false">A reference name for reusing the value created by 
this function.<br>
                 Stored values are of the form ${refName}.  This allows you to 
keep one counter and refer to its value in
-                multiple places. [For JMeter 2.1.1 and earlier this parameter 
was required.]
-</td>
-<td>
-No
-</td>
-</tr>
-</table>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<hr>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="__threadNum">19.5.3 __threadNum</a>
-<a class="sectionlink" href="#__threadNum" title="Link to here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-<p>
-The thread number function simply returns the number of the thread currently
-being executed.  These numbers are independent of ThreadGroup, meaning thread 
#1 in one threadgroup
-is indistinguishable from thread #1 in another threadgroup, from the point of 
view of this function.
-</p>
-
-
-
-<p>
-There are no arguments for this function.
-</p>
+                multiple places. [For JMeter 2.1.1 and earlier this parameter 
was required.]</div><div class="required req-false">No</div></div>
+</div>
+<div class="go-top"><a href="#">^</a></div></div>
 
+<div class="component"><h2 id="__threadNum">__threadNum<a class="sectionlink" 
href="#__threadNum" title="Link to here">&para;</a></h2>
+<div class="description"><p>The thread number function simply returns the 
number of the thread currently
+being executed.  These numbers are independent of ThreadGroup, meaning thread 
#1 in one threadgroup
+is indistinguishable from thread #1 in another threadgroup, from the point of 
view of this function.</p>
 
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>
+<p>There are no arguments for this function.</p>
+</div>
+<div class="clear"></div><div class="note">
 This function does not work in any Configuration elements (e.g. User Defined 
Variables) as these are run from a separate thread.
 Nor does it make sense to use it on the Test Plan.
+</div><div class="clear"></div>
+<div class="go-top"><a href="#">^</a></div></div>
 
-</td></tr>
-</table>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<hr>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="__intSum">19.5.4a __intSum</a>
-<a class="sectionlink" href="#__intSum" title="Link to here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-
-
+<div class="component"><h2 id="__intSum">__intSum<a class="sectionlink" 
href="#__intSum" title="Link to here">&para;</a></h2>
+<div class="description">
 <p>
-
 The intSum function can be used to compute the sum of two or more integer 
values.
-
 </p>
-
-
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>
+<div class="clear"></div><div class="note">
 JMeter Versions 2.3.1 and earlier required the reference name to be present.
 The reference name is now optional, but it must not be a valid integer.
+</div><div class="clear"></div>
+</div>
 
-</td></tr>
-</table>
-</p>
-
-
-<p>
-<b>Parameters</b>
-<a name="__intSum_parms"/>
-<a class="sectionlink" href="#__intSum_parms" title="Link to 
here">&para;</a><table border="1" cellspacing="0" cellpadding="2">
-<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-<tr>
-<td>First argument</td>
-<td>The first int value.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Second argument</td>
-<td>The second int value.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>nth argument</td>
-<td>The nth int value.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>last argument</td>
-<td>A reference name for reusing the value computed by this function. 
+<div class="properties"><h3 id="__intSum_parms1">
+        Parameters
+        <a class="sectionlink" href="#__intSum_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-true">First 
argument</div><div class="description req-true">The first int value.</div><div 
class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-true">Second 
argument</div><div class="description req-true">The second int value.</div><div 
class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-false">nth 
argument</div><div class="description req-false">The nth int value.</div><div 
class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">last 
argument</div><div class="description req-false">A reference name for reusing 
the value computed by this function. 
                 If specified, the reference name must contain at least one 
non-numeric character otherwise it will
                 be treated as another int value to be added.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-</table>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<hr>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="__longSum">19.5.4b __longSum</a>
-<a class="sectionlink" href="#__longSum" title="Link to here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-<p>
-The longSum function can be used to compute the sum of two or more long values.
+        </div><div class="required req-false">No</div></div>
+</div>
+<div class="go-top"><a href="#">^</a></div></div>
 
-</p>
-<p>
-<b>Parameters</b>
-<a name="__longSum_parms"/>
-<a class="sectionlink" href="#__longSum_parms" title="Link to 
here">&para;</a><table border="1" cellspacing="0" cellpadding="2">
-<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-<tr>
-<td>First argument</td>
-<td>The first long value.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Second argument</td>
-<td>The second long value.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>nth argument</td>
-<td>The nth long value.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>last argument</td>
-<td>A reference name for reusing the value computed by this function. 
+<div class="component"><h2 id="__longSum">__longSum<a class="sectionlink" 
href="#__longSum" title="Link to here">&para;</a></h2>
+<div class="description"><p>The longSum function can be used to compute the 
sum of two or more long values.
+</p></div>
+
+<div class="properties"><h3 id="__longSum_parms1">
+        Parameters
+        <a class="sectionlink" href="#__longSum_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-true">First 
argument</div><div class="description req-true">The first long value.</div><div 
class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-true">Second 
argument</div><div class="description req-true">The second long 
value.</div><div class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-false">nth 
argument</div><div class="description req-false">The nth long value.</div><div 
class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">last 
argument</div><div class="description req-false">A reference name for reusing 
the value computed by this function. 
                 If specified, the reference name must contain at least one 
non-numeric character otherwise it will
                 be treated as another long value to be added.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-</table>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<hr>
-<a name="_StringFromFile">
-</a>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="__StringFromFile">19.5.5 __StringFromFile</a>
-<a class="sectionlink" href="#__StringFromFile" title="Link to 
here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
+        </div><div class="required req-false">No</div></div>
+</div>
+<div class="go-top"><a href="#">^</a></div></div>
 
-    
-<p>
 
+<a name="_StringFromFile"></a>
+<div class="component"><h2 id="__StringFromFile">__StringFromFile<a 
class="sectionlink" href="#__StringFromFile" title="Link to 
here">&para;</a></h2>
+
+<div class="description">
+    <p>
     The StringFromFile function can be used to read strings from a text file. 
     This is useful for running tests that require lots of variable data.
     For example when testing a banking application, 100s or 1000s of different 
account numbers might be required.
-    
-</p>
-
-    
-<p>
-
+    </p>
+    <p>
     See also the 
-    
-<a href="component_reference.html#CSV_Data_Set_Config">
-CSV Data Set Config test element
-</a>
- 
+    <a href="component_reference.html#CSV_Data_Set_Config">CSV Data Set Config 
test element</a> 
     which may be easier to use. However, that does not currently support 
multiple input files.
-    
-</p>
-
-
-    
-<p>
+    </p>
 
+    <p>
     Each time it is called it reads the next line from the file.
     All threads share the same instance, so different threads will get 
different lines.
     When the end of the file is reached, it will start reading again from the 
beginning,
@@ -1924,1215 +427,428 @@ CSV Data Set Config test element
     If there are multiple references to the function in a test script, each 
will open the file independently,
     even if the file names are the same.
     [If the value is to be used again elsewhere, use different variable names 
for each function call.]
-    
-</p>
-
-    
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>
+    </p>
+    <div class="clear"></div><div class="note">
     Function instances are shared between threads, and the file is (re-)opened 
by whatever thread
     happens to need the next line of input, so using the threadNumber as part 
of the file name
     will result in unpredictable behaviour.
-    
-</td></tr>
-</table>
-</p>
-
-    
-<p>
-If an error occurs opening or reading the file, then the function returns the 
string "**ERR**"
-</p>
-
+    </div><div class="clear"></div>
+    <p>If an error occurs opening or reading the file, then the function 
returns the string "**ERR**"</p>
+</div>
 
-<p>
-<b>Parameters</b>
-<a name="__StringFromFile_parms"/>
-<a class="sectionlink" href="#__StringFromFile_parms" title="Link to 
here">&para;</a><table border="1" cellspacing="0" cellpadding="2">
-<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-<tr>
-<td>File Name</td>
-<td>Path to the file name.
+<div class="properties"><h3 id="__StringFromFile_parms1">
+        Parameters
+        <a class="sectionlink" href="#__StringFromFile_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-true">File Name</div><div 
class="description req-true">Path to the file name.
             (The path can be relative to the JMeter launch directory)
             If using optional sequence numbers, the path name should be 
suitable for passing to DecimalFormat.
             See below for examples.
-        
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Variable Name</td>
-<td>
+        </div><div class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-false">Variable 
Name</div><div class="description req-false">
 A reference name - refName - for reusing the value created by this function. 
Stored values are of the form ${refName}.
 Defaults to "StringFromFile_".
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Start sequence number</td>
-<td>Initial Sequence number (if omitted, the End sequence number is treated as 
a loop count)
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>End   sequence number</td>
-<td>Final sequence number (if omitted, seqence numbers can increase without 
limit)
-</td>
-<td>
-No
-</td>
-</tr>
-</table>
-</p>
-<p>
-The file name parameter is resolved when the file is opened or re-opened.
-</p>
-<p>
-The reference name parameter (if supplied) is resolved every time the function 
is executed.
-</p>
-<p>
-<b>
-Using sequence numbers:
-</b>
-</p>
-<p>
-When using the optional sequence numbers, the path name is used as the format 
string for java.text.DecimalFormat.
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Start sequence 
number</div><div class="description req-false">Initial Sequence number (if 
omitted, the End sequence number is treated as a loop count)</div><div 
class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">End   sequence 
number</div><div class="description req-false">Final sequence number (if 
omitted, seqence numbers can increase without limit)</div><div class="required 
req-false">No</div></div>
+</div>
+<p>The file name parameter is resolved when the file is opened or 
re-opened.</p>
+<p>The reference name parameter (if supplied) is resolved every time the 
function is executed.</p>
+<p><b>Using sequence numbers:</b></p>
+<p>When using the optional sequence numbers, the path name is used as the 
format string for java.text.DecimalFormat.
     The current sequence number is passed in as the only parameter.
     If the optional start number is not specified, the path name is used as is.
     Useful formatting sequences are:
-    
-</p>
-<p>
-
-
-<code>
-
-# - insert the number, with no leading zeros or spaces
-<br>
-
-
+    </p>
+    <p>
+<span class="code">
+# - insert the number, with no leading zeros or spaces<br>
 000 - insert the number packed out to 3 digits with leading zeros if necessary
-
-<p>
-</p>
-
-Examples:
-<br>
-
-
- pin#'.'dat -> pin1.dat, ... pin9.dat, pin10.dat, ... pin9999.dat
-<br>
-
-
- pin000'.'dat -> pin001.dat ... pin099.dat ... pin999.dat ... pin9999.dat
-<br>
-
-
- pin'.'dat# -> pin.dat1, ... pin.dat9 ... pin.dat999
-
-</code>
-<p>
-</p>
-
+<p></p>
+Examples:<br>
+ pin#'.'dat -&gt; pin1.dat, ... pin9.dat, pin10.dat, ... pin9999.dat<br>
+ pin000'.'dat -&gt; pin001.dat ... pin099.dat ... pin999.dat ... 
pin9999.dat<br>
+ pin'.'dat# -&gt; pin.dat1, ... pin.dat9 ... pin.dat999
+</span><p></p>
     If more digits are required than there are formatting characters, the 
number will be
-    expanded as necessary.
-<br>
-
-
-    
-<b>
-To prevent a formatting character from being interpreted,
+    expanded as necessary.<br>
+    <b>To prevent a formatting character from being interpreted,
     enclose it in single quotes. Note that "." is a formatting character,
-    and must be enclosed in single quotes
-</b>
-
+    and must be enclosed in single quotes</b>
     (though #. and 000. work as expected in locales where the decimal point is 
also ".")
-    
-<br>
-
-
+    <br>
     In other locales (e.g. fr), the decimal point is "," - which means that 
"#."
-    becomes "nnn,".
-<br>
-
-
-    See the documentation for DecimalFormat for full details.
-<br>
-
-
+    becomes "nnn,".<br>
+    See the documentation for DecimalFormat for full details.<br>
     If the path name does not contain any special formatting characters,
     the current sequence number will be appended to the name, otherwise
-    the number will be inserted aaccording to the fomatting instructions.
-<br>
-
-
+    the number will be inserted aaccording to the fomatting instructions.<br>
     If the start sequence number is omitted, and the end sequence number is 
specified,
     the sequence number is interpreted as a loop count, and the file will be 
used at most "end" times.
     In this case the filename is not formatted.
-    
-<code>
-
-    
-<br>
-
-
-    ${_StringFromFile(PIN#'.'DAT,,1,2)} - reads PIN1.DAT, PIN2.DAT
-<br>
+    <span class="code">
+    <br>
+    ${_StringFromFile(PIN#'.'DAT,,1,2)} - reads PIN1.DAT, PIN2.DAT<br>
+    ${_StringFromFile(PIN.DAT,,,2)} - reads PIN.DAT twice<br>
+    </span>
+    Note that the "." in PIN.DAT above should <u>not</u> be quoted.
+    In this case the start number is omitted, so the file name is used exactly 
as is.
+    </p>
+<div class="go-top"><a href="#">^</a></div></div>
 
+<div class="component"><h2 id="__machineName">__machineName<a 
class="sectionlink" href="#__machineName" title="Link to here">&para;</a></h2>
+<div class="description"><p>The machineName function returns the local host 
name</p></div>
 
-    ${_StringFromFile(PIN.DAT,,,2)} - reads PIN.DAT twice
-<br>
+<div class="properties"><h3 id="__machineName_parms1">
+        Parameters
+        <a class="sectionlink" href="#__machineName_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-false">Variable 
Name</div><div class="description req-false">A reference name for reusing the 
value
+                computed by this function.</div><div class="required 
req-false">No</div></div>
+</div>
+<div class="go-top"><a href="#">^</a></div></div>
 
+<div class="component"><h2 id="__machineIP">__machineIP<a class="sectionlink" 
href="#__machineIP" title="Link to here">&para;</a></h2>
+<div class="description"><p>The machineIP function returns the local IP 
address</p></div>
 
-    
-</code>
+<div class="properties"><h3 id="__machineIP_parms1">
+        Parameters
+        <a class="sectionlink" href="#__machineIP_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-false">Variable 
Name</div><div class="description req-false">A reference name for reusing the 
value
+                computed by this function.</div><div class="required 
req-false">No</div></div>
+</div>
+<div class="go-top"><a href="#">^</a></div></div>
 
-    Note that the "." in PIN.DAT above should 
-<u>
-not
-</u>
- be quoted.
-    In this case the start number is omitted, so the file name is used exactly 
as is.
-    
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<hr>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="__machineName">19.5.6a __machineName</a>
-<a class="sectionlink" href="#__machineName" title="Link to 
here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-<p>

[... 3080 lines stripped ...]

Reply via email to