Inputformsection Descriptive Essay

One of the keys to writing a descriptive essay is to create a picture in your reading audience’s mind by engaging all five of their senses – smell, sight, touch, taste and sound. If you can do this, then your essay is a success, if not, then you have a lot of work to do. The first steps in writing a descriptive essay will lay the groundwork for the entire piece.

Step 1: Choose a topic

A descriptive essay will usually focus on a single event, a person, a location or an item. When you write your essay, it is your job to convey your idea about that topic through your description of that topic and the way that you lay things out for your reader. You need to show your reader (not tell them) what you are trying to describe by illustrating a picture in their mind’s eye very carefully.

Your essay needs to be structured in a manner that helps your topic to make sense. If you are describing an event, you will need to write your paragraphs in chronological order. If you are writing about a person or a place you need to order the paragraphs so that you start off in a general manner and then write more specific details later. Your introductory paragraph sets the tone for the rest of the essay, so it needs to set out all of the main ideas that you are going to cover in your essay.

Step 2: Create a statement

The next step is to create a thesis statement. This is a single idea that will be prominent throughout your essay. It not only sets out the purpose of the essay, but regulates the way that the information is conveyed in the writing of that essay. This is an introductory paragraph that sets out your topic framework.

Step 3: Get the senses right

Next, create five labelled columns on a sheet of paper, each one having a different of the five senses. This labelled list will help you to sort out your thoughts as you describe your topic – the taste, sight, touch, smell and sound of your topic can be sketched out among the columns. List out in the columns any sensation or feeling that you associate with the topic that you are writing about. You need to provide full sensory details that help to support the thesis. You can utilize literary tools such as metaphors, similes, personification and descriptive adjectives.

Once you have the columns laid out you can start to fill them with details that help to support your thesis. These should be the most interesting items that you have noted in your columns and will the details that you flesh out into the paragraphs of the body of your essay. Topics are set out in each separate paragraph and a topic sentence begins that paragraph and need to relate to your introductory paragraph and your thesis.

Step 4: Create an outline

The next step is to create an outline listing the details of the discussion of each paragraph. Students in high school are generally asked to write a five paragraph essay while college students are given more freedom with the length of their piece. The standard five paragraph essay has a particular structure including the introductory paragraph with the inclusion of a thesis statement, followed by three body paragraphs which prove that statement.

Step 5: Write the conclusion

Finally, the conclusion paragraph makes a summary of the entirety of your essay. This conclusion also needs to reaffirm your thesis (if necessary). Your conclusion needs to be well written because it is the final thing to be read by your reader and will remain on their mind the longest after they have read the remainder of your essay.

Step 6: Review your essay

It is important to take a break from your writing once you have completed the work. By stepping away from the work for a short time you can clear your mind and take a short rest. You can then take a look at the essay with fresh eyes and view it in much the same way that a person reading it will when they first see the piece.

After you have taken a short break or a walk (or whatever the case may be), read the entire essay again thinking about your reader. You should ask yourself if you were the reader, would the essay make sense to you? Is it easy to read so that anyone can understand what the topic of the essay is? Do any of the paragraphs need to be rewritten because they are confusing and need to be better written to be descriptive?

Your choice of words and language need to convey what you are trying to describe when you talk about a particular topic. The details that you have provided should give your reader enough information that they can form a complete picture. Any details in the essay should help a reader to understand the meaning of the topic from the writer’s point of view.

Read your entire essay over again, out loud this time. Sometimes reading something out loud can help to identify any issues that should be worked out. Read the essay again to a friend or family member and have them give you any criticisms that they might have. Have someone else ready your essay and then ask them if anything needs to be clarified or if they received a clear picture from the details given in the essay.

Step 7: Finish it up

Finally, read your essay again very carefully and check for any grammar, punctuation or spelling errors that are obvious within the essay. If you find any clichés, be sure to delete them, they certainly do not belong in your essay. If there are any parts that are not completely descriptive or don’t make as much sense as you would like them to, rewrite them once again and then follow the proof reading and reading aloud process again to ensure that the final product is exactly as expected. You can never be too thorough when it comes to reading the essay over again and checking for any areas that need to be reworked.

Enjoyed this post? Here’s what you can do next:

Advanced Customization Topics

Back to top

About This Document

This section describes the audience for this document, the organization of the material, and some additional sources of information.


