###############################################################################
# Copyright (c) 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

ATagInfo=A link if the href attribute is present, and the target for a link if the name attribute is present
ABBRTagInfo=An abbreviation (for example, WWW, HTTP)
ACRONYMTagInfo=An acronym (for example, SCUBA)
ADDRESSTagInfo=Address information for the author of the page
APPLETTagInfo=A Java applet
AREATagInfo=Defines a client-side image map area
BTagInfo=Displays contained text as bold
BASETagInfo=The base URI for the page, to be used when calculating relative paths
BASEFONTTagInfo=The base font size for the page
BDOTagInfo=Overrides default bidirectional display. For use with bidirectional languages.
BIGTagInfo=Displays contained text as large
BGSOUNDTagInfo=Defines a sound file for the page. Not supported by W3C HTML 4.01.
BLINKTagInfo=Displays text as blinking. Not supported by W3C HTML 4.01.
BLOCKQUOTETagInfo=A long quotation
BODYTagInfo=The document body. Contains all the content for the page.
BRTagInfo=Forces a line break
BUTTONTagInfo=Defines a push button
CAPTIONTagInfo=Defines a table caption
CENTERTagInfo=Displays contained text centered. Equivalent to DIV with align=center.
CITETagInfo=A citation
CODETagInfo=A computer code fragment
COLTagInfo=A table column
COLGROUPTagInfo=A group of table columns
DDTagInfo=A definition or description in a definition or description list
DELTagInfo=Displays text as deleted
DFNTagInfo=A definition
DIRTagInfo=A directory listing
DIVTagInfo=A generic container, which can be used for defining language or style for the contents
DLTagInfo=A definition or description list
DTTagInfo=A term or subject in a definition or description list
EMTagInfo=Displays text emphasized (generally italicized)
EMBEDTagInfo=Defines an embedded plug-in. Not supported by W3C HTML 4.01.
FIELDSETTagInfo=Defines a form control group
FONTTagInfo=Displays text in the given font
FORMTagInfo=Defines an interactive form
FRAMETagInfo=Defines a frame within the current window
FRAMESETTagInfo=Defines a frameset that divides the window into frames
H1TagInfo=A top-level heading
H2TagInfo=A second-level heading
H3TagInfo=A third-level heading
H4TagInfo=A fourth-level heading
H5TagInfo=A fifth-level heading
H6TagInfo=A sixth-level heading
HEADTagInfo=Contains metadata and window title information for the document
HRTagInfo=A horizontal rule
HTMLTagInfo=The root element for the document.
ITagInfo=Displays text as italic
IFRAMETagInfo=Defines an inline subwindow
IMGTagInfo=Displays the referenced image as embedded content
INPUTTagInfo=Defines a form control for user input
INSTagInfo=Defines inserted text
ISINDEXTagInfo=Defines a single line prompt
KBDTagInfo=Defines text to be entered by the user
LABELTagInfo=Defines the label for a form field
LEGENDTagInfo=Defines the label for a set of form fields
LITagInfo=Defines a list item within a list
LINKTagInfo=A media-independent link
MAPTagInfo=Defines a client-side image map
MARQUEETagInfo=Displays text as scrolling. Not supported by W3C HTML 4.01.
MENUTagInfo=Defines a menu list
METATagInfo=Defines metadata information for the document
NOBRTagInfo=Overrides and prevents line breaks. Not supported by W3C HTML 4.01.
NOFRAMESTagInfo=Provides information to display if the current browser does not support frames
NOSCRIPTTagInfo=Provides information to display if the current browser does not support scripting
OBJECTTagInfo=Defines a generic embedded object
OLTagInfo=An ordered list
OPTGROUPTagInfo=An option group
OPTIONTagInfo=A selectable choice
PTagInfo=A paragraph
PARAMTagInfo=A named property value
PRETagInfo=Preformatted text
QTagInfo=A short inline quotation
STagInfo=Display text in strike-through style
SAMPTagInfo=Sample program output, scripts, etc. Displays in monospace font.
SCRIPTTagInfo=Script statements
SELECTTagInfo=An option selector
SMALLTagInfo=Displays text as small
SPANTagInfo=A generic container, which can be used for defining language or style for the contents
STRIKETagInfo=Display text in strike-through style
STRONGTagInfo=Displays text as strongly emphasized (generally bold)
STYLETagInfo=Defines a style for the contained information
SUBTagInfo=Display as subscript
SUPTagInfo=Display as superscript
TABLETagInfo=Defines a table
TBODYTagInfo=The body of the table
TDTagInfo=A cell within a table
TEXTAREATagInfo=A multi-line text field
TFOOTTagInfo=A table footer
THTagInfo=A table header cell
THEADTagInfo=A table header
TITLETagInfo=The document title, displayed in the browser's title bar
TRTagInfo=A table row
TTTagInfo=Displays text in teletype or monospaced text style
UTagInfo=Displays text as underlined
ULTagInfo=An unordered list
VARTagInfo=An instance of a variable or program argument
WBRTagInfo=Allows a line break within <B>&lt;NOBR&gt;</B> tag. Not supported by W3C HTML 4.01.
