HTML: The Definitive Guide

Previous Chapter 6 Next
 

6.6 Creating Searchable Documents

Another extensible form of an HTML link that does not use the <a> tag is one that causes the server to search a database for a document that contains a user-specified keyword or words. An HTML document that contains such a link is known as a searchable document.

The <isindex> Element

For a searchable document designated by the <isindex> tag, the browser provides a way for the user to enter one or more search terms and passes those key words along with a search-engine's URL to the server. The server matches the keywords against a database of terms to select the next document for display.

When a browser encounters the <isindex> tag, it adds a standard search interface to the document (rendered by Netscape in Figure 6-6).

<html>
<head>
<title>Kumquat Advice Database</title>
<base href="cgi-bin/quat-query">
<isindex>
</head>
<body>
<h3>Kumquat Advice Database</h3>
<p>
Search this database to learn more about kumquats!
</body>
</html>

The user types a list of space-separated keywords into the field provided. When the user presses the return key, the browser automatically appends the query list to the end of a URL and passes the information along to the server for further processing.

While the HTML standard only allows the <isindex> tag to be placed in the document header, most browsers let the tag appear anywhere in the document and inserts the search field in the content flow where the <isindex> tag appears. This convenient extension lets you add instructions and other useful elements before presenting the user with the actual search field.

The prompt attribute (Netscape only)

The browser provides a leading prompt just above or to the left of the user-entry field. Netscape's default prompt, for example, is, ``This is a searchable index. Enter search keywords:'' (Figure 6-6). That default prompt is not the best for all occasions, so Netscape provides a way to change it with the prompt attribute extension.

When added to the <isindex> tag, the value of the prompt attribute is the string of text that precedes the keyword entry field placed in the document by Netscape.

For example, compare Figure 6-6 with Figure 6-7, in which we added the following prompt to the previous source example:

<isindex 
    prompt="To learn more about kumquats, enter a keyword:">

Most other browsers ignore the prompt attribute, but there is little reason not to include a better prompt string for your Netscape-based readership.

The query URL

Besides the <isindex> tag in the header of a searchable document, the other important element of this special HTML tag is the query URL. By default, it is the URL of the source document itself--not good if your document can't handle the query. Rather, most authors use the <base> attribute to point to a different URL for the search. [<base>, 6.7.1]

The browser appends a question mark (?) to the query URL, followed by the specified search parameters. Nonprintable characters are appropriately encoded; multiple parameters are separated by a plus sign (+).

In the previous example, if a user types ``insect control'' in the search field, the browser would retrieve the URL:

cgi-bin/quat-query?insect+control

Server dependencies

Like image maps, searchable documents require support from the server to make things work. How the server interprets the query URL and its parameters is not defined by the HTML standard.

You should consult your server's documentation to determine how you can receive and use the search parameters to locate the desired document. Typically, the server breaks the parameters out of the query URL and passes them to a program designated by the URL. [server-side programming, 8.6.2]


Previous Home Next
Mouse-Sensitive Images Book Index Establishing Document Relationships