This document is for search administrators and webmasters who want to customize the search interface. To perform most customization tasks, you need privileges to edit search appliance front ends and eXtensible Stylesheet Language Transformation (XSLT) stylesheets. For some customizations, you must also have privileges to edit your web portal and content pages.

This document provides detailed procedures to direct general users in the steps for editing HTML markup or XSLT code. Some background in HTML, XSLT, and search appliance query parameters is helpful for understanding the customization examples and replicating them in your environment.

The Customizations and Example Pages

This document uses examples to illustrate customizations. Each customization is described in a separate section with detailed explanation of the required markup or code. Each example is also illustrated in the context of example pages based on a fictional fishing fly-tying business.

The following customizations are described and illustrated in this document:


HTML Form Example Page

The HTML form example page shown below illustrates a custom HTML form box, results image links, and custom description text.

To view the source code for this page and its supporting XSLT stylesheet, see Optional Example Materials.

Inline Frame Example page

The inline frame example page shown below illustrates Google search presented in an inline frame with a custom secure search checkbox. The code for the search button in this example page has been customized to submit selected search parameters that limit the number of results displayed in the limited screen space of the inline frame.

To view the source code for this page and its supporting XSLT stylesheet, see Optional Example Materials.

For More Information

Many basic customizations, such as displaying a custom logo or changing colors and fonts, are not included in the scope of this document. For information on performing basic customization work and an overview of the search process, see Customizing the User Interface.

Some of the advanced customizations require you to set or modify query parameters. For more information on query parameters, see the Search Protocol Reference and Using Front End Search Parameters.

Support Limitations

Keep in mind that the advanced customizations described in this document are not supported. Google Support cannot support or debug your customized HTML or XSLT code.

Customized XSLT stylesheets are not automatically upgraded when you update the search appliance software version. To enable new features in future versions, you may need to modify your customized stylesheets, or add your customized code to the default stylesheet for newer versions.

Back to top

Integrating Search into Web Pages

If your goal is to integrate search into existing web pages that have a particular style and identity, you can modify or minimize the visual effect of the default search and results pages. This section describes three levels of integration:

Presenting the Search Interface in an Inline Frame

Using inline frames, you can present the search interface within the context of an otherwise static web page as illustrated in the Inline Frame Example page.

HTML Code for Integrating Search with an Inline Frame

The integrated search interface in the example page is derived from an inline frame tag with a src attribute pointing to iframe-example-frontend. As shown below, the inline frame is presented within a table cell:

<table border="0" cellpadding="0" cellspacing="0" width="800"><tr><td><p>Search our extensive database of flies:</p><tr><td><iframe id="iFrame" name="FlyFrame" frameborder="0" width="800" height="700" scrolling="auto" OnLoad="window.scroll(0, 0);" src="http://appliance_hostname/search?site=default_collection&client=iframe-example-frontend&output=xml_no_dtd&proxystylesheet=iframe-example-frontend"></iframe></td></tr></table>

At a minimum, the source attribute for an inline frame tag must specify the protocol and search appliance hostname, http://appliance_hostname. If you provide only the hostname, the default front end search interface appears in the inline frame.

In the inline frame example, the source URL contains custom query parameters to load the front end named iframe-example frontend, which is customized for optimal display of the search interface in an inline frame. The front end includes XSLT code that makes the search button submit selected parameters that affect the display of the search results page. For more information, see Specifying Query Parameters with XSLT and the Search Protocol Reference.

Adding Inline Frame Search to a Page

To add the search interface inside an inline frame in a web page:


For the src attribute of the inline frame tag, specify http://appliance_hostname, where the host name is the correct value for your search appliance. This value points to the default front end. If you want to open a different front end, or customize any other query parameters for the search interface, add them to the URL as shown in the example code.


Optionally, set the frame width and height attributes to make sure the inline frame is large enough to accommodate the search results page. Add a noresize attribute if you want to prevent end users from changing the size. You can set any optional attributes of the inline frame (scrolling, align, and so on.) depending on your design goals for the page.

Creating an HTML Form Search Box

With a simple HTML form such as the one depicted in the HTML Form Example Page, you can integrate a simple search box directly into your web page instead of using the default search page. This approach allows an end user to focus on the page content with minimal distraction from the search interface. However, if the user needs to perform a search, the search box is readily available, as shown below.

HTML Code for a Form Search Box

The HTML code for the search box used in the example is derived from a form tag in the side navigation of the page.

