440 lines
47 KiB
HTML
440 lines
47 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
<title>Microsoft Index Server Guide: HTML Extension Files</title>
|
|
<meta name="FORMATTER" content="Microsoft FrontPage 1.1">
|
|
<meta name="FORMATTER" content="Microsoft FrontPage 1.1">
|
|
<meta name="FORMATTER" content="Microsoft FrontPage 1.1">
|
|
<meta name="FORMATTER" content="Microsoft FrontPage 1.1">
|
|
<meta name="GENERATOR" content="Microsoft FrontPage 1.1">
|
|
</head>
|
|
|
|
<body bgcolor="#FFFFFF">
|
|
<!--Headerbegin--><p align=center><a name="TOP"><img src="onepix.gif" alt="Space" align=middle width=1 height=1></a> <a href="default.htm#Top"><img src="toc.gif" alt=" Contents" align=middle border=0 width=89 height=31></a> <a href="idqhelp.htm"><img src="previous.gif" alt="Previous" align=middle border=0 width=32 height=31></a> <a href="idq-vars.htm"><img src="next.gif" alt="Next" align=middle border=0 width=32 height=31></a> </p>
|
|
<hr>
|
|
<!--Headerend--><p><a name="HTMLExtensionFiles"><font size=6><strong>HTML Extension Files</strong></font></a></p>
|
|
<p align=left><!--Chaptoc--></p>
|
|
<blockquote>
|
|
<p><a href="htxhelp.htm#exec">Query Execution Parameters </a><br>
|
|
<a href="htxhelp.htm#pages">Query Result Pages </a><br>
|
|
<a href="htxhelp.htm#Syntax">Syntax</a> <br>
|
|
<a href="htxhelp.htm#recordnumbers">Record Numbers and Counts </a><br>
|
|
<a href="htxhelp.htm#idqvars">Parameters from Internet Data Query files </a><br>
|
|
<a href="htxhelp.htm#pagenav">Navigating Between Pages in Query Results </a><br>
|
|
<a href="htxhelp.htm#formatvar">Variables Affecting the Formatting of Results </a><br>
|
|
<a href="htxhelp.htm#httpvar">HTTP Variables </a><br>
|
|
<a href="htxhelp.htm#errors">Error Pages </a><br>
|
|
</p>
|
|
</blockquote>
|
|
<hr>
|
|
<!--ChaptocEnd--><p>HTML extension (.htx) files for Microsoft Index Server are very similar to HTML extension files for the Internet Database
|
|
Connector. There are some differences; this page explains the features of Index Server extension files and the keywords
|
|
contained in those files..</p>
|
|
<p><strong>Note</strong>   All path names to .htx files must be either full virtual paths or full physical paths with no “.” or “..” components.This
|
|
applies to .htx files referenced in CiTemplate or as include files.</p>
|
|
<p>Do not put these files on a virtual root pointing to a remote Uniform Naming Convention (UNC) share.</p>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="exec">Query Execution Parameters </a></h1>
|
|
<p>A number of situations leading to unexpected query results are flagged by using built-in variables available in the .htx file. Most
|
|
.htx pages should include a <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>if...<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> test on these variables.</p>
|
|
<p><strong>CiOutOfDate</strong> will be set to the value 1 if the content index has files to filter, or scans to complete. Missing results are
|
|
possible, because information about particular documents is either from an old version of the document or missing. When this
|
|
variable is set, it is possible to get results including deleted files, and files whose current version does not match the query.</p>
|
|
<p><strong>CiQueryTimedOut</strong> will be set to the value 1 when the amount of CPU time spent executing the query exceeds the limit
|
|
specified in the <a href="reghelp.htm#MaxQueryTime">registry</a>. The variable will be valid for all pages in the result for <a href="idqhelp.htm">nonsequentially executed queries</a>. For
|
|
<a href="idqhelp.htm#SeqQuery">sequentially executed queries</a>, the <b>CiQueryTimedOut</b> variable is valid only after all available results for the query have been
|
|
displayed.</p>
|
|
<p><strong>CiQueryIncomplete</strong> will be set to the value 1 if some portion of the query restriction was ignored. This can occur when a
|
|
query is forced to use the content index.</p>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="pages">Query Result Pages </a></h1>
|
|
<p>Query results are split into pages based upon the parameter <b>CiMaxRecordsPerPage</b>. The total number of query result
|
|
records is governed by the parameter <b>CiMaxRecordsInResultSet</b>. The current page number in the result set is given in the
|
|
variable <b>CiCurrentPageNumber</b>. For a nonsequential query, the <b>CiTotalNumberPages</b> variable gives the total number of
|
|
pages in the result and <b>CiRecordsNexPage</b> gives the number of records on the next page. The variables
|
|
<b>CiContainsFirstRecord</b> and <b>CiContainsLastRecord</b> indicate whether the current page is the first or last in the result set.
|
|
For an example of how to navigate between pages See <a href="#pagenav">Navigating Between Pages in Query Results</a>, later on this page. </p>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="Syntax">Syntax</a></h1>
|
|
<p>This section discusses the syntax in .htx files.</p>
|
|
<h2><!--VERMEER BOT=HTMLMarkup StartSpan --><h2><%</h2><!--VERMEER BOT=HTMLMarkup EndSpan --><a name="detail">begindetai</a>l<!--VERMEER BOT=HTMLMarkup StartSpan --><h2>%></h2><!--VERMEER BOT=HTMLMarkup EndSpan -->, <!--VERMEER BOT=HTMLMarkup StartSpan --><h2><%</h2><!--VERMEER BOT=HTMLMarkup EndSpan -->enddetail<!--VERMEER BOT=HTMLMarkup StartSpan --><h2>%></h2><!--VERMEER BOT=HTMLMarkup EndSpan --></h2>
|
|
<p>The <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>begindetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> and <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>enddetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> tags surround a section of the HTML extension file in which the results of
|
|
the search will be merged. The section will be interpreted once for each record matching the query on the page. Within the
|
|
section, the column names delimited with <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> and <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> are used to mark the position of the returned data from the query.
|
|
There can be only one detail section in the HTML extension file. </p>
|
|
<p>For example:</p>
|
|
<blockquote>
|
|
<pre><dl>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->begindetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><p>
|
|
<dt>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiCurrentRecordNumber<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->.
|
|
<b><a href="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->EscapeURL <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->path<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->"><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->filename<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></a></b>
|
|
<dd>
|
|
<b><i>Abscract: </i></b><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->characterization<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><br>
|
|
<font size=-1> - size <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->size<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> bytes - <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->write<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> GMT</font>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->enddetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></dl></pre>
|
|
</blockquote>
|
|
<p>This query shows the name of the file where the search stringcomes from, gives a brief absract of the file, shows the size of the
|
|
file in bytes, and shows when the file was last modified.</p>
|
|
<p><strong>Note</strong>   If there are no records returned from the query, the <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>begindetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> section will be skipped.</p>
|
|
<h2><!--VERMEER BOT=HTMLMarkup StartSpan --><h2><%</h2><!--VERMEER BOT=HTMLMarkup EndSpan --><a name="ifstatement">if<!--VERMEER BOT=HTMLMarkup StartSpan --><h2>%></h2><!--VERMEER BOT=HTMLMarkup EndSpan --></a>..<!--VERMEER BOT=HTMLMarkup StartSpan --><h2><%</h2><!--VERMEER BOT=HTMLMarkup EndSpan --><a name="else">else<!--VERMEER BOT=HTMLMarkup StartSpan --><h2>%></h2><!--VERMEER BOT=HTMLMarkup EndSpan --></a>..<!--VERMEER BOT=HTMLMarkup StartSpan --><h2><%</h2><!--VERMEER BOT=HTMLMarkup EndSpan --><a name="endif">endif<!--VERMEER BOT=HTMLMarkup StartSpan --><h2>%></h2><!--VERMEER BOT=HTMLMarkup EndSpan --></a></h2>
|
|
<p>HTML extension files can contain conditional logic with an if-then-else statement to control how the Web page is constructed.
|
|
For example, one common usage is to insert a condition to display a header for the query on the first row within a <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<code>begindetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> section; but if there are no records returned by the query, to display the text “Sorry, no authors had YTD
|
|
sales greater than” <tt>%sales%</tt>. By using the <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>if<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> statement and a built-in variable called <b>CiLastRecordNumber</b> you can
|
|
tailor the output so that the error message is printed when no records are returned. Here is an example showing the use of the
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>if<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> statement. </p>
|
|
<pre><font size=2><tt> <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></tt></font><tt>begindetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->if CiCurrentRecordNumber EQ 1<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
Query results:
|
|
<B>Author YTD Sales<BR></B>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->au_lname<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->$<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->ytd_sales<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->enddetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<P>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->if CiLastRecordNumber EQ 0<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<I><B>Sorry, no authors had YTD sales greater than </I><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->sales<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->.</B>
|
|
<P>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->else<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<HR>
|
|
<I>
|
|
The Web page you see here was created by merging the results
|
|
of the Content query with the template file Sample.htx.
|
|
<P>
|
|
The merge was done by the Microsoft Index Server and
|
|
the results were returned to this Web browser by the Microsoft
|
|
Internet Information Server.
|
|
</I>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
</BODY>
|
|
</HTML> </tt></pre>
|
|
<p>The general syntax is: </p>
|
|
<pre> <font size=2> </font><tt> <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->if condition<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
HTML text
|
|
[ <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->else<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
HTML text ]
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> </tt></pre>
|
|
<p>where condition is of the form: <i>value1</i> <i>operator</i> <i>value2</i> and <i>operator</i> can be one of the following: </p>
|
|
<blockquote>
|
|
<dl>
|
|
<dt><strong>EQ</strong></dt>
|
|
<dd>if <em>value1</em> equals <em>value2</em><br>
|
|
</dd>
|
|
<dt><strong>NE</strong></dt>
|
|
<dd>if <em>value1</em> does not equal <em>value2</em><br>
|
|
</dd>
|
|
<dt><strong>LT</strong></dt>
|
|
<dd>if <em>value1</em> is less than <em>value2</em><br>
|
|
</dd>
|
|
<dt><strong>LE</strong></dt>
|
|
<dd>if <em>value1</em> is less than or equal to <em>value2</em><br>
|
|
</dd>
|
|
<dt><strong>GT</strong></dt>
|
|
<dd>if <em>value1</em> is greater than <em>value2</em><br>
|
|
</dd>
|
|
<dt><strong>GE</strong> </dt>
|
|
<dd>if <em>value1</em> is greater than or equal to <em>value2</em><br>
|
|
</dd>
|
|
<dt><strong>CONTAINS</strong></dt>
|
|
<dd>if any part of <em>value1</em> contains the string <em>value2</em><br>
|
|
</dd>
|
|
<dt> <strong>ISTYPEEQ</strong></dt>
|
|
<dd>allows the .htx file to determine the VT_TYPE of a particular variable.<br>
|
|
<dl>
|
|
<dd><pre>value1 IsTypeEq value2
|
|
value1 IsTypeEq const1
|
|
const1 IsTypeEq value1 </pre>
|
|
</dd>
|
|
</dl>
|
|
<p>For example, if a variable is of type currency (VT_CY) its type is 6. Type numbers are defined in the
|
|
OLE specification. A valid .htx comparison would be: </p>
|
|
<dl>
|
|
<dd><pre><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->if propName IsTypeEq 5<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->Variable is of type currency
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->else<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->Variable is NOT type currency
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> </pre>
|
|
</dd>
|
|
</dl>
|
|
</dd>
|
|
</dl>
|
|
</blockquote>
|
|
<p>This operator is especially useful to check for type <strong>VT_EMPTY</strong>, an empty property.</p>
|
|
<blockquote>
|
|
<dl>
|
|
<dt> <strong>ISEMPTY</strong></dt>
|
|
<dd><strong>TRUE</strong> if value1 is of type <strong>VT_EMPTY</strong>, or of type <strong>VT_NULL</strong>, or is of a textual type (<strong>VT_LPSTR</strong>,
|
|
<strong>VT_LPWSTR</strong>, <strong>VT_BSTR</strong>, or vectors of the preceding types) and contains only “empty” characters
|
|
(space, tab, and so on.)</dd>
|
|
</dl>
|
|
</blockquote>
|
|
<p>The operands <i>value1</i> and <i>value2</i> can be column names, one of the built-in variables, an HTTP variable name (see <a href="#httpvar">HTTP
|
|
Variables</a> later on this page), or a constant. When used in an <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>if<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> statement, values are not delimited with <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> <code>and</code> <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
. For example, to do special processing on author name “Green,” use the condition: </p>
|
|
<pre><font size=2><tt> </tt></font><tt><FORM ACTION="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->HTTP_SCRIPT_NAME<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->?" METHOD="POST">
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->if au_lname EQ "Green"<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
this guy is green!
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->enddetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> </tt></pre>
|
|
<p>The <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>if<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> statement can also be used to do special processing based on information from HTTP variables. For example,
|
|
to format a page differently based on the type of client Web browser you could include the following in the HTML extension
|
|
file. </p>
|
|
<pre><tt> </tt><font size=2><tt> </tt></font><tt> <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->if HTTP_USER_AGENT contains "Mozilla"<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
client supports advanced HTML features
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->else<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
client is <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->HTTP_USER_AGENT<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> </tt></pre>
|
|
<p>Property types <strong>VT_FILETIME</strong> and <strong>VT_DATE</strong> can be compared within <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>if<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> statements. Use the following format: </p>
|
|
<blockquote>
|
|
<pre><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->if fileTime eq "yyyy/mm/dd hh:mm:ss:iii"<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->FIle times are identical
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></pre>
|
|
</blockquote>
|
|
<p>The time must be enclosed in quotes. The year must be a four-digit number (for example, 1996, not 96), and slashes and
|
|
colons are required. </p>
|
|
<blockquote>
|
|
<p>yyyy = year<br>
|
|
mm = month ( 1=January, 12=December, and so on)<br>
|
|
dd = day of month ( 1 - 31)<br>
|
|
hh = hour of the day in 24-hour format (optional)<br>
|
|
mm = minutes (optional)<br>
|
|
ss = seconds (optional)<br>
|
|
iii = milliseconds (optional) </p>
|
|
</blockquote>
|
|
<p>For example: </p>
|
|
<blockquote>
|
|
<pre><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->if write eq "1996/07/21 17:22:11:333"<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->File times are identical
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></pre>
|
|
</blockquote>
|
|
<h2><!--VERMEER BOT=HTMLMarkup StartSpan --><h2><%</h2><!--VERMEER BOT=HTMLMarkup EndSpan --><a name="escapes">EscapeHTML<!--VERMEER BOT=HTMLMarkup StartSpan --><h2>%></h2><!--VERMEER BOT=HTMLMarkup EndSpan --></a>, <!--VERMEER BOT=HTMLMarkup StartSpan --><h2><%</h2><!--VERMEER BOT=HTMLMarkup EndSpan -->EscapeURL<!--VERMEER BOT=HTMLMarkup StartSpan --><h2>%></h2><!--VERMEER BOT=HTMLMarkup EndSpan -->, <!--VERMEER BOT=HTMLMarkup StartSpan --><h2><%</h2><!--VERMEER BOT=HTMLMarkup EndSpan -->EscapeRAW<!--VERMEER BOT=HTMLMarkup StartSpan --><h2>%></h2><!--VERMEER BOT=HTMLMarkup EndSpan --></h2>
|
|
<p>The <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>EscapeHTML<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code>, <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>EscapeURL<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code><b>,</b> and <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>EscapeRAW<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> keywords can be used to affect the formatting of
|
|
output strings. These are typically used with variables such as <b>CiRestriction,</b> or <b>CiScope</b> when used in a form or in an
|
|
anchor. </p>
|
|
<p>The output of variables is normally suitable for HTML format. The preceding keywords affect the output format so that the
|
|
variable can be used correctly in different contexts. The form of the construct is: </p>
|
|
<blockquote>
|
|
<pre><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->EscapeHTML <em>variable<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></em> or
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->EscapeURL <em>variable<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></em> or
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->EscapeRAW <em>variable<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></em> </pre>
|
|
</blockquote>
|
|
<p>where <i>variable</i> is any parameter or variable that could be used in the HTTP Extension file. Constant values can also be used,
|
|
as in, <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><tt>EscapeURL /scripts/query.idq<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></tt>. </p>
|
|
<p><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>EscapeHTML<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code><strong> </strong>(the default formatting) is used to escape characters that are meaningful in HTML. For example, the
|
|
symbol > will appear as <tt>&gt;</tt>. </p>
|
|
<p><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>EscapeURL<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code><strong> </strong>is used to do standard escaping for strings that will be URLs (as in the HREF tag of an anchor). For
|
|
example, the string <tt>@size > 10000</tt>; will appear as <tt>%40size+%3E+10000</tt>. </p>
|
|
<p><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>EscapeRAW<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code><strong> </strong>is used when no escaping should be done. This might be the case for a variable that is being used as the
|
|
value of a form variable, or to have the value of a variable that contains HTML code to be interpreted correctly. </p>
|
|
<h2><a name="fileinclude">File Inclusion </a></h2>
|
|
<p>The <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>include<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code> keyword can be used to interpolate the contents of a file into the HTTP Extension page. The syntax of
|
|
the construct is </p>
|
|
<blockquote>
|
|
<pre><!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><font size=3><code>include </code><code><i>filename<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></i></code></font> </pre>
|
|
</blockquote>
|
|
<p>where <i>filename</i> is the name of the file to be included. The file is named with a full virtual path name, and HTTP Extension
|
|
constructs are interpreted if found in the file. File includes can be nested, cannot exceed 31 include files total.. </p>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="recordnumbers">Record Numbers and Counts </a></h1>
|
|
<p>The <b>CiCurrentRecordNumber</b> built-in variable contains the record number of the current record (1-based). The record
|
|
number starts at [(<i>page-number</i> - 1) * <i>records-per-page</i>] + 1 for any page. Each time through the <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --><code>begindetail<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code>
|
|
section, the value of <b>CiCurrentRecordNumber</b> increases by one. </p>
|
|
<p>The <b>CiMatchedRecordCount</b> built-in variable contains the value of the total number of records matched in the query (limited
|
|
to <b>CiMaxRecordsInResultSet</b>). The <b>CiRecordsNextPage</b> built-in variable contains the number of records that will appear
|
|
on the next page. Referring to either <b>CiMatchedRecordCount</b> or <b>CiRecordsNextPage</b> will cause the query to be
|
|
nonsequential. </p>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="idqvars">Parameters from Internet Data Query files </a></h1>
|
|
<p>A number of predefined parameters are supplied, which can be set in the Internet Data Query files. See <a href="idq-vars.htm#htxvars">Variables in .htx and
|
|
.idq Files</a>.</p>
|
|
<p>In addition, any CGI variable, form parameter, or variable defined in the .idq file can be referred to in the HTTP Extension file
|
|
by enclosing the variable name in <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> <code>and</code> <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->. If a variable is referred to that has not been assigned a value, it will result in a
|
|
null string being sent to the output. </p>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="pagenav">Navigating Between Pages in Query Results </a></h1>
|
|
<p>The first record on a page is identified in the variable <b>CiBookmark</b>, which can be used in a form to get to the next page or the
|
|
previous page. The form variable <b>CiBookmarkSkipCount</b> should be used with <b>CiBookmark</b> to specify the relative offset
|
|
from the current page. <b>CiBookmarkSkipCount</b> is typically set to either <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> or -<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->, although it could be set to other multiples of <b>CiMaxRecordsPerPage</b>. </p>
|
|
<p>Here is an example of a form that will skip to the next page for a sequential query follows: </p>
|
|
<pre><tt> </tt><font size=2><tt> </tt></font><font size=3><code><FORM ACTION="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code>HTTP_SCRIPT_NAME<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->?" METHOD="POST">
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiBookmark"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiBookmark<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiBookmarkSkipCount"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiMaxRecordsPerPage"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiRestriction"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiRestriction<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiScope"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiScope<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="SUBMIT" VALUE="Next page">
|
|
</FORM></font></pre>
|
|
<p>The following example shows how the buttons for going to adjacent pages can be generated conditionally depending upon the
|
|
variables <b>CiContainsFirstPage</b> and <b>CiContainsLastPage</b>. It also shows how the number of hits on the next page can be
|
|
displayed for a nonsequential query. </p>
|
|
<pre> <font size=2> </font><font size=3><code><TABLE> <TR>
|
|
<TD> <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code>if CiContainsFirstRecord eq 0<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<FORM ACTION="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->HTTP_SCRIPT_NAME<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->?" METHOD="POST">
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiBookmark"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiBookmark<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiBookmarkSkipCount"
|
|
VALUE="-<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiMaxRecordsPerPage"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiRestriction"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiRestriction<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiScope"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiScope<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="SUBMIT" VALUE="Previous <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> Hits">
|
|
</FORM>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> </TD></font></pre>
|
|
<pre><font size=3><code> <TD> <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan --></code>if CiContainsLastRecord eq 0<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->
|
|
<FORM ACTION="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->HTTP_SCRIPT_NAME<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->?" METHOD="POST">
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiBookmark"
|
|
VALUE="<code><</code>CiBookmark<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiBookmarkSkipCount"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiMaxRecordsPerPage"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiMaxRecordsPerPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiRestriction"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiRestriction<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="HIDDEN"
|
|
NAME="CiScope"
|
|
VALUE="<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiScope<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->" >
|
|
<INPUT TYPE="SUBMIT" VALUE="Next <!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->CiRecordsOnNextPage<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> Hits">
|
|
</FORM>
|
|
<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code><%</code></font><!--VERMEER BOT=HTMLMarkup EndSpan -->endif<!--VERMEER BOT=HTMLMarkup StartSpan --><font size=3><code>%></code></font><!--VERMEER BOT=HTMLMarkup EndSpan --> </TD>
|
|
</TR> </TABLE> </font></pre>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="formatvar">Variables Affecting the Formatting of Results </a></h1>
|
|
<p>Some variables that can be set in the .idq file affect the formatting of data in the .htx file. The variable <a href="idq-vars.htm#CiLocale"><b>CiLocale</b></a> may be set to
|
|
affect the formatting of dates, times, currency values, and floating point numbers according to <a href="glossary.htm#NLS">NLS conventions</a>. If <b>CiLocale</b> is
|
|
not set, the locale is set from the client’s browser or the server’s default locale, in order of priority.</p>
|
|
<p>To change the formatting of datatypes, modify settings in the <strong>Regional Settings</strong> in the Windows NT <strong>Control Panel</strong>. </p>
|
|
<p>A <a href="idq-vars.htm#vecvars">set of variables</a> taken from the .idq file will be used to enclose and separate elements of column values that are vectors.
|
|
Unlike all other variables set in the .idq file, these variables cannot be referred to explicitly in the .htx file. </p>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="httpvar">HTTP Variables </a></h1>
|
|
<p>Several variables in HTML extension files can give a lot of information about the environment and Web client connected to the
|
|
server. In addition, all headers sent by the client are available. For Index Server to access these headers, you must convert
|
|
them: </p>
|
|
<ol>
|
|
<li>Add HTTP_ to the beginning </li>
|
|
<li>Convert all dashes to underscores. </li>
|
|
<li>Convert all letters to uppercase. </li>
|
|
</ol>
|
|
<p>The following list gives a listing of default variables.</p>
|
|
<dl>
|
|
<dt><strong>ALL_HTTP</strong></dt>
|
|
<dd>All HTTP headers that were not already parsed into one of the listed variables. These variables are of the form
|
|
HTTP_<em>header field name</em> with successive variables separated by a newline character, for example:</dd>
|
|
</dl>
|
|
<blockquote>
|
|
<pre>HTTP_ACCEPT: */*, q=0.300, audio/x-aiff, audio/basic, image/jpeg, image/gif, text/plain, text/html
|
|
HTTP_USER_AGENT: Microsoft Internet Explorer/0.1 (Win32)
|
|
HTTP_REFERER: http://webserver/samples/dbsamp/dbsamp3.htm
|
|
HTTP_CONTENT_TYPE: application/x-www-form-urlenPRE: 10
|
|
HTTP_EXTENSION: Security/Digest</pre>
|
|
</blockquote>
|
|
<dl>
|
|
<dt><strong>AUTH_TYPE</strong></dt>
|
|
<dd>The type of authorization in use. If the user name has been authenticated by the server, this will contain Basic.
|
|
Otherwise, it will not be present.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>CONTENT_LENGTH</strong></dt>
|
|
<dd>The number of bytes that the script can expect to receive from the client.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>CONTENT_TYPE</strong></dt>
|
|
<dd>The content type of the information supplied in the body of a POST request.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>GATEWAY_INTERFACE</strong></dt>
|
|
<dd>The revision of the CGI (Common Gateway Interface) specification with which this server complies. The current version
|
|
is CGI/1.1.</dd>
|
|
</dl>
|
|
<dl>
|
|
<dt><strong>HTTP_ACCEPT</strong> </dt>
|
|
<dd>Special-case HTTP header. Values of the Accept: fields are concatenated, separated by “, ”; for example, if the
|
|
following lines are part of the HTTP header: accept: */*; q=0.1 accept: text/html accept: image/jpeg then the
|
|
<strong>HTTP_ACCEPT</strong> variable will have a value of: */*; q=0.1, text/html, image/jpeg.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>PATH_INFO</strong></dt>
|
|
<dd>Additional path information, as given by the client. This comprises the trailing part of the URL after the script name but
|
|
before the query string (if any).</dd>
|
|
<dd> </dd>
|
|
<dt><strong>PATH_TRANSLATED</strong></dt>
|
|
<dd>This is the value of <strong>PATH_INFO</strong>, but with any virtual path name expanded into a directory specification.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>QUERY_STRING</strong></dt>
|
|
<dd>The information that follows the question mark (?) in the URL that referenced this script.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>REMOTE_ADDR</strong></dt>
|
|
<dd>The IP address of the client.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>REMOTE_HOST</strong></dt>
|
|
<dd>The hostname of the client.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>REMOTE_USER</strong></dt>
|
|
<dd>This contains the user name supplied by the client and authenticated by the server.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>REQUEST_METHOD</strong></dt>
|
|
<dd>The HTTP request method.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>SCRIPT_NAME</strong></dt>
|
|
<dd>The name of the script program being run.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>SERVER_NAME</strong></dt>
|
|
<dd>The server’s hostname (or IP address) as it should appear in self-referencing URLs.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>SERVER_PORT</strong></dt>
|
|
<dd>The TCP/IP port on which the request was received.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>SERVER_PROTOCOL</strong></dt>
|
|
<dd>The name and version of the information-retrieval protocol relating to this request, usually HTTP/1.0.</dd>
|
|
<dd> </dd>
|
|
<dt><strong>SERVER_SOFTWARE</strong></dt>
|
|
<dd>The name and version of the Web server under which the Internet Server Extension is running.</dd>
|
|
</dl>
|
|
<hr>
|
|
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="errors">Error Pages </a></h1>
|
|
<p>Through settings in the Windows NT registry, it is possible to configure HTTP Extension pages that are displayed in case of
|
|
errors encountered while executing a search. Any of the following error types can cause an error page to be displayed: </p>
|
|
<blockquote>
|
|
<dl>
|
|
<dt>Query error</dt>
|
|
<dd>An error in a query specification (<strong>CiRestriction</strong>). This is most likely a user error.<br>
|
|
</dd>
|
|
<dt>Error in HTTP Extension file</dt>
|
|
<dd>An error was found while formatting the HTTP Extension file. This is probably a configuration error.<br>
|
|
</dd>
|
|
<dt>Error in Internet Data Query file</dt>
|
|
<dd>An error was found in the query parameter file. This is probably a configuration error, although it might
|
|
also occur due to unexpected data input from a form.<br>
|
|
</dd>
|
|
<dt>Some other error</dt>
|
|
<dd>An unspecified error occurred. </dd>
|
|
</dl>
|
|
</blockquote>
|
|
<p>Error pages have access to some of the variables available to HTTP Extension files. In addition, there is a variable
|
|
<b>CiErrorMessage</b>, which gives a message describing the error. See the <a href="errorhlp.htm">Error Messages</a> page for a list of the possible values
|
|
of <b>CiErrorMessage</b>. </p>
|
|
<!--Footerbegin--><hr>
|
|
<p align=center><a href="default.htm#Top"><img src="toc.gif" alt=" Contents" align=middle border=0 width=89 height=31></a> <a href="idqhelp.htm"><img src="previous.gif" alt="Previous" align=middle border=0 width=32 height=31></a> <a href="#TOP"><img src="up_end.gif" alt="To Top" align=middle border=0 width=32 height=31></a> <a href="idq-vars.htm"><img src="next.gif" alt="Next" align=middle border=0 width=32 height=31></a> </p>
|
|
<hr>
|
|
<p align=center><em>© 1996 by Microsoft Corporation. All rights reserved.<!--Footerend--></em></p>
|
|
</body>
|
|
|
|
</html>
|