This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
<STRONG> Users Account Status | This will print the user's current balance: <STRONG> Current Balance : $ | |||||
<STRONG><SMALL> Order No. | <STRONG><SMALL> Title | <STRONG><SMALL> Artist/ Author | <STRONG><SMALL> Quantity | <STRONG><SMALL> Date | <STRONG><SMALL> Status | |
<SMALL> | <SMALL> | <SMALL> | <SMALL> | <SMALL> | <SMALL> |
Implementation of Administrator Features Let us look at the screen shots of the administrator features to get a feel for them.
This is the login page of the application for the administrator. For authentication, the administrator enters his user-id and password in the Login and Password text input boxes, and clicks the Enter ! button. If the authentication succeeds, the administrator is sent to the main page of the application.
TEAM FLY PRESENTS
This is the main page of the application for administrators. From here the administrator can view the records of all the users, view the transactions of the day and mark the transactions as shipped after the items have been shipped, and search for users by clicking at the appropriate link.
TEAM FLY PRESENTS
This page is returned after the administrator clicks on the User Records link from any of the pages of the application. This page shows all the users, registered with the application. The administrator can delete users by selecting the check boxes, and clicking on the Delete all Selected Users button. The administrator can also view the transactions of the user, by clicking on the user_id field. For example, to view the transactions of the user Harish Rawat, the administrator will click on the hrawat link.
TEAM FLY PRESENTS
This page displays all the transactions of a user.
TEAM FLY PRESENTS
This page is returned when the administrator clicks on the Transactions link from any of the pages of the application. This page lists all the transactions of the day. The administrator can change the status of items purchased by users, to be shipped by selecting the check boxes, and clicking on the Ship Order button.
TEAM FLY PRESENTS
This page is returned when the administrator clicks on the Search for User link from any of the pages of the application. The administrator can search for users by entering the search text in the input text box, and clicking on the Search button. The search functionality is quite trivial, and does not understand wildcard characters ‘*’, ‘?’ etc.
TEAM FLY PRESENTS
This page displays the list of users, matching the search criteria. The administrator can click on the button corresponding to the user to view their transactions. To logout the administrator clicks on the LogOut link.
Logging In The login page is implemented as an HTML form, and the action for the form is admin.php file. When the administrator clicks on the Enter button, admin.php script is executed on the middle tier. Code of admin.php
TEAM FLY PRESENTS
} else{
If the administrator is authenticated successfully using the above code, then set the cookie variables cookie_user and cookie_passwd. setcookie("cookie_user",$form_user_id); setcookie("cookie_passwd",$form_password);
Once this is done, the code redirects the client to the main page of the application. header("Location:http://$HTTP_HOST/$DOCROOT/admin_main.htm"); } ?>
Logging Out For logging out, the administrator clicks on the LogOut link (logout_admin.php) from any page of the application. The code of the logout_admin.php script looks like this:
After verifying whether the administrator is already authenticated, we unset cookie variables cookie_user and cookie_passwd and redirect the client to the login page. if(!authenticateUser($cookie_user, $cookie_passwd)){ header("Location:http://$HTTP_HOST/$DOCROOT/admin.htm"); exit(); } // unset cookie variables and redirect to admin.htm page setcookie("cookie_user",""); setcookie("cookie_passwd",""); header("Location:http://$HTTP_HOST/$DOCROOT/admin.htm"); exit(); ?>
User Administration The script user_admin.php is executed on the web server when the administrator clicks on the User Records link from any page of the application. The administrator can delete users, or view the transactions of a user from here. The script begins with:
First, we verify whether the administrator is already authenticated. If the administrator has not already authenticated himself, then we need to redirect him to the login page.
TEAM FLY PRESENTS
if(!authenticateUser($cookie_user, $cookie_passwd)){ header("Location:http://$HTTP_HOST/$DOCROOT/admin.htm"); exit(); } // Connect to the database if (!($link = mysql_pconnect($DB_SERVER, $DB_LOGIN, $DB_PASSWORD))){ DisplayErrMsg(sprintf("internal error %d:%s\n", mysql_errno(), mysql_error())); exit() ; }
Get the list of all the users, from user_profile table, returning all the rows of the table in the variable $result. // Read the list of all the users if (!($result = mysql_db_query($DB, "select * from user_profile" ))){ DisplayErrMsg(sprintf("internal error %d:%s\n", mysql_errno(), mysql_error())); exit() ; } ?>
Create a submit button with the value Delete all selected users. The administrator will click on this button, to delete the users, selected through checkboxes.
|
<SMALL><STRONG> Order No. | <SMALL><STRONG> Item No. | <SMALL><STRONG> Quantity | <SMALL><STRONG> Date | <SMALL><STRONG> Status |
<SMALL> | <SMALL> | <SMALL> | <SMALL> | <SMALL> |
&NBSP;
Create a submit button with value Ship Order. The administrator clicks on this button, to change the status of the transactions of the selected users, from Pending to Shipped. |
<SMALL> View transaction details for...
Color | Hex Value |
Red | #FF0000 |
Blue | #0000FF |
Green | #00FF00 |
Color | \n"; "Hex Value | \n"; "
$color_name_1 | \n"; "$color_val_1 | \n"; "
$color_name_2 | \n"; "$color_val_2 | \n"; "
$color_name_3 | \n"; "$color_val_3 | \n"; "
Color | Hex Value |
> TEAM FLY PRESENTS | |
"; echo ""; echo " | "; echo "
TEAM FLY PRESENTS echo echo echo echo COLOR=\"$default_table_body_font_color_1\"> $lNumPosts: $num_posts $lLastPostDate: $last_post_date |
"; " |
> |
> | > |
"; $fields[] = "body"; $fields[] = "subject"; $fields[] = "author";
The search is carried out by executing a SELECT statement against the database, adding a WHERE clause to specify our search criteria. This query will take the form: SELECT $TableName.id, $TableName.thread, author, subject, datestamp, body FROM $TableName, $BodiesTable WHERE $TableName.id = $BodiesTable.id AND (body LIKE '%searchtext%' OR subject LIKE '%searchtext%' OR author LIKE '%searchtext%')
The percentage character (%) is a wildcard symbol in SQL, so this query will find any message whose subject, body or author field contains the specified string. The last expression in the WHERE clause will be repeated for each word and phrase in the search criterion. If the word was prefixed by a minus sign, the SQL keyword LIKE will be replaced with NOT LIKE. So, first we must build the body of our query (minus the search criterion): if($id==0){ $SQL = "SELECT $TableName.id, $TableName.thread, author, subject, datestamp, body from $TableName, $BodiesTable WHERE $TableName.id = $BodiesTable.id AND ("; } elseif($action=1) { $SQL = "SELECT $TableName.id, $TableName.thread, author, subject, datestamp, body from $TableName, $BodiesTable WHERE $TableName.id<$id AND $TableName.id = $BodiesTable.id AND ("; }
TEAM FLY PRESENTS
Now we can add the search criterion itr. We loop through our array of tokens, building an expression for the WHERE clause from each one. When we finish, we check whether there are still tokens in the array. If :so, we add the string ") AND (" to prepare for the next expression; otherwise we close the bracket. for ($i=0; $i
Once we've completed that, all we have to do to finish building the query is add the LIMIT clause to restrict the number of entries on the page, and add an ORDER BY clause. Then we can execute our query: if($DB->type=="postgresql"){ $limit=""; } else { $limit=" LIMIT 20"; } $SQL .= " ORDER BY id DESC" . $limit; echo "\n\n"; $q->query($DB, $SQL); $rows = $q->numrows(); } $sTitle=" search"; ?>
The rest of the page consists mostly of HTML for the input form and for building the table for the search results, so we won't go into this.
TEAM FLY PRESENTS
Summary Phorum is a bulletin board application that makes good use of PHP and what it has to offer. It is a growing open source project that anyone can use to add a message forum to their web site, where the site's users can post messages to exchange information. It demonstrates the potential that lies in wellwritten PHP code. In this chapter, we looked at some of the reasons why PHP is a good choice for the Phorum application, before going on to look at the design of Phorum itself. We showed the user interface for the application, which consists of five separate pages. These pages in turn allow a user to: ❑
Select a forum to view
❑
Select a conversation within a particular phorum
❑
Read and reply to postings in a conversation
❑
Start a new conversation
❑
Search the forum for specific words and phrases
After looking at some of the key topics involved in the coding of the Phorum application, we delved under the hood, and looked at some of the code from the main pages. Phorum is a large application with a couple of dozen pages in total, and we couldn't show all the code behind it. However, since Phorum is Open Source, anyone can download Phorum, add it to their web site, and study the code in depth.
TEAM FLY PRESENTS
Case Study 3: E-mail Application In this case study, we will create a web-based mail interface for the existing mail servers of a fictional company named XYZ Inc. It is assumed that XYZ already has an accessible IMAP server to which the web server running the PHP scripts can connect. The basic functionality that this application will need to accomplish includes:
1. Listing the mail messages in a mailbox 2. Displaying a single mail message 3. Deleting mail messages 4. Replying to a mail message 5. Sending mail to external addresses The standard IMAP protocol we choose is well supported by PHP, and when the two are combined produce a very suitable programming environment for making this application. Powerful and versatile results can be accomplished quickly, by the combination of multiple PHP IMAP functions. The PHP function, imap_open(), performs the first step by logging into the mail server. A sample statement is given below: int imap_open(string mailbox, string username, string password, int [flags]); where the mailbox string needs to be in the form of: "{" remote_system_name [":" port] [flags] "}"[mailbox_name] For example, "{mail.domain.com:###}INBOX" is a valid remote IMAP mailbox specification. The results of imap_open() produce an IMAP stream, which can be used by the other IMAP PHP functions to retrieve various information. The IMAP stream is an important feature because it allows multiple IMAP connections to even different IMAP servers within the same script. Once the IMAP connection is established, we can use a function called imap_headers to return a list of all the mail messages in our mailbox. The resulting list of mail messages can be output to the screen, taking care of the first step in mail access, listing a mailbox’s contents. The function imap_headers() can be used in the form below: array imap_headers(int imap_stream); The result that imap_headers returns, is an array of strings formatted with header info, one element per mail
TEAM FLY PRESENTS
message. The format it returns becomes very important in that we are able to not only displaying a list of messages but also to provide a link to the actual mail message. To do this, we take the resultant array, loop through each array element printing out the header information. While this occurs each message header is assigned a URL link to view the contents of the actual message before the cycle continues. A sample set of code that shows the individual steps is below where the URL in the example is view.php: $headers[$idx]
"; } ?>
TEAM FLY PRESENTS
Once we produce the list of available mail messages, we will need to provide a method so each mail message can be accessed. The approach we have shown previously takes advantage of many of the benefits of PHP while using a standard mail protocol. We save a great amount of time being able to query a mailbox right from within a dynamic html page without having to spawn any additional processes or reference any other files. You can also plainly see that returning just the mail headers with the result not only delivers all the pertinent information we need for display, but also reduces the overall return time over trying to fetch the entire messages. Moving to the next step, viewing a particular mail message, we again will need to first open an IMAP connection with imap_open(). We then use the first of two other PHP functions, imap_header(), which first takes in a message number and returns an associative array with each of the mail headers as elements. The syntax for imap_header(), string imap_header(int imap_stream, int msgno, int flags);
TEAM FLY PRESENTS
This function causes a fetch of the complete header of the specified message as a text string and returns that text string. Displaying the body of the message is the second step for viewing single messages. Another PHP function, imap_body(), similar to imap_fetchheader() except that it returns the message body, is the essential part of this step. Sample imap_body() syntax is printed below: string imap_body(int imap_stream, int msg_number); For a given msg_number in the current mailbox, imap_body() returns the corresponding message body. Since the return contents for both functions are only the text message, we can simply echo the contents right to the web browser. The entire view.php file, presented below, does nothing more than create a simple IMAP connection, fetch the header information, and fetch the body text for a particular message. "); echo(imap_fetchheader($link,$num)); echo("
"); echo(imap_body($link,$num)); echo(""); ?>
A sample output below shows the header information followed by the message body:
TEAM FLY PRESENTS
Any serious mail application will also need the ability to manipulate mail messages. Therefore, we need to add ways to delete and reply to this single mail message. To accomplish this let’s add two links to the bottom of the message reading page by altering the file view.php. The first link will be to delete the message and then the second link will be to reply to it. "); echo(imap_fetchheader($link,$num)); echo("
");
TEAM FLY PRESENTS
echo(imap_body($link,$num)); echo(""); ?>
"; echo 'Read Mail
’; echo 'Write Mail
’; } ?>
This page will either prompt for a username and password for the mail account, or if one is given, will show the main menu. The main menu consists of reading mail or writing mail.
list.php $headers[$idx]
"; } ?>
Note that the main difference between this and the original script that listed the messages is that the username and password are no longer hardcoded. The username and password are now the ones specified in the PHP_AUTH_USER and PHP_AUTH_PW variables. Our original files will change accordingly to incorporate the authentication process. Below are all the final code examples from the chapter.
TEAM FLY PRESENTS
view.php "; echo imap_body($link,$num); ?>
$fname | "); } echo(""); $color = "lightgrey"; for ($i=0;$i<$nrows;$i++) { if (($i % 2) == 0) { echo ("\n
---|
$val | "); } echo ("
\n"; $table .= "
|
We emulate some of the XSSI that the regular HTML files use, by using the virtual function. This is an Apache-specific function that performs an Apache sub-request; it is the equivalent of using the XSSI command <--#include virtual="/path/to/include_file" -->. | |||||
Results of querying the MDB using PDB ID(s)This is where the fun begins. We will process the input, generating the appropriate query statement: First we call the include files we will need later. We require them, although in this case we could also include them. (As we saw in Chapter 6, the difference is that required files are inserted only once, whereas included ones can be used in (for example) loops, where the inserted file can change at runtime.) /* included scripts are in the /php_inc/ dir */ require ("sql.inc"); /* Include the function to generate tables from results */ require ("tables.inc"); require ("parseinput.inc"); TEAM FLY PRESENTS Next, we define our global variables: the database to use and a log file where we will save the queries being made, so we can perform a post-mortem if something goes wrong: /* Initialization of variables */ $db = "metallodb"; $querylog = "tmp/pdb_id_advqueries.log"; Now we connect to the database server and select the database, performing error checking at each step, to help the user (and us) should anything go wrong: /* * Main section of the script * * This script assumes that the database server is on the same * machine as the web server that invokes it. */ /* Get a connection and select the database */ $link = SQL_pconnect (); // $link = SQL_connect (); # If you prefer a simple connection if ( !$link ) { echo("
The next step is to process the values from the input form; we assume that these will be in the form either of a comma-separated list, or a single value. If no values were entered, we let the user know the cause of the error. If there is input, we use the parseList function discussed above to generate the condition clause of the query string: /* pdb ids requested */ if ($pdbids) { $q_pdbids = parseList("site.source_id = ", strtolower($pdbids)); } else { echo("
TEAM FLY PRESENTS echo(""); exit; } When we generate the SQL statement, there will be parts of it that are kept constant, in particular which fields will be displayed (which correspond to the ones in the makeTable function in table.inc above): /* construct and submit the search */ $query = "SELECT distinct site.source_id, site.site_id, site.num_ligands, site.metal, protein.description"; $query .= " FROM protein, site WHERE "; $query .= $q_pdbids; $query .= " AND protein.source_id=site.source_id ORDER BY site.site_id"; $query = strtolower(stripslashes($query)); We now save the query as it stands, but we won't close the log file until we get back the results and they are displayed. In this way, even if the script dies during the query process or while getting the results, we can see the SQL statement and figure out what the problem could have been: /* save to a file for debugging */ $datestamp = date("Y-m-d#H:m:s#", time()); $dbgfp = fopen ($querylog, "a"); $ip = getenv("REMOTE_ADDR"); $agent = getenv("HTTP_USER_AGENT") . " || " . getenv("HTTP_REFERER"); fwrite ($dbgfp, "$datestamp"); fwrite ($dbgfp, "$ip#$agent#"); fwrite ($dbgfp, "$query"); Now we perform the query, get the result handler and use makeTable() to create the HTML output. If no results are found, we must let the user know: /* Get the results and process */ $result = SQL_query($query,$link); if (!$result) { echo("
You searched for PDB ID(s):"); echo("".$pdbids." And ".$nrows); echo(" ".($nrows>1?"sites were":"site was")." found"); TEAM FLY PRESENTS makeTable($result,100000); } else { echo (" No sites were found that matched your query "); }If we got all the way here, it should mean that the query and result processing were successful, so we can finish adding information to the log file, close it, and clear the result handler: fwrite ($dbgfp, sprintf("#%d\n", $nrows)); fclose($dbgfp); if ($result) SQL_free_result($result); ?> Now we send the closing tags of the HTML document: | |||||
| |||||
Results of querying the MDBWe also define the $debug variable, which acts as a flag to allow queries to be logged; this is useful when trying to track down problems in the script: /* Initialization of variables */ /* * This script assumes that the database server is in the same * machine as the web server that invokes it. */ $db = "metallodb"; $querylog = "tmp/search_form2.log"; $debug = false; /* included scripts are in the /php_inc/ dir */ require("sql.inc"); require ("tables.inc"); require ("parseinput.inc"); /* Main */ /* * Get a connection and select the database */ $link = SQL_pconnect (); if ( !$link ) { echo("Error connecting to the server\n"); echo(SQL_error() . "\n"); exit; } if(!SQL_select_db($db,$link)) { echo("Error selecting database " . $db); echo(SQL_error() . "\n"); exit; } The variable processing section of the script comes next. We generate query condition clauses for each TEAM FLY PRESENTS available variable; in this way, it will be easier to put together the SQL query statement: /* Perform the search */ /* The form variables are: * metal, num_lig, author = comma separated lists * res,r_val = ranges of the form "-NNN" * expdata = string */ /* metal(s) requested */ if ($metal) { $q_metal = parseList("site.metal = ",strtolower($metal)); } else { $q_metal = ""; } /* number of ligands requested */ if ($num_lig) { $q_num_lig = parseList("site.num_ligands = ", $num_lig, ",", "", ""); } else { $q_num_lig = ""; } /* authors requested */ if ($author) { $q_author = parseList("protein.authors like ", strtolower($author), ",", "'%", "%'"); } else { $q_author = ""; } /* resolution requested */ if ($res) { $q_res = parseRange("protein.resolution", "-" . $res); } else { $q_res = ""; } /* r_value requested */ if ($r_val) { $q_r_val = parseRange("protein.r_value", "-" . $r_val); } else { $q_r_val = ""; } if ($expdata) { if ($expdata == "any") { $q_expdata = "(protein.expdata LIKE '%' OR protein.expdata = NULL) "; } elseif ($expdata == "others") { $q_expdata = "((protein.expdata NOT LIKE '%x-ray%' AND "; TEAM FLY PRESENTS $q_expdata .= "protein.expdata NOT LIKE '%nmr%' AND "; $q_expdata .= "protein.expdata NOT LIKE '%theor%') OR "; $q_expdata .= "protein.expdata = NULL)"; } else { $q_expdata = mkLikeOpt("protein.expdata", $expdata); } } else { $q_expdata = ""; } This is where things can get hairy. To create a correctly formed query statement, we need to check the existence of the previous clauses generated from each variable. To make the code more compact, I chose to use the ternary conditional operator: condition ? option1 : option2, which we saw in Chapter 6. /* construct and submit the search */ $query = "SELECT DISTINCT site.source_id, site.site_id, site.metal, site.num_ligands, protein.description"; $query .= " FROM protein,site WHERE "; /* check the existence of each part of the query * before sending */ $qtemp = ($q_metal!="") ? $q_metal : ""; $qtemp .= ($qtemp!="" && $q_num_lig!="") ? " AND " . $q_num_lig : $q_num_lig; $qtemp .= ($qtemp!="" && $q_expdata!="") ? " AND " . $q_expdata : $q_expdata; $qtemp .= ($qtemp!="" && $q_r_val!="") ? " AND " . $q_r_val : $q_r_val; $qtemp .= ($qtemp!="" && $q_res!="") ? " AND " . $q_res : $q_res; $qtemp .= ($qtemp!="" && $q_author!="") ? " AND " . $q_author : $q_author; $query .= $qtemp ; $query .= " AND protein.source_id=site.source_id ORDER BY site.site_id "; $query = strtolower(stripslashes($query)); If we are debugging the script (i.e., if $debug is set to true), let's save some data that can later be readily parsed: /* save to a file for debugging */ if ($debug) { $datestamp = date("Y-m-d#H:m:s#", time()); $dbgfp = fopen ($querylog, "a"); $ip = getenv("REMOTE_ADDR"); $agent = getenv("HTTP_USER_AGENT"); fwrite($dbgfp, "$datestamp"); fwrite($dbgfp, "$ip#$agent#"); fwrite($dbgfp, "$query"); } TEAM FLY PRESENTS The code for performing the query and processing the results is similar to that for the pdbsearch.php script above: /* Get the results and process */ $php_errormsg=""; @$result = SQL_query($query,$link); $msqlerrormsg = SQL_error(); if ($php_errormsg!="") { echo (""); echo("PHP Error: "); echo($php_errormsg . " "); if ($msqlerrormsg != "") { echo("mSQL Error: " . $msqlerrormsg ); } echo (""); fwrite ($dbgfp, "#ERROR IN QUERY: PHP=" . $php_errormsg . " mSQL=" . $msqlerrormsg . "\n"); fclose ($dbgfp); exit; } @$nrows = SQL_num_rows($result); Your query was: \n"; echo ($outvar);"; $outvar .= "[Metal(s)=" . $metal . "] AND [Number of Ligands= " . $num_lig; $outvar .= "] AND [Resolution<=" . $res . "] AND [R-value<=" . $r_val; $outvar .= "] AND [Expdata=" . $expdata . "] AND [Author(s)=" . $author; $outvar .= "] AND [you asked to show (at the most) " . $showhits; $outvar .= " hits per page. This search found: " . $nrows . $hitstr . " Finally, we create the table containing the query results, taking into account the maximum number of hits per page that the user specified in the search form. We use the makeForm() function to display the next set of results (if any), using a form that hands the subsequent processing to the prev_next.php script (discussed a bit later in this chapter): /* create hits table only if we got some results */ if ($nrows > 0) { if ($showhits=="all") { $max = $nrows; } else { $max = min((int)$showhits,(int)$nrows); } $rightlower = $max + 1; TEAM FLY PRESENTS $rightupper = min(2*$max,$nrows); $showing = " Showing results: 1 "; $showing .= " to " . (int) $max . " "; echo ($showing); if ($rightlower <= $nrows) { echo ("\n "); } makeTable($result,$max); if ($rightlower <= $nrows) { echo ("
\n "); } } else { echo ("
No sites were found that matched your query "); }If debugging is turned on, we write the number of hits found and close the log file. Finally, we clear the result handle and send the closing HTML tags: if ($debug) { fwrite($dbgfp,sprintf("#%d\n",$nrows)); fclose($dbgfp); } if ($result) SQL_free_result($result); ?> | |||
| |||
Results of querying the MDBNext, we process the passed-in hidden variables, and require the appropriate files for our SQL function wrappers and for formatting and displaying the results: Showing results: " . (int) $lower; $showing .= " to " . (int) $upper . " "; echo ($showing); echo ("\n "); makeTable($result, $max, $lower, $upper); echo ("
\n "); } else { echo ("
No sites with those characteristics were found, try again \n"); } if ($result) SQL_free_result($result); ?> And finally the closing HTML tags: | |||||
| |||||
Your last request was on ".date("d.m.Y H:i:s", $tlr) . "
"; } // Store Time of the Last Request (our current time will be the TLR // for the next request) $tlr = time(); // Perform the specified action switch($action) { case "add": $basket[$product]++; break; case "update": $basket = $nbasket; break; } // If the $basket was not already set, we initialize it here if (!isset($basket)) { $basket = array("Apples" => 3); } ?>This is currently in your basket. If you change the values and press the button, the new values will be stored in the basket. Set the product count to 0 to delete it.
Product name | Product count |
---|---|
%s | ' . ' |
Select the product you want to add to your shopping basket:
\n\n"; print "OS=" . $system->getProperty("os.name") . " " . $system->getProperty("os.version") . " on " . $system->getProperty("os.arch")."
\n"; $formatter = new Java("java.text.SimpleDateFormat", "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz"); print $formatter->format(new Java("java.util.Date")) . "\n";
TEAM FLY PRESENTS
?>
The second example, jawt.php, uses the AWT to create a button: add("North", $button); $frame->validate(); $frame->pack(); $frame->visible = True; $thread = new Java("java.lang.Thread"); $thread->sleep(10000); $frame->dispose();
Additional Features PHP4 includes many more new features, besides those already discussed. These include: ❑
Full FTP client support: the ability to store, retrieve and delete files on remote FTP servers
❑
More array manipulation functions
❑
Multiple file uploads from one page
❑
COM support on Windows: the ability to create and manipulate COM objects
❑
GNU readline support
❑
Improved ODBC support
Zend and PHP4 Many people have asked the question, "Does Zend compete with PHP4?" No, it does not. Zend is an elementary part of PHP4. PHP4 relies on Zend to compile and execute scripts. The fact that Zend is a stand-alone component confuses people. The advantage of having a commercial entity backing Zend is that it can be more customer-oriented, while the Open Source PHP relies on volunteers to improve it. To find out more about Zend, have a look at the Zend homepage (http://www.zend.com). It contains information about the Zend scripting engine, benchmarks, additional products, and company-related data.
Incompatibilities between PHP3 and PHP4 One of PHP4's design targets was to be 100% compatible with PHP3. This target has been achieved, but due to design decisions, some undocumented features of PHP3 are no longer available in PHP4. The following list is an almost verbatim copy of Zend's incompatibility list. We have added examples that demonstrate the changes.
1. Static variable initializers only accept scalar values (in PHP3 they accepted any valid expression).
TEAM FLY PRESENTS
The impact should be somewhere in between void and non-existent, since initializing a static variable with anything but a simple static value makes no sense at all.
Valid in PHP3
Valid in PHP4
$var = 5;
function print_number($number = 5) { print $number; }
function print_number($number = $var) { print $number; }
2. The scope of break and continue is local to that of an included file or an eval'd string. The impact should be somewhat smaller of the one above.
Valid in PHP3
Valid in PHP4
for($i = 0; $i < 5; $i++) { for($i = 0; $i < 5; $i++) { $r = eval("if($i == 3) return 1; eval("if($i == 3) break;"); else return 0;"); print "$i\n"; if($r == 1) break; } print "$i\n"; }
3. A return statement from a required file no longer works. It hardly worked in PHP3, so the impact should be fairly small. If you want this functionality, use include instead.
Valid in PHP3
Valid in PHP4
$value_of_last_return = require("includefile.inc");
$value_of_last_return = include("includefile.inc");
4. unset() is no longer a function, but a statement. It was never documented as a function so the impact should be negligible.
Valid in PHP3
Valid in PHP4
$value = unset($variable);
unset($variable);
5. The following letter combination is not supported within encapsulated strings: "{$". If you have a string that includes this letter combination, for example, print "{$somevar"; (which
TEAM FLY PRESENTS
printed the character { and the contents of the variable $somevar in PHP3), it will result in a parse error under Zend. In this case, you would have to change the code to print "\{$somevar"; This incompatability is due to the full variable reference within quoted strings feature added in Zend.
Valid in PHP3
Valid in PHP4
$name = "PHP"; $name = "PHP"; $val = str_replace("{".$name."}", $val = str_replace("{$name}", "Great!", "PHP is {PHP}"); "Great!", "PHP is {PHP}");
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing This section lists all the HTML element tags in alphabetical order, showing which versions of HTML and which browsers support each one. For each element, we also list all the available attributes for use with it. Again, each one shows which versions of HTML and which browsers support each attribute.
!-- -Denotes a comment that is ignored by the HTML parser.
!DOCTYPE Declares the type and content format of the document.
TEAM FLY PRESENTS
Appendix D
A Defines a hypertext link. The HREF or the NAME attribute must be specified. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
•
8
•
•
ACCESSKEY=key_character
8
8
9
8
8
8
8
8
•
CHARSET= string
8
8
9
8
8
8
8
8
8
CLASS= classname
8
8
8
8
8
9
8
9
9
COORDS= string
8
8
9
8
8
9
8
8
8
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
HREF=url
9
9
9
9
9
9
9
9
9
HREFLANG=langcode
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT| JSCRIPT|VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
METHODS= string
9
8
8
8
8
8
8
8
9
NAME= string
9
9
9
9
9
9
9
9
9
REL=SAME|NEXT|PARENT| PREVIOUS| string
9
9
9
8
8
8
8
9
9
REV= string
9
9
9
8
8
8
8
9
9
SHAPE=CIRC|CIRCLE|POLY| POLYGON|RECT|RECTANGLE
8
8
9
8
8
8
8
8
8
STYLE= string
8
8
9
8
8
9
8
9
9
TABINDEX= number
8
8
9
8
8
8
8
8
9
TARGET=<window_name>| _parent|_blank|_top|_self
8
8
9
9
9
9
8
9
9
TITLE= string
9
9
9
8
8
8
8
9
9
TYPE=BUTTON|RESET|SUBMIT
8
8
9
8
8
8
8
8
9
URN= string
9
8
8
8
8
8
8
8
9
870
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
ABBR Indicates a sequence of characters that compose an acronym (e.g., "WWW"). HTML 4.0, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT| JSCRIPT|VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
ADDRESS Specifies information such as address, signature and authorship. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT| JSCRIPT|VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE=STRING
8
8
9
8
8
9
8
8
9
TITLE=STRING
8
8
9
8
8
8
8
8
9
871
TEAM FLY PRESENTS
Appendix D
APPLET Places a Java Applet or other executable content in the page. HTML 3.2, N2, N3, N4, IE3, IE4, IE5, deprecated in HTML 4.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
D
8
8
8
8
8
8
ALIGN=TOP|MIDDLE|BOTTOM|LEFT|RIGHT| ABSMIDDLE|BASELINE|ABSBOTTOM|TEXTTOP
8
9
D
9
9
9
8
9
9
ALT=text
8
9
D
9
9
9
8
9
9
ARCHIVE=url
8
8
D
8
9
9
8
8
8
BORDER=number
8
8
D
8
8
8
8
8
8
CLASS=classname
8
8
D
8
8
9
8
8
9
CODE=filename
8
9
D
9
9
9
8
9
9
CODEBASE=Path|url
8
9
D
9
9
9
8
9
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
DOWNLOAD=number
8
8
8
8
8
8
8
9
8
HEIGHT=number
8
9
D
9
9
9
8
9
8
HSPACE=number
8
9
D
8
8
9
8
9
9
ID= string
8
8
D
8
8
9
8
8
9
MAYSCRIPT=YES|NO
8
8
8
8
8
9
8
8
8
NAME= string
8
9
D
8
8
8
8
9
9
OBJECT= string
8
8
D
8
8
8
8
8
8
SRC=url
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
D
8
8
9
8
8
9
TITLE= string
8
8
D
8
8
8
8
9
9
VSPACE=number
8
9
D
8
8
9
8
9
9
WIDTH=number
8
9
D
9
9
9
8
9
9
872
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
AREA Specifies the shape of a "hot spot" in a client-side image map. ALL except HTML 2.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
8
8
8
9
8
8
9
ALT=text
8
9
9
9
9
9
8
9
9
CLASS=classname
8
8
D
8
8
9
8
9
9
COORDS= string
8
9
9
9
9
9
9
9
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
HREF=url
8
9
9
9
9
9
9
9
9
ID= string
8
8
D
8
8
9
8
9
9
LANG=language_type
8
8
D
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
NAME= string
8
8
8
8
8
9
8
8
8
NOHREF
8
9
9
9
9
9
9
9
9
NOTAB
8
8
8
8
8
8
8
9
8
SHAPE=CIRC|CIRCLE|POLY|POLYGON| RECT|RECTANGLE
8
9
9
9
9
9
9
9
9
STYLE= string
8
8
D
8
8
9
8
8
9
TABINDEX=number
8
8
9
8
8
8
8
9
9
TARGET=<window_name>|_parent| _blank|_top|_self
8
8
9
9
9
9
8
9
9
TITLE= string
8
8
D
8
8
8
8
9
9
873
TEAM FLY PRESENTS
Appendix D
B Renders text in boldface where available. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT|VBSCRIPT| VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
HREF=url
9
9
9
9
9
9
9
9
9
TARGET=<window_name>|_parent|_blank| _top|_self
8
8
9
9
9
9
8
9
9
BASE Specifies the document's base URL. ALL.
BASEFONT Sets the base font values to be used as the default font when rendering text. HTML 3.2, N2, N3, N4, IE2, IE3, IE4, IE5 deprecated in HTML 4.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
CLASS=classname
8
8
8
8
8
9
8
8
9
COLOR=color
8
8
D
8
8
8
8
9
9
FACE=font_family_name
8
8
D
8
8
8
8
9
9
ID= string
8
8
D
8
8
9
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT|VBSCRIPT| VBS
8
8
8
8
8
8
8
8
9
SIZE=1|2|3|4|5|6|7
8
9
D
9
9
9
9
9
9
874
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
BDO Turns off the bidirectional rendering algorithm for selected fragments of text. HTML 4.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
CLASS=classname
8
8
9
8
8
8
8
8
8
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
8
8
8
8
LANG=language_type
8
8
9
8
8
8
8
8
8
STYLE= string
8
8
9
8
8
8
8
8
8
TITLE= string
8
8
9
8
8
8
8
8
8
BGSOUND Specifies a background sound to be played while the page is loaded. IE2, IE3, IE4, IE5. Attributes
2.0
3.0
4.0
N2
N3
N4
IE2
IE3
IE4/5
BALANCE=number
8
8
8
8
8
8
8
8
9
CLASS=classname
8
8
8
8
8
8
8
8
9
ID= string
8
8
8
8
8
8
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
LOOP=number
8
8
8
8
8
8
9
9
9
SRC=url
8
8
8
8
8
8
9
9
9
TITLE= string
8
8
8
8
8
8
8
8
9
VOLUME=number
8
8
8
8
8
8
8
8
9
875
TEAM FLY PRESENTS
Appendix D
BIG Renders text in a relatively larger font than the current font. HTML 3.2, 4.0, N2, N3, N4, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
BLINK Causes the text to flash on and off within the page. N2, N3, N4. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
CLASS=classname
8
8
8
8
8
9
8
8
8
ID= string
8
8
8
8
8
9
8
8
8
STYLE= string
8
8
8
8
8
9
8
8
8
BLOCKQUOTE Denotes a quotation in text, usually a paragraph or more. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CITE=url
8
8
9
8
8
8
8
8
8
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
876
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
BODY Defines the beginning and end of the body section of the page. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
9
8
8
9
ALINK=color
8
9
D
9
9
9
8
9
9
BACKGROUND= string
8
9
D
9
9
9
9
9
9
BGCOLOR=color
8
9
D
9
9
9
9
9
9
BGPROPERTIES=FIXED
8
8
8
8
8
8
9
9
9
BOTTOMMARGIN=number
8
8
8
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
9
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
LEFTMARGIN=number
8
8
8
8
8
8
9
9
9
LINK=color
8
9
D
9
9
9
9
9
9
RIGHTMARGIN=number
8
8
8
8
8
8
8
8
9
SCROLL=YES|NO
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
9
9
TEXT=color
8
9
D
9
9
9
9
9
9
TITLE= string
8
8
9
8
8
8
8
8
9
TOPMARGIN=number
8
8
8
8
8
8
9
9
9
VLINK=color
8
9
D
9
9
9
9
9
9
877
TEAM FLY PRESENTS
Appendix D
BR Inserts a line break. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
CLASS=classname
8
8
9
8
8
9
8
9
9
CLEAR=ALL|LEFT|RIGHT|NONE
8
9
D
9
9
9
9
9
9
ID= string
8
8
9
8
8
9
8
8
9
LANGUAGE=JAVSCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
8
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
BUTTON Renders an HTML button, the enclosed text used as the button's caption. HTML 4.0, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ACCESSKEY=ley_character
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
8
8
8
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATAFORMATAS=HTML|TEXT
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
DISABLED
8
8
9
8
8
8
8
8
9
ID= string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
NAME= string
8
8
9
8
8
8
8
8
8
STYLE= string
8
8
9
8
8
8
8
8
9
TABINDEX=number
8
8
9
8
8
8
8
8
8
TITLE= string
8
8
9
8
8
8
8
8
9
TYPE=BUTTON|RESET|SUBMIT
8
8
9
8
8
8
8
8
9
VALUE= string
8
8
9
8
8
8
8
8
8
878
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
CAPTION Specifies a caption to be placed next to a table. ALL except HTML 2.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ALIGN=TOP|BOTTOM|LEFT|RIGHT
8
9
D
9
9
9
9
9
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT| JSCRIPT|VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
VALIGN=BOTTOM|TOP
8
8
8
8
8
9
9
9
9
CENTER Causes enclosed text and other elements to be centered on the page. HTML 3.2, N2, N3, N4, IE2, IE3, IE4, IE5, deprecated in HTML 4.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
8
8
8
8
8
8
9
CLASS=classname
8
8
8
8
8
9
8
8
9
ID= string
8
8
8
8
8
9
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT |VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
8
8
8
9
8
8
9
TITLE= string
8
8
8
8
8
8
8
8
9
879
TEAM FLY PRESENTS
Appendix D
CITE Renders text in italics. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
CODE Renders text as a code sample in a fixed width font. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
880
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
COL Used to specify column based defaults for a table. HTML 4.0, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
9
8
ALIGN=CENTER|LEFT|RIGHT|JUSTIFY| CHAR
8
8
9
8
8
8
8
9
9
CHAR= string
8
8
9
8
8
8
8
8
8
CHAROFF= string
8
8
9
8
8
8
8
8
8
CLASS=classname
8
8
9
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
8
8
8
9
SPAN=number
8
8
9
8
8
8
8
9
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
VALIGN=BOTTOM|MIDDLE|TOP|BASELINE
8
8
9
8
8
8
8
8
9
WIDTH=number
8
8
9
8
8
8
8
8
9
COLGROUP Used as a container for a group of columns. HTML 4.0, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
8
ALIGN=CENTER|LEFT|RIGHT|JUSTIFY| CHAR
8
8
9
8
8
8
8
9
9
CHAR= string
8
8
9
8
8
8
8
8
8
CHAROFF= string
8
8
9
8
8
8
8
8
8
CLASS=classname
8
8
9
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
8
8
8
9
SPAN=number
8
8
9
8
8
8
8
9
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
VALIGN=BOTTOM|MIDDLE|TOP|BASELINE
8
8
9
8
8
8
8
9
9
WIDTH=number
8
8
9
8
8
8
8
9
9
881
TEAM FLY PRESENTS
Appendix D
COMMENT Denotes a comment that will not be displayed. HTML 4.0, IE2, IE3, deprecated in IE4/5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
ID= string
8
8
8
8
8
8
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
TITLE= string
8
8
8
8
8
8
8
8
9
DD The definition of an item in a definition list, usually indented from other text. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
9
9
DIR=LTR|RTLR
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
9
9
TITLE= string
8
8
9
8
8
8
8
8
9
DEL Indicates a section of the document that has been deleted since a previous version. HTML 4.0, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CITE=url
8
8
9
8
8
8
8
8
8
CLASS=classname
8
8
9
8
8
8
8
8
9
DATETIME=date
8
8
9
8
8
8
8
8
8
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
882
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
DFN The defining instance of a term. ALL except HTML 2.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
DIR Renders text so that it appears like a directory-style file listing. ALL, except deprecated in HTML 4.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
D
8
8
8
8
8
9
CLASS=classname
8
8
D
8
8
9
8
8
9
COMPACT
9
9
D
8
8
9
8
9
8
DIR=LTR|RTL
8
8
D
8
8
8
8
8
8
ID= string
8
8
D
8
8
9
8
8
9
LANG=language_type
8
8
D
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
D
8
8
9
8
8
9
TITLE= string
8
8
8
8
8
9
8
8
8
TYPE=CIRCLE|DISC|SQUARE
8
8
8
8
8
9
8
8
8
883
TEAM FLY PRESENTS
Appendix D
DIV Defines a container section within the page, and can hold other elements. ALL except HTML 2.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ALIGN=CENTER|LEFT|RIGHT
8
9
D
9
9
9
8
9
9
CHARSET= string
8
8
9
8
8
8
8
8
8
CLASS=classname
8
8
9
8
8
9
8
9
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATAFORMATAS=HTML|TEXT
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
HREF=url
8
8
9
8
8
8
8
8
8
HREFLANG=langcode
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
MEDIA
8
8
9
8
8
8
8
8
8
NOWRAP
8
8
8
8
8
9
8
9
8
REL=relationship
8
8
9
8
8
8
8
8
8
REV=relationship
8
8
9
8
8
8
8
8
8
STYLE= string
8
8
9
8
8
9
8
8
9
TARGET
8
8
9
8
8
8
8
8
8
TITLE= string
8
8
9
8
8
8
8
8
9
TYPE
8
8
9
8
8
8
8
8
8
884
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
DL Denotes a definition list. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
9
9
COMPACT
9
9
D
8
8
9
8
9
8
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
9
9
TITLE= string
8
8
9
8
8
8
8
8
9
DT Denotes a definition term within a definition list. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
885
TEAM FLY PRESENTS
Appendix D
EM Renders text as emphasized, usually in italics. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
EMBED Embeds documents of any type in the page, to be viewed in another suitable application. N2, N3, N4, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
ALIGN=ABSBOTTOM|ABSMIDDLE| BASELINE|BOTTOM|LEFT|MIDDLE| RIGHT|TEXTTOP|TOP
8
8
8
8
8
9
8
8
9
ALT=text
8
8
8
8
8
8
8
8
9
BORDER=number
8
8
D
8
8
9
8
8
8
CLASS=classname
8
8
8
8
8
9
8
8
9
CODE=filename
8
8
8
8
8
8
8
8
9
CODEBASE=url
8
8
8
8
8
8
8
8
9
HEIGHT=number
8
8
8
9
9
9
8
9
9
HIDDEN= string
8
8
8
8
8
9
8
8
8
HSPACE=number
8
8
8
8
8
9
8
8
9
ID= string
8
8
8
8
8
9
8
8
9
NAME= string
8
8
8
9
9
9
8
9
9
PALETTE=FOREGROUND|BACKGROUND
8
8
8
8
8
9
8
9
8
PLUGINSPAGE= string
8
8
8
8
8
9
8
8
8
886
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
SRC=url
8
8
8
9
9
9
8
9
9
STYLE= string
8
8
8
8
8
9
8
8
9
TITLE= string
8
8
8
8
8
8
8
8
9
TYPE= mime-type
8
8
8
8
8
9
8
8
8
UNITS=EN|EMS|PIXELS
8
8
8
8
8
9
8
9
9
VSPACE=number
8
8
8
8
8
9
8
8
9
WIDTH=number
8
8
8
9
9
9
8
9
9
FIELDSET Draws a box around the contained elements to indicate related items. HTML 4.0, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ALIGN=CENTER|LEFT|RIGHT
8
8
8
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
887
TEAM FLY PRESENTS
Appendix D
FONT Specifies the font face, size, and color for rendering the text. HTML 3.2, N2, N3, N4, IE2, IE3, IE4, IE5, deprecated in HTML 4.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
8
8
8
8
8
8
9
CLASS=classname
8
8
D
8
8
9
8
8
9
COLOR=color
8
9
D
9
9
9
9
9
9
DIR=LTR|RTL
8
8
D
8
8
8
8
8
8
FACE=font_family_name
8
8
D
8
9
9
9
9
9
ID= string
8
8
D
8
8
9
8
8
9
LANG=language_type
8
8
D
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
POINT-SIZE= string |number
8
8
8
8
8
9
8
8
8
SIZE=number
8
9
D
9
9
9
9
9
9
STYLE= string
8
8
D
8
8
9
8
8
9
TITLE= string
8
8
D
8
8
8
8
8
9
WEIGHT= string |number
8
8
8
8
8
9
8
8
8
FORM Denotes a form containing controls and elements, whose values are sent to a server. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
9
8
9
9
ACCEPT-CHARSET= string
8
8
9
8
8
8
8
8
8
ACTION= string
9
9
9
9
9
9
9
9
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ENCTYPE= string
9
9
9
9
9
9
8
8
9
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
888
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
METHOD=GET|POST
9
9
9
9
9
9
9
9
9
NAME= string
8
8
8
8
8
9
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TARGET=<window_name>|_parent| _blank|_top|_self
8
8
9
9
9
9
8
9
9
TITLE= string
8
8
9
8
8
8
8
8
9
IE4/5
FRAME Specifies an individual frame within a frameset. HTML 4.0, N2, N3, N4, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
<event_name>=script_code
8
8
8
8
8
9
8
8
9
ALIGN=CENTER|LEFT|RIGHT
8
8
8
8
8
9
8
9
8
BORDERCOLOR=color
8
8
8
8
9
9
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
FRAMEBORDER=NO|YES|0|1
8
8
9
8
9
9
8
9
9
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
LONGDESC=url
8
8
9
8
8
8
8
8
8
MARGINHEIGHT=number
8
8
9
9
9
9
8
9
9
MARGINWIDTH=number
8
8
9
9
9
9
8
9
9
NAME= string
8
8
9
9
9
9
8
9
9
NORESIZE=NORESIZE|RESIZE
8
8
9
9
9
9
8
9
9
SCROLLING=AUTO|YES|NO
8
8
9
9
9
9
8
9
9
SRC=url
8
8
9
9
9
9
8
9
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
9
8
8
9
889
TEAM FLY PRESENTS
Appendix D
FRAMESET Specifies a frameset containing multiple frames and other nested framesets. HTML 4.0, N2, N3, N4, IE3, IE4, IE5. Attributes
2.0
3. 2
4. 0
N 2
N 3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
8
BORDER=number
8
8
D
8
9
9
8
8
9
BORDERCOLOR=color
8
8
8
8
9
9
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
COLS=number
8
8
9
9
9
9
8
9
9
FRAMEBORDER=NO|YES|0|1
8
8
8
8
9
9
8
9
9
FRAMESPACING=number
8
8
8
8
8
8
8
9
9
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
ROWS=number
8
8
9
9
9
9
8
9
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
HEAD Contains tags holding uNiewed information about the document. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
CLASS=classname
8
8
8
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
8
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
8
PROFILE=url
8
8
9
8
8
8
8
8
8
TITLE= string
8
8
8
8
8
8
8
8
9
890
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
Hn The six elements (H1 to H6) render text as a range of heading styles. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ALIGN=CENTER|LEFT|RIGHT
8
9
D
9
9
8
9
9
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ALIGN=CENTER|LEFT|RIGHT
8
9
D
9
9
9
9
9
9
CLASS=classname
8
8
9
8
8
9
8
9
9
COLOR=color
8
8
8
8
8
8
9
9
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
NOSHADE
8
9
D
9
9
9
9
9
9
SIZE=number
8
9
D
9
9
9
9
9
9
SRC=url
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
9
9
TITLE= string
8
8
9
8
8
8
8
8
9
WIDTH=number
8
9
D
9
9
9
9
9
9
HR Places a horizontal rule in the page. ALL.
891
TEAM FLY PRESENTS
Appendix D
HTML The outer tag for the page, which identifies the document as containing HTML elements. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
LANG=language_type
8
8
9
8
8
8
8
8
8
TITLE= string
8
8
8
8
8
8
8
8
9
VERSION=url
8
8
9
8
8
8
8
8
8
I Renders text in an italic font where available. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
892
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
IFRAME Used to create in-line floating frames within the page. HTML 4.0, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
ALIGN=ABSBOTTOM|ABSMIDDLE| BASELINE|BOTTOM|LEFT|MIDDLE| RIGHT|TEXTTOP|TOP
8
8
D
8
8
8
8
8
9
BORDER=number
8
8
D
8
8
8
8
8
9
BORDERCOLOR=color
8
8
8
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
8
8
8
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
FRAMEBORDER=NO|YES|0|1
8
8
9
8
8
8
8
8
9
FRAMESPACING=number
8
8
8
8
8
8
8
8
9
HEIGHT=number
8
8
9
8
8
8
8
8
9
HSPACE=number
8
8
8
8
8
8
8
8
9
ID= string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
LONGDESC=url
8
8
9
8
8
8
8
8
8
MARGINHEIGHT=number
8
8
9
8
8
8
8
8
9
MARGINWIDTH=number
8
8
9
8
8
8
8
8
9
NAME= string
8
8
9
8
8
8
8
8
9
NORESIZE=NORESIZE|RESIZE
8
8
8
8
8
8
8
8
9
SCROLLING=AUTO|YES|NO
8
8
9
8
8
8
8
8
9
SRC=url
8
8
9
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
VSPACE=number
8
8
8
8
8
8
8
8
9
WIDTH=number
8
8
9
8
8
8
8
8
9
893
TEAM FLY PRESENTS
Appendix D
ILAYER Defines a separate area of the page as an inline layer that can hold a different page. N4 only. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
8
8
8
9
8
8
8
ABOVE=object_id
8
8
8
8
8
9
8
8
8
BACKGROUND= string
8
8
8
8
8
9
8
8
8
BELOW=object_id
8
8
8
8
8
9
8
8
8
BGCOLOR=color
8
8
D
8
8
9
8
8
8
CLASS=classname
8
8
8
8
8
9
8
8
8
CLIP=number[,number,number,number]
8
8
8
8
8
9
8
8
8
ID= string
8
8
8
8
8
9
8
8
8
LEFT=number
8
8
8
8
8
9
8
8
8
NAME= string
8
8
8
8
8
9
8
8
8
PAGEX=number
8
8
8
8
8
9
8
8
8
PAGEY=number
8
8
8
8
8
9
8
8
8
SRC=url
8
8
8
8
8
9
8
8
8
STYLE= string
8
8
8
8
8
9
8
8
8
TOP=number
8
8
8
8
8
9
8
8
8
VISIBILITY=SHOW|HIDE|INHERIT
8
8
8
8
8
9
8
8
8
WIDTH=number
8
8
8
8
8
9
8
8
8
Z-INDEX=number
8
8
8
8
8
9
8
8
8
894
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
IMG Embeds an image or a video clip in the document. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
9
8
8
9
ALIGN=BASBOTTOM|ABSMIDDLE|BASELINE| BOTTOM|LEFT|MIDDLE|RIGHT|TEXTTOP|TOP
9
9
D
9
9
9
9
9
9
ALT=text
9
9
9
9
9
9
9
9
9
BORDER=number
8
9
D
9
9
9
9
9
9
CLASS=classname
8
8
9
8
8
9
8
9
9
CONTROLS
8
8
8
8
8
8
9
9
8
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
DYNSRC= string
8
8
8
8
8
8
9
9
9
HEIGHT=number
8
9
9
9
9
9
9
9
9
HSPACE=number
8
9
9
9
9
9
9
9
9
ID= string
8
8
9
8
8
9
8
9
9
ISMAP
9
9
9
9
9
9
9
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT|VBSCRIPT |VBS
8
8
8
8
8
8
8
8
9
LONGDESC=url
8
8
9
8
8
8
8
8
8
LOOP=number
8
8
8
8
8
8
9
9
9
LOWSRC=url
8
8
8
9
9
9
8
8
9
NAME= string
8
8
8
8
8
9
8
8
9
SRC=url
9
9
9
9
9
9
9
9
9
START=number| string
8
8
8
8
8
8
9
9
8
STYLE= string
8
8
9
8
8
9
8
9
9
TITLE= string
8
8
9
8
8
8
8
9
9
USEMAP=url
8
9
9
9
9
9
9
9
9
VSPACE=number
8
9
9
9
9
9
9
9
9
WIDTH=number
8
9
9
9
9
9
9
9
9
895
TEAM FLY PRESENTS
Appendix D
INPUT Specifies a form input control, such as a button, text or check box. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
9
8
9
9
ACCEPT= string
8
8
9
8
8
8
8
8
8
ACCESSKEY=key_character
8
8
9
8
8
8
8
8
9
ALIGN=CENTER|LEFT|RIGHT
9
9
D
9
9
9
9
9
9
ALT=text
8
8
9
8
8
8
8
8
8
CHECKED=FALSE|TRUE
9
9
9
9
9
9
9
9
9
CLASS=classname
8
8
9
8
8
9
8
9
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATAFORMATAS=HTML|TEXT
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
DISABLED
8
8
9
8
8
8
8
8
9
ID= string
8
8
9
8
8
9
8
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
MAXLENGTH=number
9
9
9
9
9
9
9
9
9
NAME= string
9
9
9
9
9
9
9
9
9
NOTAB
8
8
8
8
8
8
8
9
8
READONLY
8
8
9
8
8
8
8
8
9
SIZE=number
9
9
9
9
9
9
9
9
9
SRC=url
9
9
9
9
9
8
9
9
9
STYLE= string
8
8
9
8
8
9
8
9
9
TABINDEX=number
8
8
9
8
8
8
8
9
9
TITLE= string
8
8
9
8
8
8
8
9
9
TYPE=BUTTON|CHECKBOX|FILE|HIDDEN| IMAGE|PASSWORD|RADIO|RESET|SUBMIT| TEXT
9
9
9
9
9
9
9
9
9
USEMAP=url
8
8
9
8
8
8
8
8
8
VALUE= string
9
9
9
9
9
9
9
9
9
896
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
INS Indicates a section of the document that has been inserted since a previous version.HTML 4.0, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CITE=url
8
8
9
8
8
8
8
8
8
CLASS=classname
8
8
9
8
8
8
8
8
9
DATETIME=date
8
8
9
8
8
8
8
8
8
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
ISINDEX Indicates the presence of a searchable index. ALL. Deprecated in HTML 4.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
ACTION= string
8
8
8
9
9
9
9
9
8
CLASS=classname
8
8
D
8
8
9
8
8
9
DIR=LTR|RTL
8
8
D
8
8
8
8
8
8
ID= string
8
8
D
8
8
9
8
8
9
LANG=language_type
8
8
D
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
PROMPT= string
8
9
D
9
9
9
9
9
9
STYLE= string
8
8
D
8
8
9
8
8
9
TITLE= string
8
8
D
8
8
8
8
8
8
897
TEAM FLY PRESENTS
Appendix D
KBD Renders text in fixed-width font, as though entered on a keyboard. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
KEYGEN Used to generate key material in the page. N2, N3, N4. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
CHALLENGE= string
8
8
8
8
8
9
8
8
8
CLASS=classname
8
8
8
8
8
9
8
8
8
ID= string
8
8
8
8
8
9
8
8
8
NAME= string
8
8
8
8
8
9
8
8
8
898
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
LABEL Defines the text of a label for a control-like element. HTML 4.0, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ACCESSKEY=key_character
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
8
8
8
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATAFORMATAS=HTML|TEXT
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
FOR=element_name
8
8
9
8
8
8
8
8
9
ID=string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
899
TEAM FLY PRESENTS
Appendix D
LAYER Defines a separate area of the page as a layer that can hold a different page. N4 only. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
8
8
8
9
8
8
8
ABOVE=object_id
8
8
8
8
8
9
8
8
8
BACKGROUND= string
8
8
8
8
8
9
8
8
8
BELOW=object_id
8
8
8
8
8
9
8
8
8
BGCOLOR=color
8
8
D
8
8
9
8
8
8
CLASS=classname
8
8
8
8
8
9
8
8
8
CLIP=number[,number,number,number]
8
8
8
8
8
9
8
8
8
ID= string
8
8
8
8
8
9
8
8
8
LEFT=number
8
8
8
8
8
9
8
8
8
NAME=string
8
8
8
8
8
9
8
8
8
PAGEX=number
8
8
8
8
8
9
8
8
8
PAGEY=number
8
8
8
8
8
9
8
8
8
SRC=url
8
8
8
8
8
9
8
8
8
STYLE= string
8
8
8
8
8
9
8
8
8
TOP=number
8
8
8
8
8
9
8
8
8
VISIBILITY=SHOW|HIDE|INHERIT
8
8
8
8
8
9
8
8
8
WIDTH=number
8
8
8
8
8
9
8
8
8
Z-INDEX=number
8
8
8
8
8
9
8
8
8
900
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
LEGEND Defines the title text to place in the 'box' created by a FIELDSET tag. HTML 4.0, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ACCESSKEY=key_character
8
8
9
8
8
8
8
8
8
ALIGN=BOTTOM|CENTER|LEFT|RIGHT|TOP
8
8
D
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
8
8
8
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
8
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
VALIGN=BOTTOM|TOP
8
8
8
8
8
8
8
8
9
LI Denotes one item within an ordered or unordered list. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
9
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
ID=string
8
8
9
8
8
9
8
9
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
9
8
8
9
8
9
9
TITLE= string
8
8
9
8
8
8
8
8
9
TYPE=1|a|A|I|I|DISC|CIRCLE|SQUARE
8
9
D
9
9
9
9
9
9
VALUE= string
8
9
D
9
9
9
9
9
9
901
TEAM FLY PRESENTS
Appendix D
LINK Defines a hyperlink between the document and some other resource. HTML 2.0, 3.2 & 4.0, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
8
CHARSET=charset
8
8
9
8
8
8
8
8
8
CLASS=classname
8
8
9
8
8
8
8
8
8
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
DISABLED
8
8
8
8
8
8
8
8
9
HREF=url
9
9
9
9
9
9
8
9
9
HREFLANG=langcode
8
8
9
8
8
8
8
8
8
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
MEDIA=SCREEN|PRINT|PROJECTION| BRAILLE|SPEECH|ALL
8
8
9
8
8
8
8
8
9
METHODS= string
9
8
8
8
8
8
8
8
8
REL=relationship
9
9
9
9
9
9
8
9
9
REV=relationship
9
9
9
9
9
9
8
9
8
STYLE= string
8
8
9
8
8
9
8
8
8
TARGET=<window_name>|_parent| _blank|_top|_self
8
8
9
8
8
8
8
8
8
TITLE= string
9
9
9
9
9
9
8
9
9
TYPE=MIME-type
8
8
9
8
8
9
8
9
9
URN= string
9
8
8
8
8
8
8
8
8
902
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
LISTING Renders text in fixed-width type. Use PRE instead. HTML 2.0, deprecated 3.2, supported IE2, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
8
8
8
8
8
8
9
CLASS=classname
8
8
8
8
8
8
8
8
9
ID=string
8
8
8
8
8
8
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT| JSCRIPT|VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE=string
8
8
8
8
8
8
8
8
9
TITLE=string
8
8
8
8
8
8
8
8
9
MAP Specifies a collection of hot spots for a client-side image map. ALL except HTML 2.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
8
8
8
8
8
8
9
CLASS=classname
8
8
9
8
8
9
8
8
9
ID= string
8
8
9
8
8
9
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
NAME= string
8
9
9
9
9
9
9
9
9
STYLE= string
8
8
9
8
8
9
8
8
9
TITLE= string
8
8
9
8
8
8
8
8
9
903
TEAM FLY PRESENTS
Appendix D
MARQUEE Creates a scrolling text marquee in the page. IE2, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
8
8
8
8
8
8
9
ALIGN=TOP|MIDDLE|BOTTOM
8
8
8
8
8
8
9
9
8
BEHAVIOR=ALTERNATE|SCROLL|SLIDE
8
8
8
8
8
8
9
9
9
BGCOLOR=color
8
8
D
8
8
8
9
9
9
CLASS=classname
8
8
8
8
8
8
8
8
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
DATAFORMATAS=HTML|TEXT
8
8
8
8
8
8
8
8
9
DATASRC=id
8
8
8
8
8
8
8
8
9
DIRECTION=DOWN|LEFT|RIGHT|UP
8
8
8
8
8
8
9
9
9
HEIGHT=number
8
8
8
8
8
8
9
9
9
HSPACE=number
8
8
8
8
8
8
9
9
9
ID= string
8
8
8
8
8
8
8
8
9
LANG=language_type
8
8
8
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
LOOP=number
8
8
8
8
8
8
9
9
9
SCROLLAMOUNT=number
8
8
8
8
8
8
9
9
9
SCROLLDELAY=number
8
8
8
8
8
8
9
9
9
STYLE= string
8
8
8
8
8
8
8
8
9
TITLE= string
8
8
8
8
8
8
8
8
9
TRUESPEED
8
8
8
8
8
8
8
8
9
VSPACE=number
8
8
8
8
8
8
9
9
9
WIDTH=number
8
8
8
8
8
8
9
9
9
904
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
MENU Renders the following block of text as individual items. Use lists instead. ALL, deprecated in HTML 4.0. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
D
8
8
8
8
8
9
CLASS=classname
8
8
D
8
8
9
8
8
9
COMPACT
9
9
D
8
8
9
8
9
8
ID= string
8
8
D
8
8
9
8
8
9
LANG=language_type
8
8
D
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
D
8
8
9
8
8
9
TITLE= string
8
8
D
8
8
8
8
8
9
TYPE=CIRCLE|DISC|SQUARE
8
8
8
8
8
9
8
8
8
META Provides various types of unviewed information or instructions to the browser. ALL. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
CHARSET= string
8
8
8
8
8
8
8
9
8
CONTENT=metacontent
9
9
9
9
9
9
9
9
9
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
HTTP-EQUIV= string
9
9
9
9
9
9
9
9
9
LANG=language_type
8
8
9
8
8
8
8
8
8
NAME=metaname
9
9
9
9
9
9
8
9
9
SCHEME= string
8
8
9
8
8
8
8
8
8
TITLE= string
8
8
8
8
8
8
8
8
9
URL=url
8
8
8
8
8
8
8
9
9
905
TEAM FLY PRESENTS
Appendix D
MULTICOL Used to define multiple column formatting. N2, N3, N4. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
CLASS=classname
8
8
8
8
8
9
8
8
8
COLS=number
8
8
8
8
9
9
8
8
8
GUTTER=number
8
8
8
8
9
9
8
8
8
ID= string
8
8
8
8
8
9
8
8
8
STYLE= string
8
8
8
8
8
9
8
8
8
WIDTH=number
8
8
8
8
9
9
8
8
8
NEXTID Defines values used by text editing software when parsing or creating the document. HTML 2.0 only. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
N= string
9
8
8
8
8
8
8
8
8
NOBR Renders text without any text wrapping in the page. N2, N3, N4, IE2, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
ID= string
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
8
8
8
8
8
8
9
TITLE= string
8
8
8
8
8
8
8
8
9
NOEMBED Defines the HTML to be displayed by browsers that do not support embeds. N2, N3, N4.
906
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
NOFRAMES Defines the HTML to be displayed in browsers that do not support frames.HTML 4.0, N2, N3, N3, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
ID= string
8
8
8
8
8
8
8
8
9
STYLE= string
8
8
8
8
8
8
8
8
9
TITLE= string
8
8
8
8
8
8
8
8
9
NOLAYER Defines the part of a document that will be displayed in browsers that don't support layers. N4.
NOSCRIPT Defines the HTML to be displayed in browsers that do not support scripting. HTML 4.0, N3, N4, IE3, IE4, IE5.
OBJECT Inserts an object or other non-intrinsic HTML control into the page. HTML 4.0, IE3, IE4, IE5. Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
<event_name>=script_code
8
8
9
8
8
8
8
8
9
ACCESSKEY=key_character
8
8
8
8
8
8
8
8
9
ALIGN=ABSBOTTOM|ABSMIDDLE| BASELINE|BOTTOM|LEFT|MIDDLE| RIGHT|TEXTTOP|TOP
9
9
D
8
8
8
8
9
9
ARCHIVE=urllist
8
8
9
8
8
8
8
8
8
BORDER=number
8
8
D
8
8
8
8
9
8
CLASS=classname
8
8
9
8
8
8
8
8
9
CLASSID= string
8
8
9
8
8
8
8
9
9
CODE=filename
8
8
8
8
8
8
8
8
9
CODEBASE=url
8
8
9
8
8
8
8
9
9
CODETYPE=url
8
8
9
8
8
8
8
9
9
DATA= string
8
8
9
8
8
8
8
9
9
DATAFLD=column_name
8
8
8
8
8
8
8
8
9
Table Continued on Following Page
907
TEAM FLY PRESENTS
Appendix D
Attributes
2.0
3.2
4.0
N2
N3
N4
IE2
IE3
IE4/5
DATASRC=id
8
8
8
8
8
8
8
8
9
DECLARE
8
8
9
8
8
8
8
9
8
DIR=LTR|RTL
8
8
9
8
8
8
8
8
8
EXPORT
8
8
9
8
8
8
8
8
8
HEIGHT=number
8
8
9
8
8
8
8
9
9
HSPACE=number
8
8
9
8
8
8
8
9
8
ID= string
8
8
9
8
8
8
8
8
9
LANG=language_type
8
8
9
8
8
8
8
8
9
LANGUAGE=JAVASCRIPT|JSCRIPT| VBSCRIPT|VBS
8
8
8
8
8
8
8
8
9
NAME= string
8
8
9
8
8
8
8
9
9
NOTAB
8
8
8
8
8
8
8
9
8
SHAPES
8
8
9
8
8
8
8
9
8
STANDBY= string
8
8
9
8
8
8
8
9
8
STYLE= string
8
8
9
8
8
8
8
8
9
TABINDEX=number
8
8
9
8
8
8
8
9
9
TITLE= string
8
8
9
8
8
8
8
9
9
TYPE=MIME-type
8
8
9
8
8
8
8
8
8
USEMAP=url
8
8
9
8
8
8
8
9
8
VSPACE=number
8
8
9
8
8
8
8
9
8
WIDTH=number
8
8
9
8
8
8
8
9
9
908
TEAM FLY PRESENTS
The Wrox Ultimate HTML Database Listing
OL Renders lines of text that have