<form method="GET" target="FlyFrame" action="http://appliance_hostname/search">  <input type="text" name="q" size="32" maxlength="256" value="" />  <input type="submit" name="btnG" value="Search" />  <input type="hidden" name="site" value="default_collection" />  <input type="hidden" name="client" value="example-frontend" />  <input type="hidden" name="output" value="xml_no_dtd" />  <input type="hidden" name="proxystylesheet" value="example-frontend" />  <input type="hidden" name="filter" value="p" />  <input type="hidden" name="getfields" value="*" /></form>

This form submits a GET request to the search engine, requesting results in the format specified by example-frontend. The example form includes optional input fields for a submit button and for query parameters that enhance the visual effect of the page. These parameters turn off duplicate directory filtering (filter), retrieve meta tag values (getfields), and specify the stylesheet associated with example-frontend (proxystylesheet).

The requirements for an HTML for search box are:

Specify the GET method and the path http://appliance_hostname/search

In addition to the required fields, you can include any valid query parameter as a hidden input field in the HTML form. See the Search Protocol Reference for more information on query parameters.

Search boxes should be big enough to accommodate multiple word entries. Users typically enter queries that fit in the search box, so if the search box is small, they may enter only single words. Since Google supports multi-word, phrase, or natural language queries, make your search box big enough for your users to enter larger queries. The recommended minimum size for a search box is 20-30 characters.

Adding an HTML Form Search Box to a Page

To add an HTML form search box to a web page:

<form method="GET" action="http://appliance_hostname/search"><input type="text" name="q" size="32" maxlength="256" value=""><input type="hidden" name="site" value="default_collection"><input type="hidden" name="client" value="default_frontend"><input type="hidden" name="output" value="xml_no_dtd" />

If you want to direct the search request to a non-default collection or front end, enter appropriate values for site and client.

<input type="submit" name="btnG" value="Search">

Combining an HTML Form Search Box with Inline Results

You can combine inline frame presentation of the results page with a custom search box. This combination of factors allows users to first view the frame populated with static content, and then replace that content with a list of search results if needed.

This approach is used in the HTML Form Example Page. The HTML form in this example page collects the search terms in a custom search box, submits them to the search engine, and then directs the results page to open in the inline frame “FlyFrame” as specified by the target attribute in the form tag:

<form method="GET" target="FlyFrame" action="http://appliance_hostname/search">

When using this approach, you may prefer to remove redundant search boxes from the results page by setting the XSLT stylesheet variables show_top_search_box and show_bottom_search_box to zero.

A production web site using a form box and inline frame at the time of writing is

Back to top

Modifying the Search Query

You may prefer to use the default Google search and results pages, but with a degree of customization. This section describes two modifications to the default search query experience: using a checkbox for secure search, and adding query parameters to a front end. Both of these customizations make only slight changes in the visual effect and behavior of the default search box.

Replacing the Secure Search Radio Button with a Check Box

Using a check box for secure search saves space on the search query page and gives it a cleaner look. The following screen capture from iframe_index.html depicts a customized search box in place of the default radio buttons:

XSLT Code for the Secure Search Checkbox

This customized search box is defined by XSLT rules in the stylesheet associated with iframe-example-frontend. In this stylesheet, the default code for the search box input form is overwritten with the following block of custom code.

<xsl:choose>  <xsl:when test="$access='p'">    <input type="checkbox" name="access" value="a" />  </xsl:when>  <xsl:otherwise>    <input type="checkbox" name="access" value="a" checked="checked" />  </xsl:otherwise></xsl:choose>      Include secure content

This conditional clause with <choose> tests the value of the access parameter, and then defines the checkbox accordingly. When access is the default value of “p,” the unchecked box sets the value to “a” if checked by the end user. If the value is already set to “a,” the checkbox is displayed checked.

For more information on the access query parameter, see the Search Protocol Reference.

Adding Secure Search Checkbox Code to an XSLT Stylesheet

To modify a stylesheet to replace the secure search radio buttons with a checkbox:

<!-- **********************************************************************Search box input form (Types: std_top, std_bottom, home, swr)********************************************************************** --><xsl:if test="$show_secure_radio != '0'">

This conditional clause contains the default radio button code, shown below in boldface and bracketed by start/end comments (these comments are not found in your default stylesheet):

<xsl:if test="$show_secure_radio != '0'">  <tr>    <td colspan="2">    <font size="-1"><!-- Start cut. Between here and End cut is the code you must replace with the secure search checkbox code. -->           Search:  <xsl:choose>    <xsl:when test="$access='p'">      <label><input type="radio" name="access" value="p" checked="checked"         />public content</label>    </xsl:when>    <xsl:otherwise>      <label><input type="radio" name="access" value="p"/>        public content</label>    </xsl:otherwise>  </xsl:choose>  <xsl:choose>    <xsl:when test="$access='a'">      <label><input type="radio" name="access" value="a"         checked="checked" />public and secure content</label>    </xsl:when>    <xsl:otherwise>      <label><input type="radio" name="access" value="a"/>         public and secure content</label>    </xsl:otherwise>  </xsl:choose><!-- End cut. Between here and Start cut is the code you must replace with the secure search checkbox code. -->    </font>    </td>  </tr></xsl:if><xsl:if test="$show_secure_radio != '0'">  <tr>    <td colspan="2">    <font size="-1"><!-- Start paste. Between here and End paste is the correct location for the secure search checkbox code. -->    <xsl:choose>      <xsl:when test="$access='p'">        <input type="checkbox" name="access" value="a" />      </xsl:when>      <xsl:otherwise>        <input type="checkbox" name="access" value="a" checked="checked" />      </xsl:otherwise>    </xsl:choose>            Include secure content<!-- End paste. Between here and Start paste is the correct location for the secure search checkbox code. -->    </font>    </td>  </tr></xsl:if>

Specifying Query Parameters with XSLT

The default search box for a front end is defined by the associated XSLT stylesheet. You can modify the XSLT stylesheet to include selected parameters in every query submitted from the query box in a front end. Valid parameters are documented in the Search Protocol Reference.

Though it is not immediately apparent, the search box in the Inline Frame Example page is customized in this way. Each query submitted from the search box explicitly retrieves selected meta tag values and limits the number of results to optimize the limited page space.

XSLT Code for Specifying Query Parameters

The source attribute of the inline frame tag in the Inline Frame Example page points to the customized front end, iframe-example-frontend. This front end submits selected parameters as defined by the XSLT code shown in bold at the bottom of the following code example.

<!-- *** form_params: parameters carried by the search input form *** --><xsl:template name="form_params">  <input type="hidden" name="filter" value="0"/>    <xsl:for-each       select="PARAM[@name != 'q' and                    @name != 'ie' and                    not(contains(@name, 'as_')) and                    @name != 'btnG' and                    @name != 'btnI' and                    @name != 'site' and                    @name != 'filter' and                    @name != 'swrnum' and                    @name != 'start' and                    @name != 'access' and                    @name != 'ip' and                    (@name != 'epoch' or $is_test_search != '') and                    not(starts-with(@name ,'metabased_'))]">      <input type="hidden" name="{@name}" value="{@value}" />      <xsl:if test="@name = 'oe'">        <input type="hidden" name="ie" value="{@value}" />      </xsl:if>      <xsl:text>      </xsl:text>    </xsl:for-each>  <xsl:if test="$search_collections_xslt = '' and PARAM[@name='site']">    <input type="hidden" name="site" value="{PARAM[@name='site']/@value}"/>  </xsl:if> <!--Add these fields to every query string submitted from this front end-->  <input type="hidden" name="getfields" value="" />  <input type="hidden" name="num" value="3" /></xsl:template>

When users click the search button in this front end, getfields="" and num="3" are included in the search request along with the standard parameters. Consequently, the result set will be limited to three results per page, and the specified meta tags will be retrieved for each result.

Adding Query Parameters to a Search Form

To add query parameters to a front end by modifying the associated stylesheet:

<!-- **********************************************************************Search Parameters (do not customize)********************************************************************** --><input type="hidden" name="getfields" value="*" />
Displaying Meta Tag Values in Results

The custom front end for the Inline Frame Example page is configured to show meta tags in the results. Each result displays the three meta tags, rank, price, and fly-type, that are explicitly retrieved by the custom search form:

To modify a front end to show meta tags in results:

<xsl:variable name="show_meta_tags">1</xsl:variable>

Back to top

Enhancing Search Results

Customization can serve your goals for the visual effect and content of results pages. This section describes two ways to enhance results pages: including image links in results, and replacing the result snippet with customized text.

Including an Image Link for Results

Placing small images in the search results enhances the visual appeal of the results page. Because experience has trained many users to click icons and pictures, it is helpful to make each image a link to the search result, just as the result title is a link to the result. The HTML Form Example Page shows image links presented in the results pages.

XSLT Code for Image Links

The thumbnail-sized image links in the example pages are derived from a small block of XSLT code added after the variable declarations in the “single result” section of example-frontend_stylesheet.en.xslt. To find this block in the example stylesheet, search for the comment text “<!--Include image” and look for the following code:

<!--Include image from meta tag in results list--><xsl:for-each select="MT">  <xsl:if test="@N='product-image' and @V!=''">    <a href="{$protocol}://{$escaped_url}">      <img align="left" height="60" width="80" src="{@V}"/>    </a>  </xsl:if></xsl:for-each>

The XSLT image block iterates through each MT (meta tag) element in the result set and tests for non-empty values for the tag product-image. Then it includes the meta tag value inside a link to the results URL as represented by the concatenated variables protocol and escaped_url.

It is important to locate this XSLT block after the variable declarations located at the beginning of the “single result” XSLT block. Because the image block uses two of these variables, it will throw an error in the XSLT stylesheet editor if it is located before the variable is declared.

Image Meta Tag

Each product description page in this example includes a meta tag named product-image containing an absolute link to a thumbnail image. Because relative links do not work in the search results page, the meta tag values must be absolute links. For example, on mywebserver the prince nymph example page would include this meta tag:

<meta name="product-image" content="" />

The exact meta tag name is important, because it is required as a value for the search request parameter getfields and also it is tested in a conditional clause in the XSLT code. All pages for which you want to present a results image must include a meta tag like this one, with the name properly referenced in the stylesheet and in getfields.

You must explicitly retrieve the meta tags you want from the result set in order for them to be transformed by the XSLT code. You can do this by adding getfields="meta_tag_name" to your search request, or use getfields="*" to retrieve all meta tags. See the Search Protocol Reference for more information on adding query parameters to the search request.

Adding Image Link Code to your XSLT Stylesheet

To modify a stylesheet to include image links in the results:

<!-- **********************************************************************A single result (do not customize)********************************************************************** --><!-- *** Indent as required (only supports 2 levels) *** --><!--Include image from meta tag in results list--><xsl:for-each select="MT">  <xsl:if test="@N='meta_tag_name' and @V!=''">    <a href="{$protocol}://{$escaped_url}">      <img align="left" height="60" width="80" src="{@V}"/>    </a>  </xsl:if></xsl:for-each>


Replace meta_tag_name with the name you have assigned to the meta tags storing your image link data. See Image Meta Tag for more information.

Replacing the Result Snippet with Custom Text

Google's automated selection of a result snippet is a useful feature that helps users evaluate the relevance of a result. However, it only generates snippet from the first 300K of the content and you may prefer to force the result to show a product description or other specific custom text related to the result.

For the fictional fishing fly business of the example pages, imagine that writers in the marketing department create succinct product descriptions for each item. The short descriptions are stored in meta tags and the longer descriptions are stored in the product page text. If the product page for a fly doesn't have a description tag, the results page uses the automated snippet derived from the page text. This approach is illustrated in the HTML Form Example Page, in which some results include a custom description and some results includes a standard result snippet with ellipses and search terms displayed in boldface.

XSLT Code for Custom Text

The product descriptions in the results for the example are derived from a small block of XSLT code added to the “Snippet Box” section of the stylesheet. This custom block includes and augments the default code for displaying the snippet. Note the differences and similarities in the default snippet box and the customized version in these two examples:

Default Snippet Box

<!-- *** Snippet Box *** --><table cellpadding="0" cellspacing="0" border="0">  <tr>    <td class="s">      <xsl:if test="$show_res_snippet != '0'">        <xsl:call-template name="reformat_keyword">          <xsl:with-param name="orig_string" select="S"/>        </xsl:call-template>      </xsl:if>

Custom Description Snippet Box

<!-- *** Snippet Box *** --><table cellpadding="0" cellspacing="0" border="0">  <tr>    <td class="s"><!--Use description meta tag, if non-empty, in place of snippet-->      <xsl:choose>        <xsl:when test="MT/@N='description' and MT/@V!=''">          <xsl:value-of select="MT[@N = 'description']/@V"/>        </xsl:when>

0 Thoughts to “Inputformsection Descriptive Essay

Leave a comment

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *