Diff for /books/www/chapters/appc.html between versions 1.2 and 1.11

version 1.2, 2002/09/23 15:23:31 version 1.11, 2003/03/29 15:57:15
Line 1 Line 1
<HTML>    <link rel="prev" href="http://books.mozdev.org/chapters/appb.html" />
<HEAD><TITLE>Appendix C</TITLE></HEAD><BODY BGCOLOR=WHITE><H2>Appendix C</H2> 
<H1><A NAME="77003"></A> Programmer's Reference</H1> 
<P>This appendix is an easy-to-use reference that contains information about XUL elements, XBL elements, and event attributes. Details about how  
each element and event works within a Mozilla application are covered in the rest of the book; to learn how to use XUL or XBL, read <A  
HREF="ch03.html#32764">Chapter 3</A> and <A HREF="ch07.html#70326">Chapter 7</A>. 
<P>Once you know how to use XUL and XBL, this reference allows you to look up all available tags and elements quickly. Each entry listed below includes a brief description of the element or event, its purpose, what attributes the element or event has, and what other related elements or events you can look at to get more information. 
<H2><A NAME="77004"></A> XUL Element Set</H2> 
<P>XUL isn't yet identified as a specification, and the  <!--INDEX STARTRANGE--XUL element set -->  <!--INDEX STARTRANGE--elements:XUL element set --> language is still changing. The elements and attributes given here represent a stable subset of the XUL widget set. XML allows you to define new elements and attributes arbitrarily (which is partly what makes a powerful extension like XBL possible) in your markup. Although it's discouraged in practice, Mozilla application developers-even those working on the Mozilla source itself-often use this flexibility to manage data in one-off attributes. For example, you may find XUL buttons in the source with attributes like "loading," which is not part of the XUL specification. In fact, XBL's presence, XML's flexibility, and DOM interfaces blur the distinction between valid XUL and other XML markup. This reference tries to document all widgets in the XUL 1.0 release, any additional attributes these elements have, and their use  <!--INDEX attributes:XUL:elements;XUL elements, attributes --> in Mozilla application development. 
<P>All XUL elements have the attributes shown in Table C-1. 
   
<P><I>Table C-1: <A NAME="77002"></A></I>    <h2>Appendix C</h2>
<I>Common XUL element attributes</I>    <h1><a name="77003"></a> Programmer's Reference</h1>
<P><TABLE WIDTH=100% BORDER=1><TR><TD><B>  Attribute</B></TD> <TD><B>  Description</B></TD></TR>    <p>This appendix is an easy-to-use reference that contains
<TR><TD> align</TD>     <TD>  Specifies how child elements are aligned: baseline, center, end, start, or stretch</TD></TR>    information about XUL elements, XBL elements, and event
<TR><TD> allowevents</TD>     <TD>  (Boolean) Specifies whether events should be passed to the child elements</TD></TR>    attributes. Details about how each element and event works
<TR><TD> class</TD>     <TD>  The element class of the ; often used for class-based style rules</TD></TR>    within a Mozilla application are covered in the rest of the
<TR><TD> collapsed</TD>     <TD>  (Boolean) Specifies whether the element is collapsed or displayed; defaults to false</TD></TR>    book; to learn how to use XUL or XBL, read <a href=
<TR><TD> container</TD>     <TD>  (Boolean) Specifies whether the element can have child elements</TD></TR>    "ch03.html#32764">Chapter 3</a> and <a href=
<TR><TD> containment</TD>     <TD>  Used in templates; points to RDF property represented by this XUL element</TD></TR>    "ch07.html#70326">Chapter 7</a>.</p>
<TR><TD> context</TD>     <TD>  Points to the context menu that this element should use</TD></TR>    <p>Once you know how to use XUL and XBL, this reference allows
<TR><TD> datasources</TD>     <TD>  Used in templates; points to the RDF data that gets processed</TD></TR>    you to look up all available tags and elements quickly. Each
<TR><TD> debug</TD>     <TD>  Used for debugging XUL; adds borders to make the element and its layout easily visible</TD></TR>    entry listed below includes a brief description of the element
<TR><TD> dir</TD>     <TD>  Specifies the direction of the children: normal or reverse</TD></TR>    or event, its purpose, what attributes the element or event
<TR><TD> empty</TD>     <TD>  (Boolean) Used for template; specifies that the container has no children</TD></TR>    has, and what other related elements or events you can look at
<TR><TD> equalsize</TD>     <TD>  Specifies whether the children should be of the same size: always or never</TD></TR>    to get more information.</p>
<TR><TD> flex</TD>     <TD>  Provides an integer or percent value that specifies the flexibility of an element relative to its siblings within a container</TD></TR>    <h2><a name="77004"></a> XUL Element Set</h2>
<TR><TD> flexgroup</TD>     <TD>  Provides an integer that can group elements and give them the same degree of flexibility</TD></TR>    <p>XUL isn't yet identified as a specification, and the 
<TR><TD> height</TD>     <TD>  Specifies an element's height</TD></TR>    <!--INDEX STARTRANGE==XUL element set --> 
<TR><TD> hidden</TD>     <TD>  (Boolean) Specifies whether the element is displayed; defaults to </TD>false</TR>    <!--INDEX STARTRANGE==elements:XUL element set --> language is
<TR><TD> id</TD>     <TD>  A unique identifier for the element</TD></TR>    still changing. The elements and attributes given here
<TR><TD> insertafter</TD>     <TD>  Names the ID of the element after which this element should be overlaid; this attribute works only in overlays</TD></TR>    represent a stable subset of the XUL widget set. XML allows you
<TR><TD> insertbefore</TD>     <TD>  Names the ID of the element which this element should be overlaid before; this attribute works only in overlays</TD></TR>    to define new elements and attributes arbitrarily (which is
<TR><TD> left</TD>     <TD>  Specifies an element's position within a container in pixels to the left</TD></TR>    partly what makes a powerful extension like XBL possible) in
<TR><TD> maxheight</TD>     <TD>  Specifies an element's maximum height</TD></TR>    your markup. Although it's discouraged in practice, Mozilla
<TR><TD> maxwidth</TD>     <TD>  Specifies an element's maximum width</TD></TR>    application developers-even those working on the Mozilla source
<TR><TD> minheight</TD>     <TD>  Specifies an element's minimum height</TD></TR>    itself-often use this flexibility to manage data in one-off
<TR><TD> minwidth</TD>     <TD>  Specifies an element's minimum width</TD></TR>    attributes. For example, you may find XUL buttons in the source
<TR><TD> observes</TD>     <TD>  Points to a broadcasting element whose state this element observes</TD></TR>    with attributes like "loading," which is not part of the XUL
<TR><TD> ordinal</TD>     <TD>  (Integer) Specifies the element's order within the parent</TD></TR>    specification. In fact, XBL's presence, XML's flexibility, and
<TR><TD> orient</TD>     <TD>  Shows the element's orientation: vertical or horizontal</TD></TR>    DOM interfaces blur the distinction between valid XUL and other
<TR><TD> pack</TD>     <TD>  Shows how children should be distributed within this container: center, end, or start</TD></TR>    XML markup. This reference tries to document all widgets in the
<TR><TD> persist</TD>     <TD>  Shows which of the element's attributes should be persisted/stored for reuse</TD></TR>    XUL 1.0 release, any additional attributes these elements have,
<TR><TD> position</TD>     <TD>  Shows the element's position within a list (e.g., menuitems in a menu)</TD></TR>    and their use 
<TR><TD> ref</TD>     <TD>  Specifies the RDF data root to begin processing (used in templates)</TD></TR>    <!--INDEX attributes:XUL:elements;XUL elements, attributes -->
<TR><TD> style</TD>     <TD>  Provides style rules for the current element</TD></TR>    in Mozilla application development.</p>
<TR><TD> template</TD>     <TD>  Specifies an existing template to use for this content (used in templates)</TD></TR>    <p>All XUL elements have the attributes shown in Table C-1.</p>
<TR><TD> tooltip</TD>     <TD>  Specifies a pop up or tooltip ID to be used for this element</TD></TR>    <p><i>Table C-1: <a name="77002"></a></i> <i>Common XUL element
<TR><TD> tooltiptext</TD>     <TD>  Specifies text to be displayed in the element's tooltip (doesn't require a separate tooltip attribute)</TD></TR>    attributes</i></p>
<TR><TD> top</TD>     <TD>  Shows the current element's position within a container in pixels from the top</TD></TR>    false
<TR><TD> uri</TD>     <TD>  Specifies the root in the XUL where content processing begins (used in templates)</TD></TR>    <table width="100%" border="1">
<TR><TD> width</TD>     <TD>  Specifies an element's width</TD></TR></TABLE><P>      <tr>
        <td><b>Attribute</b></td>
<HR><H3><A NAME="77008"></A> action</H3>        <td><b>Description</b></td>
Child element in a XUL template structure that draws content for matched data      </tr>
<H4><A NAME="77008"></A> Additional Attributes</H4>      <tr>
None.        <td>align</td>
<H4><A NAME="77008"></A> Description</H4>        <td>Specifies how child elements are aligned: baseline,
The <TT> <!--INDEX action element, XUL --> action</TT> element defines the content drawn into the XUL when the rules defined in a template's <TT>conditions</TT> structure are met. The content to be drawn is an <TT>action</TT> element's child.        center, end, start, or stretch</td>
<H4><A NAME="77008"></A> See Also</H4>      </tr>
<TT>template</TT>, <TT>rule</TT>, <TT>condition</TT>, <TT>binding</TT>      <tr>
<HR><H3><A NAME="77012"></A> arrowscrollbox</H3>        <td>allowevents</td>
<P>Container box for scrolling contents        <td>(Boolean) Specifies whether events should be passed to
<H4><A NAME="77012"></A> Additional Attributes</H4>        the child elements</td>
None.      </tr>
<H4><A NAME="77012"></A> Description</H4>      <tr>
A <TT>box</TT> with arrows  <!--INDEX arrowscrollbox element, XUL --> that allow scrolling through its contents. The box scrolls when the user's mouse hovers over the arrows. It is commonly used in large menus that overflow a provided space.        <td>class</td>
<H4><A NAME="77012"></A> See Also</H4>        <td>The element class of the ; often used for class-based
<TT>autorepeatbutton</TT>, <TT>scrollbox</TT>        style rules</td>
<HR><H3><A NAME="77016"></A> autorepeatbutton</H3>      </tr>
<P>Provides arrows for a scrolling area      <tr>
<H4><A NAME="77016"></A> Additional Attributes</H4>        <td>collapsed</td>
scrolldir        <td>(Boolean) Specifies whether the element is collapsed or
<H4><A NAME="77016"></A> Description</H4>        displayed; defaults to false</td>
This element is used to  <!--INDEX autorepeatbutton element, XUL --> internally bind the <TT>arrowscrollbox</TT> element and it surrounds a <TT>scrollbox</TT> area to provide the navigation arrows. The <TT>scrolldir</TT> attribute, which can have a value of <TT>up</TT> or <TT>down</TT>, determines the direction of the arrows.      </tr>
<H4><A NAME="77016"></A> See Also</H4>      <tr>
<TT>arrowscrollbox</TT>, <TT>scrollbox</TT>        <td>container</td>
<HR><H3><A NAME="77020"></A> binding</H3>        <td>(Boolean) Specifies whether the element can have child
<P>Child element in a XUL template that optionally matches in the data        elements</td>
<H4><A NAME="77020"></A> Additional Attributes</H4>      </tr>
<TT>predicate</TT>,  <!--INDEX binding element, XUL --> <TT>object</TT>, <TT>subject</TT>, <TT>template</TT>, <TT>rule</TT>, <TT>condition</TT>, <TT>action</TT>,<TT> bindings</TT>      <tr>
<H4><A NAME="77020"></A> Description</H4>        <td>containment</td>
In contrast to the <TT>rule</TT> element, which must match to trigger the action, <TT>binding</TT> allows you to create an optional rule for data matching.        <td>Used in templates; points to RDF property represented
<H4><A NAME="77020"></A> See Also</H4>        by this XUL element</td>
<TT>action</TT>, <TT>template</TT>, <TT>rule</TT>, <TT>condition</TT>, <TT>bindings</TT>      </tr>
<HR><H3><A NAME="77024"></A> bindings</H3>      <tr>
<P>Substructure in a XUL template that collects the optional binding rules        <td>context</td>
Additional Attributes        <td>Points to the context menu that this element should
None.        use</td>
<H4><A NAME="77024"></A> Description</H4>      </tr>
Individual bindings must be  <!--INDEX bindings element, XUL --> defined with a <TT>bindings</TT> parent to be a part of a valid XUL template.      <tr>
<H4><A NAME="77024"></A> See Also</H4>        <td>datasources</td>
<TT>action</TT>, <TT>template</TT>, <TT>rule</TT>, <TT>condition</TT>, <TT>binding</TT>        <td>Used in templates; points to the RDF data that gets
<HR><H3><A NAME="77028"></A> box</H3>        processed</td>
<P>Generic container and layout element      </tr>
<H4><A NAME="77028"></A> Additional Attributes</H4>      <tr>
None.        <td>debug</td>
<H4><A NAME="77028"></A> Description</H4>        <td>Used for debugging XUL; adds borders to make the
This element can contain any  <!--INDEX box element, XUL --> type of content and any number of elements. Its default orientation is <TT>horizontal</TT>, unless otherwise overridden by the <TT>orient</TT> attribute, and the contents are laid out in the order they appear in the file. The <TT>box</TT> is the basic layout unit in a XUL interface. Many, if not most, XUL elements inherit from <TT>box</TT>.        element and its layout easily visible</td>
<H4><A NAME="77028"></A> See Also</H4>      </tr>
<TT>hbox</TT>, <TT>vbox</TT>      <tr>
<HR><H3>broadcaster</H3>        <td>dir</td>
<P>Notifies elements when a change occurs in the UI        <td>Specifies the direction of the children: normal or
Contained by        reverse</td>
broadcasterset      </tr>
<H4><A NAME="77033"></A> Additional Attributes</H4>      <tr>
<TT>checked</TT>, <TT>accesskey</TT>, <TT>oncommand</TT>, <TT>value</TT>, <TT>label</TT>, <TT>disabled</TT>        <td>empty</td>
<H4><A NAME="77033"></A> Description</H4>        <td>(Boolean) Used for template; specifies that the
A <TT>broadcaster</TT> acts as a host for  <!--INDEX broadcaster element, XUL --> other elements, detecting changes that occur in the UI and notifying those elements of the changes via attribute changes. The elements that use it are said to observe the broadcaster. The observed attribute is typically the <TT>oncommand</TT> attribute, but can be any attribute.        container has no children</td>
<H4><A NAME="77033"></A> See Also</H4>      </tr>
<TT>broadcasterset</TT>, <TT>command</TT>, <TT>observes</TT>      <tr>
<HR><H3><A NAME="77038"></A> broadcasterset</H3>        <td>equalsize</td>
<P>Container for broadcaster elements        <td>Specifies whether the children should be of the same
<A NAME="77038"></A> Contains        size: always or never</td>
broadcaster      </tr>
<H4><A NAME="77038"></A> Additional Attributes</H4>      <tr>
None.        <td>flex</td>
<H4><A NAME="77038"></A> Description</H4>        <td>Provides an integer or percent value that specifies the
The purpose of this nonvisible  <!--INDEX broadcasterset element, XUL --> element is to group a set of broadcasters logically. The XUL document can contain one or multiple sets.        flexibility of an element relative to its siblings within a
<H4><A NAME="77038"></A> See Also</H4>        container</td>
<TT>broadcaster</TT>, <TT>commandset</TT>      </tr>
<HR><H3><A NAME="77042"></A> browser</H3>      <tr>
<P>Web-content container        <td>flexgroup</td>
<H4><A NAME="77042"></A> Additional Attributes</H4>        <td>Provides an integer that can group elements and give
<TT>src</TT>, <TT>name</TT>, <TT>content</TT>, <TT>onclick</TT>, <TT>type</TT>, <TT>disablehistory</TT>,<TT> disablesecurity</TT>        them the same degree of flexibility</td>
<H4><A NAME="77042"></A> Description</H4>      </tr>
A content widget or frame used  <!--INDEX browser element, XUL --> to load in web content for read-only viewing. This element is used by the main Mozilla browser, so it handles HTML, XML, and plain text. To load a page, set the <TT>src</TT> attribute to a URL. Other features include the attachment of a context menu that uses the <TT>context</TT> attribute and various methods and properties exposed for web navigation and display.      <tr>
<H4><A NAME="77042"></A> See Also</H4>        <td>height</td>
<TT>editor</TT>, <TT>iframe</TT>        <td>Specifies an element's height</td>
<HR><H3><A NAME="77046"></A> button</H3>      </tr>
<P>A widget that activates some functionality when pressed      <tr>
<H4><A NAME="77046"></A> Additional Attributes</H4>        <td>hidden</td>
<TT>accesskey</TT>, <TT>dir</TT>, <TT>disabled</TT>, <TT>dlgType</TT>, <TT>group</TT>, <TT>image</TT>, <TT>label</TT>, <TT>orient</TT>, <TT>type</TT>, <TT>value</TT>        <td>(Boolean) Specifies whether the element is displayed;
<H4><A NAME="77046"></A> Description</H4>        defaults to</td>
A <TT>button</TT> typically gives the user  <!--INDEX button element, XUL --> an option to click it to carry out JavaScript code routine(s). This code can be a function call or inline script and is contained in the <TT>onclick</TT> attribute or the <TT>oncommand</TT> event handler. It can optionally have an image associated with a URL contained in the <TT>image</TT> attribute or by using the <TT>list-style-image</TT> CSS property. There are various types of buttons, determined by the type attribute, including <TT>checkbox</TT>, <TT>menu</TT>, <TT>menu-button</TT>, and <TT>radio</TT>. Leave this out for a normal button.      </tr>
<H4><A NAME="77046"></A> See Also</H4>      <tr>
<TT>autorepeatbutton</TT>, <TT>toolbarbutton</TT>        <td>id</td>
<HR><H3><A NAME="77051"></A> caption</H3>        <td>A unique identifier for the element</td>
<P>Provides heading for a groupbox element      </tr>
<A NAME="77051"></A> Contained by      <tr>
<TT>groupbox</TT>,  <!--INDEX caption element, XUL --> radiogroup        <td>insertafter</td>
<H4><A NAME="77051"></A> Additional Attributes</H4>        <td>Names the ID of the element after which this element
None.        should be overlaid; this attribute works only in
<H4><A NAME="77051"></A> Description</H4>        overlays</td>
This element is most commonly used to provide a text label for a <TT>groupbox</TT> by setting the <TT>label</TT> attribute. However, it is flexible about other content it can contain, such as checkboxes or radio buttons.      </tr>
<H4><A NAME="77051"></A> See Also</H4>      <tr>
<TT>description</TT>, <TT>groupbox</TT>, <TT>label</TT>, <TT>radiogroup</TT>        <td>insertbefore</td>
<HR><H3><A NAME="77055"></A> checkbox</H3>        <td>Names the ID of the element which this element should
<P>Indicates a specified feature's on/off state        be overlaid before; this attribute works only in
<H4><A NAME="77055"></A> Additional Attributes</H4>        overlays</td>
<TT>accesskey</TT>, <TT>label</TT>, <TT>checked</TT>      </tr>
<H4><A NAME="77055"></A> Description</H4>      <tr>
A <TT>checkbox</TT> appears as a small  <!--INDEX checkbox element, XUL --> box that can be checked on or off. When checked on or off, the <TT>checked</TT> attribute is set to <TT>true</TT> or <TT>false</TT>. It can be set initially for a default value. To associate text with a <TT>checkbox</TT>, set the <TT>label</TT> attribute.        <td>left</td>
<H4><A NAME="77055"></A> See Also</H4>        <td>Specifies an element's position within a container in
radio        pixels to the left</td>
<HR><H3>colorpicker</H3>      </tr>
<P>Widget used to choose a color      <tr>
Additional Attributes        <td>maxheight</td>
<TT>onchange</TT>, <TT> <!--INDEX colorpicker element, XUL --> type</TT>, <TT>id</TT>, <TT>palettename</TT>        <td>Specifies an element's maximum height</td>
<H4><A NAME="77059"></A> Description</H4>      </tr>
When activated, this widget presents a choice of colors to the user in a grid format. The user selects a color by clicking on it. The <TT>palettename</TT> attribute determines the displayed colors. Three values for this attribute represent three types of palettes: standard, grey, and web.      <tr>
<H4><A NAME="77059"></A> JavaScript Methods and Properties</H4>        <td>maxwidth</td>
color        <td>Specifies an element's maximum width</td>
<HR><H3><A NAME="77064"></A> column</H3>      </tr>
<P>A column in a grid      <tr>
<A NAME="77064"></A> Contained by        <td>minheight</td>
columns <!--INDEX column element, XUL -->        <td>Specifies an element's minimum height</td>
<H4><A NAME="77064"></A> Additional Attributes</H4>      </tr>
None.      <tr>
<H4><A NAME="77064"></A> Description</H4>        <td>minwidth</td>
<TT>column</TT> is a column entry in a <TT>grid</TT>, of which there can be one or more contained in a <TT>columns</TT> element. The content of cells in a column is determined by the children of each <TT>row</TT> element.        <td>Specifies an element's minimum width</td>
<H4><A NAME="77064"></A> See Also</H4>      </tr>
<TT>columns</TT>, <TT>grid</TT>, <TT>row</TT>, <TT>rows</TT>      <tr>
<HR><H3><A NAME="77069"></A> columns</H3>        <td>observes</td>
<P>Container for the number of columns in a grid        <td>Points to a broadcasting element whose state this
<A NAME="77069"></A> Contains        element observes</td>
column <!--INDEX columns element, XUL -->      </tr>
<H4><A NAME="77069"></A> Additional Attributes</H4>      <tr>
None.        <td>ordinal</td>
<H4><A NAME="77069"></A> Description</H4>        <td>(Integer) Specifies the element's order within the
The children of this element are one or more <TT>column</TT> elements, the number of which determines the actual number of grid columns.        parent</td>
<H4><A NAME="77069"></A> See Also</H4>      </tr>
<TT>column</TT>, <TT>grid</TT>, <TT>row</TT>, <TT>rows</TT>      <tr>
<HR><H3>command</H3>        <td>orient</td>
<P>Defines functionality that can be called from multiple sources        <td>Shows the element's orientation: vertical or
Contained by        horizontal</td>
commandset <!--INDEX command element, XUL -->      </tr>
<H4><A NAME="77074"></A> Additional Attributes</H4>      <tr>
<TT>disabled</TT>, <TT>accesskey</TT>, <TT>observes</TT>, <TT>label</TT>, <TT>checked</TT>        <td>pack</td>
<H4><A NAME="77074"></A> Description</H4>        <td>Shows how children should be distributed within this
The <TT>command</TT> element provides a place to organize functionality used in more than one place in the interface-from a context menu, a keyboard shortcut, and a regular menu, for example. The element is identified and shared by using its <TT>ID</TT> value and an interested element's (i.e., a menu that wants the command) <TT>observes</TT> attribute. It also typically calls a JavaScript command from its <TT>oncommand</TT> event handler.        container: center, end, or start</td>
<H4><A NAME="77074"></A> See Also</H4>      </tr>
<TT>commands</TT>, <TT>commandset</TT>      <tr>
<HR><H3><A NAME="77078"></A> commands</H3>        <td>persist</td>
<P>Container for a group of command sets        <td>Shows which of the element's attributes should be
<H4><A NAME="77078"></A> Additional Attributes</H4>        persisted/stored for reuse</td>
None. <!--INDEX commands element, XUL -->      </tr>
<H4><A NAME="77078"></A> Description</H4>      <tr>
<TT>commandsets</TT> no longer need to be contained within a <TT>commands</TT> element. Still, the <TT>commands</TT> group can help you organize your code and user overlays to import commands, especially related sets.        <td>position</td>
<H4><A NAME="77078"></A> See Also</H4>        <td>Shows the element's position within a list (e.g.,
<TT>command</TT>, <TT>commandset</TT>        menuitems in a menu)</td>
<HR><H3><A NAME="77083"></A> commandset</H3>      </tr>
<P>A container for multiple command elements      <tr>
<A NAME="77083"></A> Contains        <td>ref</td>
command        <td>Specifies the RDF data root to begin processing (used
<H4><A NAME="77083"></A> Additional Attributes</H4>        in templates)</td>
<TT>oncommandupdate</TT>,  <!--INDEX commandset element, XUL --> <TT>commandupdater</TT>, <TT>events</TT>      </tr>
<H4><A NAME="77083"></A> Description</H4>      <tr>
An invisible, document-level element that acts as a logical grouping for commands or other command sets.        <td>style</td>
<H4><A NAME="77083"></A> See Also</H4>        <td>Provides style rules for the current element</td>
<TT>command</TT>, <TT>commands</TT>      </tr>
<HR><H3><A NAME="77088"></A> conditions</H3>      <tr>
<P>Defines the conditions within a template rule        <td>template</td>
<A NAME="77088"></A> Contains        <td>Specifies an existing template to use for this content
<TT>content</TT>, <TT>member</TT>, triple <!--INDEX conditions element, XUL -->        (used in templates)</td>
<H4><A NAME="77088"></A> Additional Attributes</H4>      </tr>
None.      <tr>
<H4><A NAME="77088"></A> Description</H4>        <td>tooltip</td>
Within a <TT>template</TT>, the <TT>conditions</TT>, <TT>action</TT>, and sometimes the <TT>bindings</TT> elements comprise a single rule. The children of the <TT>conditions</TT> element must be matched to the processed data for that rule's action to make content.        <td>Specifies a pop up or tooltip ID to be used for this
<H4><A NAME="77088"></A> See Also</H4>        element</td>
<TT>template</TT>, <TT>rule</TT>, <TT>action</TT>, <TT>member</TT>, <TT>triple</TT>, <TT>content</TT>      </tr>
<HR><H3><A NAME="77093"></A> content</H3>      <tr>
<P>Binds variables in a template        <td>tooltiptext</td>
<A NAME="77093"></A> Contained by        <td>Specifies text to be displayed in the element's tooltip
conditions <!--INDEX conditions element, XUL -->        (doesn't require a separate tooltip attribute)</td>
<H4><A NAME="77093"></A> Additional Attributes</H4>      </tr>
None.      <tr>
<H4><A NAME="77093"></A> Description</H4>        <td>top</td>
The <TT>content</TT> element is the portion of a template's <TT>conditions</TT> element that associates a variable, often representing a URI (e.g., <TT>&lt;content uri="?uri"/&gt;</TT>) with the data.        <td>Shows the current element's position within a container
<H4><A NAME="77093"></A> See Also</H4>        in pixels from the top</td>
<TT>template</TT>, <TT>rule</TT>, <TT>action</TT>, <TT>conditions</TT>, <TT>member</TT>, <TT>triple</TT>      </tr>
<HR><H3>deck</H3>      <tr>
<P>Box container that displays one child element at a time        <td>uri</td>
Additional Attributes        <td>Specifies the root in the XUL where content processing
selectedIndex        begins (used in templates)</td>
<H4><A NAME="77097"></A> Description</H4>      </tr>
<TT>deck</TT> uses the attribute <TT>selectedIndex</TT>  <!--INDEX deck element, XUL --> to determine which child element to display. The others are hidden until they are displayed by index. <TT>deck</TT> is often used dynamically via the DOM to cycle through child elements, such as buttons.      <tr>
<H4><A NAME="77097"></A> See Also</H4>        <td>width</td>
stack        <td>Specifies an element's width</td>
<HR><H3><A NAME="77101"></A> description</H3>      </tr>
<P>Holder for block of text that can wrap to multiple lines    </table>
<H4><A NAME="77101"></A> Additional Attributes</H4>    <hr>
<TT>crop</TT>, <TT>onmouseover</TT>,  <!--INDEX description element, XUL --> <TT>onmouseout</TT>, <TT>value</TT>    <h3><a name="77008"></a> action</h3>
<H4><A NAME="77101"></A> Description</H4>    Child element in a XUL template structure that draws content
The <TT>description</TT> element replaces <TT>&lt;html:label&gt;</TT> and other HTML-namespaced elements to wrap text in XUL interfaces. Text in a <TT>description</TT> can be defined as content with the open and close tags or provided in the <TT>value</TT> attribute. Note that the text does not wrap when placed in the <TT>value</TT> attribute.    for matched data 
<H4><A NAME="77101"></A> See Also</H4>    <h4><a name="77008"></a> Additional Attributes</h4>
<TT>caption</TT>, <TT>label</TT>    None. 
<HR><H3><A NAME="77105"></A> dialog</H3>    <h4><a name="77008"></a> Description</h4>
<P>Root element for secondary XUL window    The <tt><!--INDEX action element, XUL --> action</tt> element
<H4><A NAME="77105"></A> Additional Attributes</H4>    defines the content drawn into the XUL when the rules defined
<TT>ondialogaccept</TT>, <TT>ondialogcancel</TT>, <TT>ondialoghelp</TT>, <TT>onunload</TT>, <TT>onload</TT>,<TT> title</TT>, <TT>buttons</TT>, <TT>windowtype</TT>, p<TT>ersist</TT>, <TT>y</TT>, <TT>x</TT>, <TT>screenY</TT>, <TT>screenX</TT>    in a template's <tt>conditions</tt> structure are met. The
<H4><A NAME="77105"></A> Description</H4>    content to be drawn is an <tt>action</tt> element's child. 
<TT>dialog</TT> is a version of the <TT>window</TT> element  <!--INDEX dialog element, XUL --> built for displaying a secondary dialog window in the application. Like <TT>window</TT>, <TT>dialog</TT> is the root element in a XUL file. Event handlers such as <TT>ondialogaccept</TT> and <TT>ondialogcancel</TT> are included as conveniences for handling user input.    <h4><a name="77008"></a> See Also</h4>
<H4><A NAME="77105"></A> See Also</H4>    <tt>template</tt>, <tt>rule</tt>, <tt>condition</tt>,
<TT>window</TT>, <TT>page</TT>    <tt>binding</tt> 
<HR><H3><A NAME="77110"></A> dialogheader</H3>    <hr>
<P>Styled text heading for UI panel    <h3><a name="77012"></a> arrowscrollbox</h3>
<A NAME="77110"></A> Contained by    <p>Container box for scrolling contents</p>
dialog    <h4><a name="77012"></a> Additional Attributes</h4>
<H4><A NAME="77110"></A> Additional Attributes</H4>    None. 
<TT>title</TT>,  <!--INDEX dialogheader element, XUL --> description    <h4><a name="77012"></a> Description</h4>
<H4><A NAME="77110"></A> Description</H4>    A <tt>box</tt> with arrows 
This is a formatted horizontal panel that contains text specified by the <TT>title</TT> attribute. This element is the heading that appears at the top of the right panel in the Mozilla global preferences dialog.    <!--INDEX arrowscrollbox element, XUL --> that allow scrolling
<H4><A NAME="77110"></A> See Also</H4>    through its contents. The box scrolls when the user's mouse
<TT>window</TT>, <TT>dialog</TT>    hovers over the arrows. It is commonly used in large menus that
<HR><H3><A NAME="77115"></A> editor</H3>    overflow a provided space. 
<P>Content area for editable web content    <h4><a name="77012"></a> See Also</h4>
<H4><A NAME="77115"></A> Additional Attributes</H4>    <tt>autorepeatbutton</tt>, <tt>scrollbox</tt> 
src <!--INDEX editor element, XUL -->    <hr>
<H4><A NAME="77115"></A> Description</H4>    <h3><a name="77016"></a> autorepeatbutton</h3>
This high-level widget edits text and HTML. <TT>contentDocument</TT> is a reference to the document contained within the editor.    <p>Provides arrows for a scrolling area</p>
<H4><A NAME="77115"></A> JavaScript Methods and Properties</H4>    <h4><a name="77016"></a> Additional Attributes</h4>
contentDocument    scrolldir 
<H4><A NAME="77115"></A> See Also</H4>    <h4><a name="77016"></a> Description</h4>
<TT>browser</TT>, <TT>iframe</TT>    This element is used to 
<HR><H3><A NAME="77120"></A> grid</H3>    <!--INDEX autorepeatbutton element, XUL --> internally bind the
<P>Widget for laying out content in a structured tabular fashion    <tt>arrowscrollbox</tt> element and it surrounds a
<A NAME="77120"></A> Contains    <tt>scrollbox</tt> area to provide the navigation arrows. The
<TT>rows</TT>, <TT>columns</TT>    <tt>scrolldir</tt> attribute, which can have a value of
<H4><A NAME="77120"></A> Additional Attributes</H4>    <tt>up</tt> or <tt>down</tt>, determines the direction of the
None.    arrows. 
<H4><A NAME="77120"></A> Description</H4>    <h4><a name="77016"></a> See Also</h4>
The number of column elements  <!--INDEX grid element, XUL --> that are placed in rows determines the number of columns and the content for each row is placed in the <TT>row</TT> element. The number of row children must correspond to the number of columns.    <tt>arrowscrollbox</tt>, <tt>scrollbox</tt> 
<H4><A NAME="77120"></A> See Also</H4>    <hr>
<TT>column</TT>, <TT>columns</TT>, <TT>listbox</TT>, <TT>row</TT>, <TT>rows</TT>, <TT>tree</TT>    <h3><a name="77020"></a> binding</h3>
<HR><H3><A NAME="77124"></A> grippy</H3>    <p>Child element in a XUL template that optionally matches in
<P>Visible widget used on a grippy bar to expand or collapse a UI region    the data</p>
<A NAME="77124"></A> Contained by    <h4><a name="77020"></a> Additional Attributes</h4>
splitter <!--INDEX grippy element, XUL -->    <tt>predicate</tt>, <!--INDEX binding element, XUL -->
<H4><A NAME="77124"></A> Additional Attributes</H4>    <tt>object</tt>, <tt>subject</tt>, <tt>template</tt>,
None.    <tt>rule</tt>, <tt>condition</tt>, <tt>action</tt>,
<H4><A NAME="77124"></A> Description</H4>    <tt>bindings</tt> 
<TT>grippy</TT> appears as a child of a <TT>splitter</TT> and provides the little "handle" that opens and closes the <TT>sidebar</TT> and other collapsible elements in the interface.    <h4><a name="77020"></a> Description</h4>
<HR><H3><A NAME="77129"></A> groupbox</H3>    In contrast to the <tt>rule</tt> element, which must match to
<P>Box with frame surrounding it    trigger the action, <tt>binding</tt> allows you to create an
<A NAME="77129"></A> Contains    optional rule for data matching. 
caption <!--INDEX groupbox element, XUL -->    <h4><a name="77020"></a> See Also</h4>
<H4><A NAME="77129"></A> Additional Attributes</H4>    <tt>action</tt>, <tt>template</tt>, <tt>rule</tt>,
None.    <tt>condition</tt>, <tt>bindings</tt> 
<H4><A NAME="77129"></A> Description</H4>    <hr>
The border that appears around and organizes elements in the interface (e.g., in dialogs where selectable elements are grouped together); often comes from a <TT>groupbox</TT> parent.    <h3><a name="77024"></a> bindings</h3>
<H4><A NAME="77129"></A> See Also</H4>    <p>Substructure in a XUL template that collects the optional
box    binding rules Additional Attributes None.</p>
<HR><H3><A NAME="77133"></A> hbox</H3>    <h4><a name="77024"></a> Description</h4>
<P>Box container whose children are laid out horizontally    Individual bindings must be <!--INDEX bindings element, XUL -->
<H4><A NAME="77133"></A> Additional Attributes</H4>    defined with a <tt>bindings</tt> parent to be a part of a valid
None. <!--INDEX hbox element, XUL -->    XUL template. 
<H4><A NAME="77133"></A> Description</H4>    <h4><a name="77024"></a> See Also</h4>
The <TT>hbox</TT> element is a shorthand for <TT>&lt;box orient="horizontal"&gt;</TT>. It is the preferred way to achieve horizontal orientation in box layout.    <tt>action</tt>, <tt>template</tt>, <tt>rule</tt>,
<H4><A NAME="77133"></A> See Also</H4>    <tt>condition</tt>, <tt>binding</tt> 
<TT>box</TT>, <TT>vbox</TT>    <hr>
<HR><H3><A NAME="77137"></A> iframe</H3>    <h3><a name="77028"></a> box</h3>
<P>Web content area    <p>Generic container and layout element</p>
<H4><A NAME="77137"></A> Additional Attributes</H4>    <h4><a name="77028"></a> Additional Attributes</h4>
<TT>name</TT>, <TT>src</TT>, <TT>type</TT>    None. 
<H4><A NAME="77137"></A> Description</H4>    <h4><a name="77028"></a> Description</h4>
Like <TT>browser</TT>, <TT>iframe</TT> allows you to  <!--INDEX iframe element, XUL --> display web content, XML, and other data using the <TT>src</TT> attribute, but has less intrinsic browsing functionality available (such as browser history). You can use any number of iframes in a document.    This element can contain any <!--INDEX box element, XUL -->
<H4><A NAME="77137"></A> See Also</H4>    type of content and any number of elements. Its default
<TT>browser</TT>, <TT>editor</TT>    orientation is <tt>horizontal</tt>, unless otherwise overridden
<HR><H3><A NAME="77140"></A> image</H3>    by the <tt>orient</tt> attribute, and the contents are laid out
<P>Display of a supported type image    in the order they appear in the file. The <tt>box</tt> is the
<H4><A NAME="77140"></A> Additional Attributes</H4>    basic layout unit in a XUL interface. Many, if not most, XUL
src    elements inherit from <tt>box</tt>. 
<H4><A NAME="77140"></A> Description</H4>    <h4><a name="77028"></a> See Also</h4>
The XUL image is analogous to the  <!--INDEX image element, XUL --> HTML <TT>&lt;img&gt;</TT> element. The supported types in Gecko are PNG, JPG, GIF, and BMP.    <tt>hbox</tt>, <tt>vbox</tt> 
<HR><H3><A NAME="77145"></A> key</H3>    <hr>
<P>Definition for a keyboard shortcut    <h3>broadcaster</h3>
<A NAME="77145"></A> Contained by    <p>Notifies elements when a change occurs in the UI Contained
keyset <!--INDEX key element, XUL -->    by broadcasterset</p>
<H4><A NAME="77145"></A> Additional Attributes</H4>    <h4><a name="77033"></a> Additional Attributes</h4>
<TT>modifiers</TT>, <TT>command</TT>, <TT>key</TT> , <TT>keycode</TT>, <TT>observes</TT>    <tt>checked</tt>, <tt>accesskey</tt>, <tt>oncommand</tt>,
<H4><A NAME="77145"></A> Description</H4>    <tt>value</tt>, <tt>label</tt>, <tt>disabled</tt> 
A <TT>key</TT> is often defined with a <TT>commandkey</TT> and a modifier (e.g., <TT>P</TT> + <TT>Ctrl</TT>), and uses an <TT>oncommand</TT> event handler to fire the given command when invoked.    <h4><a name="77033"></a> Description</h4>
<H4><A NAME="77145"></A> See Also</H4>    A <tt>broadcaster</tt> acts as a host for 
keyset    <!--INDEX broadcaster element, XUL --> other elements,
<HR><H3><A NAME="77150"></A> keybinding</H3>    detecting changes that occur in the UI and notifying those
<P>Container for a keyset or group of keysets    elements of the changes via attribute changes. The elements
<A NAME="77150"></A> Contains    that use it are said to observe the broadcaster. The observed
keyset <!--INDEX keybinding element, XUL -->    attribute is typically the <tt>oncommand</tt> attribute, but
<H4><A NAME="77150"></A> Additional Attributes</H4>    can be any attribute. 
None.    <h4><a name="77033"></a> See Also</h4>
<H4><A NAME="77150"></A> Description</H4>    <tt>broadcasterset</tt>, <tt>command</tt>, <tt>observes</tt> 
This element is used in an overlaid file to contain a group of platform-specific key sets. It uses the <TT>ID</TT> attribute to overlay itself into XUL files that pick up sets of key bindings.    <hr>
<H4><A NAME="77150"></A> See Also</H4>    <h3><a name="77038"></a> broadcasterset</h3>
<TT>key</TT>, <TT>keyset</TT>    <p>Container for broadcaster elements <a name="77038"></a>
<HR><H3><A NAME="77154"></A> keyset</H3>    Contains broadcaster</p>
<P>Container for one or more key elements    <h4><a name="77038"></a> Additional Attributes</h4>
Contains    None. 
key <!--INDEX keyset element, XUL -->    <h4><a name="77038"></a> Description</h4>
<H4><A NAME="77154"></A> Additional Attributes</H4>    The purpose of this nonvisible 
None.    <!--INDEX broadcasterset element, XUL --> element is to group a
<H4><A NAME="77154"></A> Description</H4>    set of broadcasters logically. The XUL document can contain one
<TT>key</TT> elements no longer need to be contained within a <TT>keyset</TT> parent. Still, keysets can help organize groups of keys-particularly related ones.    or multiple sets. 
<H4><A NAME="77154"></A> See Also</H4>    <h4><a name="77038"></a> See Also</h4>
<TT>key</TT>, <TT>keybinding</TT>    <tt>broadcaster</tt>, <tt>commandset</tt> 
<HR><H3><A NAME="77158"></A> label</H3>    <hr>
<P>Simple text display element and label for a control element    <h3><a name="77042"></a> browser</h3>
<H4><A NAME="77158"></A> Additional Attributes</H4>    <p>Web-content container</p>
<TT>control</TT>, <TT>for</TT>, <TT>accesskey</TT>, <TT>crop</TT>,  <!--INDEX label element, XUL --> <TT>value</TT>    <h4><a name="77042"></a> Additional Attributes</h4>
<H4><A NAME="77158"></A> Description</H4>    <tt>src</tt>, <tt>name</tt>, <tt>content</tt>,
This text element can just display text in the UI. Unlike the <TT>description</TT> element, the text will not wrap. If you use it with a control element (the association occurs through the <TT>for</TT> attribute, the value of which must match the element's <TT>id</TT>) such as a <TT>textbox</TT>, the focus moves to the control element when the <TT>label</TT> is clicked.    <tt>onclick</tt>, <tt>type</tt>, <tt>disablehistory</tt>,
<H4><A NAME="77158"></A> See Also</H4>    <tt>disablesecurity</tt> 
<TT>caption</TT>, <TT>description</TT>    <h4><a name="77042"></a> Description</h4>
<HR><H3><A NAME="77162"></A> listbox</H3>    A content widget or frame used 
<P>Used for display of a flat list of items    <!--INDEX browser element, XUL --> to load in web content for
<H4><A NAME="77162"></A> Additional Attributes</H4>    read-only viewing. This element is used by the main Mozilla
<TT>datasources</TT>, <TT>sortResource</TT>, <TT> <!--INDEX listbox element, XUL --> sortDirection</TT>, <TT>rows</TT>, <TT>seltype</TT>, <TT>ref</TT>    browser, so it handles HTML, XML, and plain text. To load a
<H4><A NAME="77162"></A> Description</H4>    page, set the <tt>src</tt> attribute to a URL. Other features
<TT>listbox</TT> is a lightweight tabular display widget. Unlike <TT>tree</TT>, it cannot handle nested rows. It does support multiple columns, however. It is easy to use and renders content very quickly.    include the attachment of a context menu that uses the
<H4><A NAME="77162"></A> See Also</H4>    <tt>context</tt> attribute and various methods and properties
<TT>listcell</TT>, <TT>listcol</TT>, <TT>listcols</TT>, <TT>listhead</TT>, <TT>listheader</TT>, <TT>listitem</TT>    exposed for web navigation and display. 
<HR><H3><A NAME="77167"></A> listcell</H3>    <h4><a name="77042"></a> See Also</h4>
<P>Single cell of a listbox    <tt>editor</tt>, <tt>iframe</tt> 
<A NAME="77167"></A> Contained by    <hr>
listitem <!--INDEX listcell element, XUL -->    <h3><a name="77046"></a> button</h3>
<H4><A NAME="77167"></A> Additional Attributes</H4>    <p>A widget that activates some functionality when pressed</p>
<TT>label</TT>, <TT>flexlabel</TT>, <TT>crop</TT>, <TT>disabled</TT>, <TT>image</TT>, <TT>checked</TT>    <h4><a name="77046"></a> Additional Attributes</h4>
<H4><A NAME="77167"></A> Description</H4>    <tt>accesskey</tt>, <tt>dir</tt>, <tt>disabled</tt>,
The <TT>listcell</TT> is the element within a <TT>listbox</TT> that actually displays data.    <tt>dlgType</tt>, <tt>group</tt>, <tt>image</tt>,
<H4><A NAME="77167"></A> See Also</H4>    <tt>label</tt>, <tt>orient</tt>, <tt>type</tt>, <tt>value</tt> 
<TT>listbox</TT>, <TT>listcol</TT>, <TT>listcols</TT>, <TT>listheader</TT>, <TT>listitem</TT>    <h4><a name="77046"></a> Description</h4>
<HR><H3>listcol</H3>    A <tt>button</tt> typically gives the user 
<P>Listbox column definition    <!--INDEX button element, XUL --> an option to click it to
<A NAME="77171"></A> Contained by    carry out JavaScript code routine(s). This code can be a
listcols <!--INDEX listcol element, XUL -->    function call or inline script and is contained in the
<H4><A NAME="77171"></A> Description</H4>    <tt>onclick</tt> attribute or the <tt>oncommand</tt> event
This element represents a column in a <TT>listbox</TT>.    handler. It can optionally have an image associated with a URL
<H4><A NAME="77171"></A> See Also</H4>    contained in the <tt>image</tt> attribute or by using the
<TT>listbox</TT>, <TT>listcell</TT>, <TT>listcols</TT>, <TT>listheader</TT>, <TT>listitem</TT>    <tt>list-style-image</tt> CSS property. There are various types
<HR><H3><A NAME="77176"></A> listcols</H3>    of buttons, determined by the type attribute, including
<P>Container for listbox columns (listcol)    <tt>checkbox</tt>, <tt>menu</tt>, <tt>menu-button</tt>, and
<A NAME="77176"></A> Contained by    <tt>radio</tt>. Leave this out for a normal button. 
listbox <!--INDEX listcols element, XUL -->    <h4><a name="77046"></a> See Also</h4>
<A NAME="77176"></A> Contains    <tt>autorepeatbutton</tt>, <tt>toolbarbutton</tt> 
listcol    <hr>
<H4><A NAME="77176"></A> Description</H4>    <h3><a name="77051"></a> caption</h3>
This element contains any number of individual <TT>listbox</TT> columns.    <p>Provides heading for a groupbox element <a name="77051"></a>
<H4><A NAME="77176"></A> See Also</H4>    Contained by <tt>groupbox</tt>, 
<TT>listbox</TT>, <TT>listcell</TT>, <TT>listcol</TT>, <TT>listheader</TT>, <TT>listitem</TT>    <!--INDEX caption element, XUL --> radiogroup</p>
<HR><H3><A NAME="77181"></A> listhead</H3>    <h4><a name="77051"></a> Additional Attributes</h4>
<P>Container for column header in list boxes (listheader)    None. 
<A NAME="77181"></A> Contained by    <h4><a name="77051"></a> Description</h4>
listbox <!--INDEX listhead element, XUL -->    This element is most commonly used to provide a text label for
<A NAME="77181"></A> Contains    a <tt>groupbox</tt> by setting the <tt>label</tt> attribute.
listheader    However, it is flexible about other content it can contain,
<H4><A NAME="77181"></A> Description</H4>    such as checkboxes or radio buttons. 
The <TT>listhead</TT> element is analogous to the HTML <TT>thead</TT> element, and contains the header cells for an XUL listbox table.    <h4><a name="77051"></a> See Also</h4>
<H4><A NAME="77181"></A> See Also</H4>    <tt>description</tt>, <tt>groupbox</tt>, <tt>label</tt>,
<TT>listbox</TT>, <TT>listcell</TT>, <TT>listcol, listcols</TT>, <TT>listheader</TT>, <TT>listitem</TT>    <tt>radiogroup</tt> 
<HR><H3><A NAME="77186"></A> listheader</H3>    <hr>
<P>Text header for listbox column    <h3><a name="77055"></a> checkbox</h3>
<A NAME="77186"></A> Contained by    <p>Indicates a specified feature's on/off state</p>
listhead <!--INDEX listheader element, XUL -->    <h4><a name="77055"></a> Additional Attributes</h4>
<H4><A NAME="77186"></A> Additional Attributes</H4>    <tt>accesskey</tt>, <tt>label</tt>, <tt>checked</tt> 
<TT>sortActive</TT>, <TT>sortDirection</TT>, <TT>resource</TT>, <TT>sortable</TT>    <h4><a name="77055"></a> Description</h4>
<H4><A NAME="77186"></A> Description</H4>    A <tt>checkbox</tt> appears as a small 
The <TT>listheader</TT> element displays the header text.    <!--INDEX checkbox element, XUL --> box that can be checked on
<H4><A NAME="77186"></A> See Also</H4>    or off. When checked on or off, the <tt>checked</tt> attribute
<TT>listbox</TT>, <TT>listcell, listcol</TT>, <TT>listcols</TT>, <TT>listhead</TT>, <TT>listitem</TT>    is set to <tt>true</tt> or <tt>false</tt>. It can be set
<HR><H3><A NAME="77192"></A> listitem</H3>    initially for a default value. To associate text with a
<P>Listbox row definition    <tt>checkbox</tt>, set the <tt>label</tt> attribute. 
<A NAME="77192"></A> Contained By    <h4><a name="77055"></a> See Also</h4>
listbox <!--INDEX listitem element, XUL -->    radio 
<A NAME="77192"></A> Contains    <hr>
listcell    <h3>colorpicker</h3>
<H4><A NAME="77192"></A> Additional Attributes</H4>    <p>Widget used to choose a color Additional Attributes
<TT>value</TT>, <TT>description</TT>, <TT>accesskey</TT>, <TT>label</TT>, <TT>context</TT>, <TT>type</TT>, <TT>name</TT>    <tt>onchange</tt>, <tt><!--INDEX colorpicker element, XUL -->
<H4><A NAME="77192"></A> Description</H4>    type</tt>, <tt>id</tt>, <tt>palettename</tt></p>
A <TT>listitem</TT> is a row in a <TT>listbox</TT>. The number of <TT>listcell</TT> children corresponds to the number of columns in the <TT>listbox</TT>.    <h4><a name="77059"></a> Description</h4>
<H4><A NAME="77192"></A> See Also</H4>    When activated, this widget presents a choice of colors to the
<TT>listbox</TT>, <TT>listcell</TT>, <TT>listcol</TT>, <TT>listcols</TT>, <TT>listhead</TT>, <TT>listheader</TT>    user in a grid format. The user selects a color by clicking on
<HR><H3><A NAME="77196"></A> member</H3>    it. The <tt>palettename</tt> attribute determines the displayed
<P>Matches container relationships  in which the parent element is given by  a container element and the child by a child element    colors. Three values for this attribute represent three types
Additional Attributes    of palettes: standard, grey, and web. 
<TT>container</TT>,  <!--INDEX member element, XUL --> <TT>child</TT>    <h4><a name="77059"></a> JavaScript Methods and Properties</h4>
<H4><A NAME="77196"></A> Description</H4>    color 
The <TT>member</TT> element is part of the conditional structure in a XUL template. It creates a rule by which parent-child relationships are matched and used as a basis for drawing content in the XUL.    <hr>
<H4><A NAME="77196"></A> See Also</H4>    <h3><a name="77064"></a> column</h3>
<TT>conditions</TT>, <TT>rules</TT>, <TT>bindings</TT>, <TT>template</TT>    <p>A column in a grid <a name="77064"></a> Contained by columns
<HR><H3><A NAME="77200"></A> menu</H3>    <!--INDEX column element, XUL -->
<P>A menu element for containing menu items    </p>
<H4><A NAME="77200"></A> Additional Attributes</H4>    <h4><a name="77064"></a> Additional Attributes</h4>
<TT>label</TT>, <TT>accesskey</TT>,  <!--INDEX menu element, XUL --> <TT>disabled</TT>, <TT>image</TT>, <TT>disabled</TT>    None. 
<H4><A NAME="77200"></A> Description</H4>    <h4><a name="77064"></a> Description</h4>
<TT>menu</TT> is the basic menu widget. It's often contained in a <TT>menubar</TT>, but may appear elsewhere. The actual <TT>menuitems</TT> are defined within a <TT>menupopup</TT> that is usually the direct child of <TT>menu</TT>.    <tt>column</tt> is a column entry in a <tt>grid</tt>, of which
<H4><A NAME="77200"></A> See Also</H4>    there can be one or more contained in a <tt>columns</tt>
<TT>menubar</TT>, <TT>menubutton</TT>, <TT>menuitem</TT>, <TT>menulist</TT>, <TT>menupopup</TT>, <TT>menuseparator</TT>    element. The content of cells in a column is determined by the
<HR><H3><A NAME="77205"></A> menubar</H3>    children of each <tt>row</tt> element. 
<P>Containing element for one or more menus    <h4><a name="77064"></a> See Also</h4>
<A NAME="77205"></A> Contains    <tt>columns</tt>, <tt>grid</tt>, <tt>row</tt>, <tt>rows</tt> 
menu    <hr>
<H4><A NAME="77205"></A> Additional Attributes</H4>    <h3><a name="77069"></a> columns</h3>
None.    <p>Container for the number of columns in a grid <a name=
<H4><A NAME="77205"></A> Description</H4>    "77069"></a> Contains column <!--INDEX columns element, XUL -->
<TT>menubar</TT> is a special box for containing  <!--INDEX menubar element, XUL --> menus (though it can include other content). By default it has a <TT>grippy</TT> for expanding and collapsing the menubar.    </p>
<H4><A NAME="77205"></A> See Also</H4>    <h4><a name="77069"></a> Additional Attributes</h4>
<TT>menu</TT>, <TT>menubutton</TT>, <TT>menuitem</TT>, <TT>menulist</TT>, <TT>menupopup</TT>, <TT>menuseparator</TT>,<TT> grippy</TT>    None. 
<HR><H3><A NAME="77210"></A> menuitem</H3>    <h4><a name="77069"></a> Description</h4>
<P>Single selectable choice in a menu    The children of this element are one or more <tt>column</tt>
<A NAME="77210"></A> Contained by    elements, the number of which determines the actual number of
menupopup <!--INDEX menuitem element, XUL -->    grid columns. 
<H4><A NAME="77210"></A> Additional Attributes</H4>    <h4><a name="77069"></a> See Also</h4>
<TT>label</TT>, <TT>accesskey</TT>, <TT>crop</TT>, <TT>image</TT>, <TT>disabled</TT>, <TT>checked</TT>    <tt>column</tt>, <tt>grid</tt>, <tt>row</tt>, <tt>rows</tt> 
<H4><A NAME="77210"></A> Description</H4>    <hr>
The <TT>menuitem</TT> is the basic element used to display a single item in a menu (e.g., <TT>&lt;menuitem</TT> <TT>label="File"/&gt;</TT>).    <h3>command</h3>
<H4><A NAME="77210"></A> See Also</H4>    <p>Defines functionality that can be called from multiple
menu, menubar, menubutton, menulist, menupopup, menuseparator    sources Contained by commandset 
<HR><H3><A NAME="77215"></A> menulist</H3>    <!--INDEX command element, XUL -->
<P>Drop-down list of selectable items    </p>
<A NAME="77215"></A> Contains    <h4><a name="77074"></a> Additional Attributes</h4>
menupopup <!--INDEX menulist element, XUL -->    <tt>disabled</tt>, <tt>accesskey</tt>, <tt>observes</tt>,
<H4><A NAME="77215"></A> Additional Attributes</H4>    <tt>label</tt>, <tt>checked</tt> 
None.    <h4><a name="77074"></a> Description</h4>
<H4><A NAME="77215"></A> Description</H4>    The <tt>command</tt> element provides a place to organize
The <TT>menulist</TT> displays a list of menuitems, the selected one of which is displayed in the <TT>menulist</TT> itself. It is a type of drop-down menu.    functionality used in more than one place in the interface-from
<H4><A NAME="77215"></A> See Also</H4>    a context menu, a keyboard shortcut, and a regular menu, for
<TT>menu</TT>, <TT>menubar</TT>, <TT>menubutton</TT>, <TT>menuitem</TT>, <TT>menupopup</TT>, <TT>menuseparator</TT>    example. The element is identified and shared by using its
<HR><H3><A NAME="77221"></A> menupopup</H3>    <tt>ID</tt> value and an interested element's (i.e., a menu
<P>Pop-up container for menu items    that wants the command) <tt>observes</tt> attribute. It also
<A NAME="77221"></A> Contained By    typically calls a JavaScript command from its
<TT>menu</TT>, <TT> <!--INDEX menupopup element, XUL --> menubutton</TT>, <TT>menulist</TT>    <tt>oncommand</tt> event handler. 
<A NAME="77221"></A> Contains    <h4><a name="77074"></a> See Also</h4>
menuitem    <tt>commands</tt>, <tt>commandset</tt> 
<H4><A NAME="77221"></A> Additional Attributes</H4>    <hr>
<TT>popupalign</TT>, <TT>datasources</TT>, <TT>onpopupshowing</TT>, <TT>sortResource</TT>,<TT> onpopuphiding</TT>, <TT>sortDirection</TT>, <TT>context</TT>, <TT>position</TT>, <TT>popupanchor</TT>, <TT>ref</TT>    <h3><a name="77078"></a> commands</h3>
<H4><A NAME="77221"></A> Description</H4>    <p>Container for a group of command sets</p>
The <TT>menupopup</TT> contains the actual menu items defined for a menu and acts much like the <TT>popup</TT> element to show the window with a list of choices.    <h4><a name="77078"></a> Additional Attributes</h4>
<H4><A NAME="77221"></A> See Also</H4>    None. <!--INDEX commands element, XUL -->
popup, menu, menubar, menubutton, menuitem, menulist, menuseparator    <h4><a name="77078"></a> Description</h4>
<HR><H3><A NAME="77226"></A> menuseparator</H3>    <tt>commandsets</tt> no longer need to be contained within a
<P>Line separating menu items    <tt>commands</tt> element. Still, the <tt>commands</tt> group
<A NAME="77226"></A> Contained By    can help you organize your code and user overlays to import
menupopup <!--INDEX menuseparator element, XUL -->    commands, especially related sets. 
<H4><A NAME="77226"></A> Additional Attributes</H4>    <h4><a name="77078"></a> See Also</h4>
type    <tt>command</tt>, <tt>commandset</tt> 
<H4><A NAME="77226"></A> Description</H4>    <hr>
The <TT>menuseparator</TT> is a line through the menu that divides menu items into different groups. You can use the <TT>position</TT> attribute on the <TT>menuseparator</TT> to make sure it appears in a particular place, or you can use the common attribute <TT>insertAfter</TT>.    <h3><a name="77083"></a> commandset</h3>
<H4><A NAME="77226"></A> See Also</H4>    <p>A container for multiple command elements <a name=
<TT>menu</TT>, <TT>menubar</TT>, <TT>menubutton</TT>, <TT>menuitem</TT>, <TT>menulist</TT>, <TT>menuspopup</TT>    "77083"></a> Contains command</p>
<HR><H3><A NAME="77230"></A> observes</H3>    <h4><a name="77083"></a> Additional Attributes</h4>
<P>Broadcast event and attribute listener    <tt>oncommandupdate</tt>, <!--INDEX commandset element, XUL -->
<H4><A NAME="77230"></A> Additional Attributes</H4>    <tt>commandupdater</tt>, <tt>events</tt> 
<TT>element</TT>, <TT>attribute</TT>,  <!--INDEX observes element, XUL --> <TT>onbroadcast</TT>    <h4><a name="77083"></a> Description</h4>
<H4><A NAME="77230"></A> Description</H4>    An invisible, document-level element that acts as a logical
The <TT>observes</TT> element observes the state of a broadcasting element and its attributes. <TT>observes</TT> can be a separate element, defined as a child of the interested observer, or it can be an attribute on any element that wants to watch changes in a broadcasting element.    grouping for commands or other command sets. 
<H4><A NAME="77230"></A> See Also</H4>    <h4><a name="77083"></a> See Also</h4>
broadcaster    <tt>command</tt>, <tt>commands</tt> 
<HR><H3><A NAME="77234"></A> overlay</H3>    <hr>
<P>Root element in a separate file that contains reusable XUL content    <h3><a name="77088"></a> conditions</h3>
<H4><A NAME="77234"></A> Additional Attributes</H4>    <p>Defines the conditions within a template rule <a name=
<TT>xmlns</TT>, title <!--INDEX overlay element, XUL -->    "77088"></a> Contains <tt>content</tt>, <tt>member</tt>, triple
<H4><A NAME="77234"></A> Description</H4>    <!--INDEX conditions element, XUL -->
Like <TT>page</TT>, <TT>window</TT>, <TT>dialog</TT>, and <TT>wizard</TT>, <TT>overlay</TT> is a XUL document's root element. Overlay documents contain content blocks that are overlaid dynamically at runtime into XUL content whose IDs match theirs. For example, a <TT>menupopup</TT> with the <TT>ID</TT> "file" and a <TT>menuitem</TT> child in an overlay adds that new <TT>menuitem</TT> into any <TT>menupopup</TT> with the <TT>ID</TT> "file" that it finds in the base XUL.    </p>
<H4><A NAME="77234"></A> See Also</H4>    <h4><a name="77088"></a> Additional Attributes</h4>
<TT>page</TT>, <TT>window</TT>    None. 
<HR><H3><A NAME="77238"></A> page</H3>    <h4><a name="77088"></a> Description</h4>
<P>Root element of XUL file loaded in a content frame    Within a <tt>template</tt>, the <tt>conditions</tt>,
<H4><A NAME="77238"></A> Additional Attributes</H4>    <tt>action</tt>, and sometimes the <tt>bindings</tt> elements
<TT>context</TT>,  <!--INDEX page element, XUL --> <TT>headertitle</TT>, <TT>onload</TT>, <TT>onunload</TT>, <TT>title</TT>, <TT>xmlns</TT>    comprise a single rule. The children of the <tt>conditions</tt>
<H4><A NAME="77238"></A> Description</H4>    element must be matched to the processed data for that rule's
<TT>page</TT> is the root element for a XUL document that is meant to be loaded within another XUL document, such as a preference panel.    action to make content. 
<H4><A NAME="77238"></A> See Also</H4>    <h4><a name="77088"></a> See Also</h4>
<TT>dialog</TT>, <TT>overlay</TT>, <TT>window</TT>    <tt>template</tt>, <tt>rule</tt>, <tt>action</tt>,
<HR><H3><A NAME="77242"></A> popup</H3>    <tt>member</tt>, <tt>triple</tt>, <tt>content</tt> 
<P>Box container as child window    <hr>
<H4><A NAME="77242"></A> Additional Attributes</H4>    <h3><a name="77093"></a> content</h3>
<TT>onpopupshowing</TT>,  <!--INDEX popup element, XUL --> onpopuphiding    <p>Binds variables in a template <a name="77093"></a> Contained
<H4><A NAME="77242"></A> Description</H4>    by conditions <!--INDEX conditions element, XUL -->
<TT>popup</TT> is a pop-up window that can be hooked up to any UI content. It is often used for context menus and invoked by elements that use its <TT>ID</TT> attribute in their <TT>popup</TT> or <TT>context</TT> attribute.    </p>
<H4><A NAME="77242"></A> See Also</H4>    <h4><a name="77093"></a> Additional Attributes</h4>
<TT>menupopup</TT>, <TT>popupset</TT>    None. 
<HR><H3><A NAME="77246"></A> popupset</H3>    <h4><a name="77093"></a> Description</h4>
<P>Container for popup elements    The <tt>content</tt> element is the portion of a template's
<H4><A NAME="77246"></A> Additional Attributes</H4>    <tt>conditions</tt> element that associates a variable, often
None. <!--INDEX popupset element, XUL -->    representing a URI (e.g., <tt>&lt;content uri="?uri"/&gt;</tt>)
<H4><A NAME="77246"></A> Description</H4>    with the data. 
While not strictly necessary as a container for the <TT>popup</TT> element, <TT>popupset</TT> helps you organize and overlays groups of popups.    <h4><a name="77093"></a> See Also</h4>
<H4><A NAME="77246"></A> See Also</H4>    <tt>template</tt>, <tt>rule</tt>, <tt>action</tt>,
popup    <tt>conditions</tt>, <tt>member</tt>, <tt>triple</tt> 
<HR><H3><A NAME="77249"></A> progressmeter</H3>    <hr>
<P>Visual progress indicator of a time-consuming operation    <h3>deck</h3>
<H4><A NAME="77249"></A> Additional Attributes</H4>    <p>Box container that displays one child element at a time
<TT>value</TT>,  <!--INDEX progressmeter element, XUL --> mode    Additional Attributes selectedIndex</p>
<H4><A NAME="77249"></A> Description</H4>    <h4><a name="77097"></a> Description</h4>
This high-level widget uses its <TT>value</TT> attribute to fill in a meter that usually represents how long a particular task takes. You can change the <TT>value</TT> attribute dynamically to update the fill or set the mode to "undetermined" (as opposed to the default "determined" mode) to display a busy meter that doesn't chart actual progress.    <tt>deck</tt> uses the attribute <tt>selectedIndex</tt> 
<HR><H3><A NAME="77253"></A> radio</H3>    <!--INDEX deck element, XUL --> to determine which child
<P>Single on/off choice represented as selectable circle    element to display. The others are hidden until they are
<A NAME="77253"></A> Contained By    displayed by index. <tt>deck</tt> is often used dynamically via
radiogroup <!--INDEX radio element, XUL -->    the DOM to cycle through child elements, such as buttons. 
<H4><A NAME="77253"></A> Additional Attributes</H4>    <h4><a name="77097"></a> See Also</h4>
<TT>selected</TT>, <TT>group</TT>, <TT>label</TT>, <TT>accesskey</TT>, <TT>value</TT>    stack 
<H4><A NAME="77253"></A> Description</H4>    <hr>
Within a <TT>radiogroup</TT> element, a single <TT>radio</TT> widget is selected to indicate user choice. <TT>radio</TT> elements can also be used singularly to check an option on or off in the interface.    <h3><a name="77101"></a> description</h3>
<HR><H3><A NAME="77257"></A> radiogroup</H3>    <p>Holder for block of text that can wrap to multiple lines</p>
<P>Framed box for containing radio elements    <h4><a name="77101"></a> Additional Attributes</h4>
<A NAME="77257"></A> Contains    <tt>crop</tt>, <tt>onmouseover</tt>, 
radio <!--INDEX radiogroup element, XUL -->    <!--INDEX description element, XUL --> <tt>onmouseout</tt>,
<H4><A NAME="77257"></A> Additional Attributes</H4>    <tt>value</tt> 
disabled    <h4><a name="77101"></a> Description</h4>
<H4><A NAME="77257"></A> Description</H4>    The <tt>description</tt> element replaces
The <TT>radiogroup</TT> makes all <TT>radio</TT> elements within it belong to a single group from which only a single element can be selected.    <tt>&lt;html:label&gt;</tt> and other HTML-namespaced elements
<HR><H3><A NAME="77261"></A> resizer</H3>    to wrap text in XUL interfaces. Text in a <tt>description</tt>
<P>Window-resizing element    can be defined as content with the open and close tags or
<H4><A NAME="77261"></A> Additional Attributes</H4>    provided in the <tt>value</tt> attribute. Note that the text
direction <!--INDEX resizer element, XUL -->    does not wrap when placed in the <tt>value</tt> attribute. 
<H4><A NAME="77261"></A> Description</H4>    <h4><a name="77101"></a> See Also</h4>
A bar that changes the cursor when hovered over to signify that the bar can be dragged to resize the a window. The <TT>direction</TT> attribute specifies which way the window is resized, and can have values such as <TT>topleft</TT>, <TT>top</TT>, <TT>right</TT>, and <TT>bottomright</TT>. For example, a value of <TT>bottomleft</TT> resizes the window down and to the left.    <tt>caption</tt>, <tt>label</tt> 
<H4><A NAME="77261"></A> See Also</H4>    <hr>
window    <h3><a name="77105"></a> dialog</h3>
<HR><H3><A NAME="77266"></A> row</H3>    <p>Root element for secondary XUL window</p>
<P>Container for grid cells laid out consecutively    <h4><a name="77105"></a> Additional Attributes</h4>
<A NAME="77266"></A> Contained By    <tt>ondialogaccept</tt>, <tt>ondialogcancel</tt>,
rows <!--INDEX row element, XUL -->    <tt>ondialoghelp</tt>, <tt>onunload</tt>, <tt>onload</tt>,
<H4><A NAME="77266"></A> Additional Attributes</H4>    <tt>title</tt>, <tt>buttons</tt>, <tt>windowtype</tt>,
None.    p<tt>ersist</tt>, <tt>y</tt>, <tt>x</tt>, <tt>screenY</tt>,
<H4><A NAME="77266"></A> Description</H4>    <tt>screenX</tt> 
<TT>row</TT> is a single row in a <TT>grid</TT>. It is analogous to the <TT>&lt;TR&gt;</TT> element in HTML.    <h4><a name="77105"></a> Description</h4>
<H4><A NAME="77266"></A> See Also</H4>    <tt>dialog</tt> is a version of the <tt>window</tt> element 
<TT>grid</TT>, <TT>rows</TT>    <!--INDEX dialog element, XUL --> built for displaying a
<HR><H3><A NAME="77271"></A> rows</H3>    secondary dialog window in the application. Like
<P>Definition for grid rows    <tt>window</tt>, <tt>dialog</tt> is the root element in a XUL
<A NAME="77271"></A> Contains    file. Event handlers such as <tt>ondialogaccept</tt> and
row <!--INDEX rows element, XUL -->    <tt>ondialogcancel</tt> are included as conveniences for
<H4><A NAME="77271"></A> Additional Attributes</H4>    handling user input. 
None.    <h4><a name="77105"></a> See Also</h4>
<H4><A NAME="77271"></A> Description</H4>    <tt>window</tt>, <tt>page</tt> 
The <TT>rows</TT> element is a child of the <TT>grid</TT> element that contains any number of individual <TT>row</TT> elements. It is a sibling of <TT>columns</TT> within the <TT>grid</TT>.    <hr>
<H4><A NAME="77271"></A> See Also</H4>    <h3><a name="77110"></a> dialogheader</h3>
<TT>grid</TT>, <TT>row</TT>, <TT>columns</TT>, <TT>column</TT>    <p>Styled text heading for UI panel <a name="77110"></a>
<HR><H3><A NAME="77276"></A> rule</H3>    Contained by dialog</p>
<P>Defines rules for rendering data as XUL    <h4><a name="77110"></a> Additional Attributes</h4>
<A NAME="77276"></A> Contained by    <tt>title</tt>, <!--INDEX dialogheader element, XUL -->
template <!--INDEX rule element, XUL -->    description 
<H4><A NAME="77276"></A> Additional Attributes</H4>    <h4><a name="77110"></a> Description</h4>
<TT>rdf:type</TT>, <TT>parent</TT>, <TT>isempty</TT>, <TT>iscontainer</TT>    This is a formatted horizontal panel that contains text
<H4><A NAME="77276"></A> Description</H4>    specified by the <tt>title</tt> attribute. This element is the
The children of the <TT>rule</TT> element define a rule: the conditions stated in the <TT>conditions</TT> element must be met, the <TT>bindings</TT> provides optional matching, and the content in the <TT>action</TT> element is rendered if the rule is matched.    heading that appears at the top of the right panel in the
<H4><A NAME="77276"></A> See Also</H4>    Mozilla global preferences dialog. 
<TT>template</TT>, <TT>action</TT>, <TT>conditions</TT>    <h4><a name="77110"></a> See Also</h4>
<HR><H3><A NAME="77279"></A> script</H3>    <tt>window</tt>, <tt>dialog</tt> 
<P>Declaration of script used in XUL file    <hr>
<H4><A NAME="77279"></A> Additional Attributes</H4>    <h3><a name="77115"></a> editor</h3>
<TT>src</TT>, type <!--INDEX script element, XUL -->    <p>Content area for editable web content</p>
<H4><A NAME="77279"></A> Description</H4>    <h4><a name="77115"></a> Additional Attributes</h4>
The <TT>script</TT> element can contain script content (e.g., <TT>&lt;script&gt;alert("it")&lt;/script&gt;</TT>) and can also import scripts in JavaScript files, in which case the <TT>src</TT> attribute is used. The type for JavaScript is <TT>application/x-javascript</TT>, and the <TT>src</TT> attribute may also use <I>chrome://</I> type URLs to point at JavaScript in the chrome.    src <!--INDEX editor element, XUL -->
<HR><H3>scrollbar</H3>    <h4><a name="77115"></a> Description</h4>
<P>Widget for scrolling in a container    This high-level widget edits text and HTML.
Contains    <tt>contentDocument</tt> is a reference to the document
<TT>scrollbarbutton</TT>,  <!--INDEX scrollbar element, XUL --> <TT>slider</TT>    contained within the editor. 
<H4><A NAME="77283"></A> Additional Attributes</H4>    <h4><a name="77115"></a> JavaScript Methods and Properties</h4>
<TT>curpos</TT>, <TT>increment</TT>, <TT>maxpos</TT>, <TT>pageincrement</TT>    contentDocument 
<H4><A NAME="77283"></A> Description</H4>    <h4><a name="77115"></a> See Also</h4>
The <TT>scrollbar</TT> element uses the <TT>curpos</TT> and <TT>maxpos</TT> attributes to determine where the <TT>scrollbarbutton</TT> element is drawn within its length. <TT>increment</TT> specifies how much the scrollbar should move on user input. <TT>pageincrement</TT> specifies how many pages it should move.    <tt>browser</tt>, <tt>iframe</tt> 
<HR><H3><A NAME="77287"></A> scrollbarbutton</H3>    <hr>
<P>Button used to move position of scrollbar thumb    <h3><a name="77120"></a> grid</h3>
<A NAME="77287"></A> Contained By    <p>Widget for laying out content in a structured tabular
scrollbar <!--INDEX scrollbarbutton element, XUL -->    fashion <a name="77120"></a> Contains <tt>rows</tt>,
<H4><A NAME="77287"></A> Additional Attributes</H4>    <tt>columns</tt></p>
<TT>sborient</TT>, <TT>type</TT>    <h4><a name="77120"></a> Additional Attributes</h4>
<H4><A NAME="77287"></A> Description</H4>    None. 
The <TT>scrollbarbutton</TT> can use its <TT>src</TT> attribute to point to an image that should be drawn over it.    <h4><a name="77120"></a> Description</h4>
<HR><H3><A NAME="77291"></A> scrollbox</H3>    The number of column elements <!--INDEX grid element, XUL -->
<P>Box for scrolling content    that are placed in rows determines the number of columns and
<H4><A NAME="77291"></A> Additional Attributes</H4>    the content for each row is placed in the <tt>row</tt> element.
crop <!--INDEX scrollbox element, XUL -->    The number of row children must correspond to the number of
<H4><A NAME="77291"></A> Description</H4>    columns. 
The <TT>scrollbox</TT> is a regular box with scrollbars that display automatically when the content inside the box overflows the size of the box itself.    <h4><a name="77120"></a> See Also</h4>
<H4><A NAME="77291"></A> See Also</H4>    <tt>column</tt>, <tt>columns</tt>, <tt>listbox</tt>,
<TT>box</TT>, <TT>hbox</TT>, <TT>vbox</TT>    <tt>row</tt>, <tt>rows</tt>, <tt>tree</tt> 
<HR><H3><A NAME="77295"></A> separator</H3>    <hr>
<P>Bar between elements    <h3><a name="77124"></a> grippy</h3>
<H4><A NAME="77295"></A> Additional Attributes</H4>    <p>Visible widget used on a grippy bar to expand or collapse a
None.    UI region <a name="77124"></a> Contained by splitter 
<H4><A NAME="77295"></A> Description</H4>    <!--INDEX grippy element, XUL -->
The <TT>separator</TT> is a  <!--INDEX separator element, XUL --> general-purpose divider. In menus, use <TT>menuseparator</TT>.    </p>
<H4><A NAME="77295"></A> See Also</H4>    <h4><a name="77124"></a> Additional Attributes</h4>
menuseparator    None. 
<HR><H3><A NAME="77299"></A> slider</H3>    <h4><a name="77124"></a> Description</h4>
<P>A scrollbar without buttons    <tt>grippy</tt> appears as a child of a <tt>splitter</tt> and
<H4><A NAME="77299"></A> Additional Attributes</H4>    provides the little "handle" that opens and closes the
<TT>curpos</TT>, <TT>increment</TT>,  <!--INDEX slider element, XUL --> <TT>maxpos</TT>, <TT>pageincrement</TT>    <tt>sidebar</tt> and other collapsible elements in the
<H4><A NAME="77299"></A> Description</H4>    interface. 
The <TT>slider</TT> element provides simpler user input-a <TT>thumb</TT> button and no arrows-for scrolling large content. Like <TT>scrollbar</TT>, it uses <TT>curpos</TT> and <TT>maxpos</TT> to display its position.    <hr>
<H4><A NAME="77299"></A> See Also</H4>    <h3><a name="77129"></a> groupbox</h3>
<TT>scrollbar</TT>, <TT>scrollbarbutton</TT>    <p>Box with frame surrounding it <a name="77129"></a> Contains
<HR><H3><A NAME="77302"></A> spacer</H3>    caption <!--INDEX groupbox element, XUL -->
<P>Blank space separating element    </p>
<H4><A NAME="77302"></A> Additional Attributes</H4>    <h4><a name="77129"></a> Additional Attributes</h4>
None. <!--INDEX spacer element, XUL -->    None. 
<H4><A NAME="77302"></A> Description</H4>    <h4><a name="77129"></a> Description</h4>
This element is a general-purpose blank space. The use of a <TT>spacer</TT> with <TT>flex</TT> to take up available space within a <TT>box</TT> and shrink its siblings is a staple of the box layout model that XUL uses.    The border that appears around and organizes elements in the
<HR><H3><A NAME="77306"></A> splitter</H3>    interface (e.g., in dialogs where selectable elements are
<P>Element for dragging and resizing associated elements    grouped together); often comes from a <tt>groupbox</tt> parent.
<H4><A NAME="77306"></A> Additional Attributes</H4>    
<TT>persist</TT>,  <!--INDEX splitter element, XUL --> state    <h4><a name="77129"></a> See Also</h4>
<H4><A NAME="77306"></A> Description</H4>    box 
Users can drag a <TT>splitter</TT> to resize an associated element or panel that holds content and click a <TT>splitter</TT> to collapse the specified element within a box. To specify which element you manipulate with a <TT>splitter</TT>, set this element's <TT>collapse</TT> attribute accordingly: <TT>before</TT> to control the element before it in the parent; <TT>after</TT> to control the element after it.    <hr>
<H4><A NAME="77306"></A> See Also</H4>    <h3><a name="77133"></a> hbox</h3>
<TT>grippy</TT>, <TT>toolbar</TT>    <p>Box container whose children are laid out horizontally</p>
<HR><H3><A NAME="77309"></A> stack</H3>    <h4><a name="77133"></a> Additional Attributes</h4>
<P>Shows children one on top of one another, all at the same time    None. <!--INDEX hbox element, XUL -->
<H4><A NAME="77309"></A> Description</H4>    <h4><a name="77133"></a> Description</h4>
In contrast to the <TT>deck</TT>, <TT>stack</TT> is a <TT>box</TT>  <!--INDEX stack element, XUL --> that displays all of its children at once. You can use a <TT>stack</TT> to display elements and blend them together, as when you use different stack children as background images and visual layers.    The <tt>hbox</tt> element is a shorthand for <tt>&lt;box
<H4><A NAME="77309"></A> See Also</H4>    orient="horizontal"&gt;</tt>. It is the preferred way to
<TT>deck</TT>, <TT>box</TT>    achieve horizontal orientation in box layout. 
<HR><H3><A NAME="77314"></A> statusbar</H3>    <h4><a name="77133"></a> See Also</h4>
<P>Box container for status elements    <tt>box</tt>, <tt>vbox</tt> 
<A NAME="77314"></A> Contains    <hr>
statusbarpanel <!--INDEX statusbar element, XUL -->    <h3><a name="77137"></a> iframe</h3>
<H4><A NAME="77314"></A> Additional Attributes</H4>    <p>Web content area</p>
None.    <h4><a name="77137"></a> Additional Attributes</h4>
<H4><A NAME="77314"></A> Description</H4>    <tt>name</tt>, <tt>src</tt>, <tt>type</tt> 
In Mozilla, the <TT>statusbar</TT> is placed at the bottom of the main windows, where it is hooked up to the <TT>window.status</TT> property and can be used to display status text. It is divided into panels, one of which is the <TT>taskbar</TT> where some main component icons are displayed.    <h4><a name="77137"></a> Description</h4>
<H4><A NAME="77314"></A> See Also</H4>    Like <tt>browser</tt>, <tt>iframe</tt> allows you to 
statusbarpanel    <!--INDEX iframe element, XUL --> display web content, XML, and
<HR><H3><A NAME="77319"></A> statusbarpanel</H3>    other data using the <tt>src</tt> attribute, but has less
<P>Single unit of a statusbar    intrinsic browsing functionality available (such as browser
<A NAME="77319"></A> Contained by    history). You can use any number of iframes in a document. 
statusbar <!--INDEX statusbarpanel element, XUL -->    <h4><a name="77137"></a> See Also</h4>
<H4><A NAME="77319"></A> Additional Attributes</H4>    <tt>browser</tt>, <tt>editor</tt> 
<TT>persist</TT>, <TT>label</TT>    <hr>
<H4><A NAME="77319"></A> Description</H4>    <h3><a name="77140"></a> image</h3>
<TT>statusbarpanel</TT>s are subdivisions of the <TT>statusbar</TT> at the bottom of main browser windows. They can contain other content, text using the <TT>label</TT> attribute and an image using the <TT>list-style-image</TT> CSS style rule.    <p>Display of a supported type image</p>
<H4><A NAME="77319"></A> See Also</H4>    <h4><a name="77140"></a> Additional Attributes</h4>
statusbar    src 
<HR><H3><A NAME="77324"></A> stringbundle</H3>    <h4><a name="77140"></a> Description</h4>
<P>Holder of localized properties for use in script    The XUL image is analogous to the 
<A NAME="77324"></A> Contained by    <!--INDEX image element, XUL --> HTML <tt>&lt;img&gt;</tt>
stringbundleset <!--INDEX stringbundle element, XUL -->    element. The supported types in Gecko are PNG, JPG, GIF, and
<H4><A NAME="77324"></A> Additional Attributes</H4>    BMP. 
src    <hr>
<H4><A NAME="77324"></A> Description</H4>    <h3><a name="77145"></a> key</h3>
Like the <TT>script</TT> element, <TT>stringbundle</TT> uses the <TT>src</TT> attribute to locate a file for use. In this case, the files is a string bundle (properties file) that is used for holding localizable strings used in the UI.    <p>Definition for a keyboard shortcut <a name="77145"></a>
<H4><A NAME="77324"></A> See Also</H4>    Contained by keyset <!--INDEX key element, XUL -->
stringbundleset    </p>
<HR><H3><A NAME="77329"></A> stringbundleset</H3>    <h4><a name="77145"></a> Additional Attributes</h4>
<P>Container for stringbundle elements    <tt>modifiers</tt>, <tt>command</tt>, <tt>key</tt> ,
<A NAME="77329"></A> Contains    <tt>keycode</tt>, <tt>observes</tt> 
stringbundle <!--INDEX stringbundleset element, XUL -->    <h4><a name="77145"></a> Description</h4>
<H4><A NAME="77329"></A> Additional Attributes</H4>    A <tt>key</tt> is often defined with a <tt>commandkey</tt> and
None.    a modifier (e.g., <tt>P</tt> + <tt>Ctrl</tt>), and uses an
<H4><A NAME="77329"></A> Description</H4>    <tt>oncommand</tt> event handler to fire the given command when
<TT>stringbundleset</TT> is an optional container for groups of <TT>stringbundle</TT> elements. Like <TT>commandset</TT> use for commands, <TT>stringbundle</TT> organizes sets of related <TT>stringbundle</TT>s, particularly when those sets are overlaid into the UI.    invoked. 
<H4><A NAME="77329"></A> See Also</H4>    <h4><a name="77145"></a> See Also</h4>
stringbundle    keyset 
<HR><H3><A NAME="77334"></A> tab</H3>    <hr>
<P>A single selectable tab of a tabbox    <h3><a name="77150"></a> keybinding</h3>
<A NAME="77334"></A> Contained by    <p>Container for a keyset or group of keysets <a name=
tabs    "77150"></a> Contains keyset 
<H4><A NAME="77334"></A> Additional Attributes</H4>    <!--INDEX keybinding element, XUL -->
<TT>accesskey</TT>,  <!--INDEX tab element, XUL --> <TT>crop</TT>, <TT>disabled</TT>, <TT>label</TT>, <TT>image</TT>    </p>
<H4><A NAME="77334"></A> Description</H4>    <h4><a name="77150"></a> Additional Attributes</h4>
Individual tabs correspond to panels in the <TT>tabbox</TT>.    None. 
<H4><A NAME="77334"></A> See Also</H4>    <h4><a name="77150"></a> Description</h4>
<TT>tabbox</TT>, <TT>tabpanel</TT>, <TT>tabpanels</TT>, <TT>tabs</TT>    This element is used in an overlaid file to contain a group of
<HR><H3>tabbox</H3>    platform-specific key sets. It uses the <tt>ID</tt> attribute
<P>Box container for tab panels    to overlay itself into XUL files that pick up sets of key
Contains    bindings. 
<TT>tabs</TT>, tabpanels <!--INDEX tabbox element, XUL -->    <h4><a name="77150"></a> See Also</h4>
<H4><A NAME="77339"></A> Additional Attributes</H4>    <tt>key</tt>, <tt>keyset</tt> 
None.    <hr>
<H4><A NAME="77339"></A> Description</H4>    <h3><a name="77154"></a> keyset</h3>
<TT>tabbox</TT> is the container in which the tabs and tabpanels are defined. It lays out children like a regular box to the orientation specified, which defaults to vertical. The panels are defined in the <TT>tabpanels</TT> element.    <p>Container for one or more key elements Contains key 
<H4><A NAME="77339"></A> See Also</H4>    <!--INDEX keyset element, XUL -->
<TT>tab</TT>, <TT>tabpanel</TT>, <TT>tabpanels</TT>, <TT>tabs</TT>    </p>
<HR><H3><A NAME="77343"></A> tabbrowser</H3>    <h4><a name="77154"></a> Additional Attributes</h4>
<P>Tabbed holder for a set of web content views    None. 
<H4><A NAME="77343"></A> Additional Attributes</H4>    <h4><a name="77154"></a> Description</h4>
<TT>contentcontextmenu</TT>,  <!--INDEX tabbrowser element, XUL --> <TT>contenttooltip</TT>    <tt>key</tt> elements no longer need to be contained within a
<H4><A NAME="77343"></A> Description</H4>    <tt>keyset</tt> parent. Still, keysets can help organize groups
<TT>tabbrowser</TT> derives from the <TT>browser</TT> widget. Like <TT>browser</TT>, it lets you view HTML pages and other content. <TT>tabbrowser</TT> has additional methods on it that manage tabbed windows (e.g., <TT>addTab</TT>, <TT>enterTabbedMode</TT>).    of keys-particularly related ones. 
<H4><A NAME="77343"></A> See Also</H4>    <h4><a name="77154"></a> See Also</h4>
browser    <tt>key</tt>, <tt>keybinding</tt> 
<HR><H3><A NAME="77349"></A> tabpanel</H3>    <hr>
<P>A single panel of a tabbox    <h3><a name="77158"></a> label</h3>
<A NAME="77349"></A> Contained by    <p>Simple text display element and label for a control
tabpanels <!--INDEX tabpanel element, XUL -->    element</p>
<A NAME="77349"></A> Contains    <h4><a name="77158"></a> Additional Attributes</h4>
XUL content    <tt>control</tt>, <tt>for</tt>, <tt>accesskey</tt>,
<H4><A NAME="77349"></A> Additional Attributes</H4>    <tt>crop</tt>, <!--INDEX label element, XUL --> <tt>value</tt> 
None.    <h4><a name="77158"></a> Description</h4>
<H4><A NAME="77349"></A> Description</H4>    This text element can just display text in the UI. Unlike the
A <TT>tabpanel</TT> is one of the special <TT>box</TT> elements that correspond to a particular tab within a <TT>tabbox</TT>. It can hold any XUL content to be displayed on a particular tab panel.    <tt>description</tt> element, the text will not wrap. If you
<H4><A NAME="77349"></A> See Also</H4>    use it with a control element (the association occurs through
<TT>tab</TT>, <TT>tabbox</TT>, <TT>tabpanels</TT>, <TT>tabs</TT>    the <tt>for</tt> attribute, the value of which must match the
<HR><H3><A NAME="77355"></A> tabpanels</H3>    element's <tt>id</tt>) such as a <tt>textbox</tt>, the focus
<P>Container for tabpanel elements    moves to the control element when the <tt>label</tt> is
<A NAME="77355"></A> Contained by    clicked. 
tabbox <!--INDEX tabpanels element, XUL -->    <h4><a name="77158"></a> See Also</h4>
<A NAME="77355"></A> Contains    <tt>caption</tt>, <tt>description</tt> 
<TT>tabpanel</TT>, <TT>box</TT>    <hr>
<H4><A NAME="77355"></A> Additional Attributes</H4>    <h3><a name="77162"></a> listbox</h3>
None.    <p>Used for display of a flat list of items</p>
<H4><A NAME="77355"></A> Description</H4>    <h4><a name="77162"></a> Additional Attributes</h4>
The <TT>tabpanels</TT> container corresponds to the <TT>tabs</TT> element that holds all individual tabs, and is a container for the <TT>tabpanel</TT> associated with that tab. This child panel can be either an optional <TT>tabpanel</TT> element that holds XUL content, or just the XUL content.    <tt>datasources</tt>, <tt>sortResource</tt>, <tt>
<H4><A NAME="77355"></A> See Also</H4>    <!--INDEX listbox element, XUL --> sortDirection</tt>,
<TT>tab</TT>, <TT>tabbox</TT>, <TT>tabpanel</TT>, <TT>tabs</TT>    <tt>rows</tt>, <tt>seltype</tt>, <tt>ref</tt> 
<HR><H3><A NAME="77361"></A> tabs</H3>    <h4><a name="77162"></a> Description</h4>
<P>Container for tab elements    <tt>listbox</tt> is a lightweight tabular display widget.
<A NAME="77361"></A> Contained by    Unlike <tt>tree</tt>, it cannot handle nested rows. It does
tabbox <!--INDEX tabs element, XUL -->    support multiple columns, however. It is easy to use and
<A NAME="77361"></A> Contains    renders content very quickly. 
tab    <h4><a name="77162"></a> See Also</h4>
<H4><A NAME="77361"></A> Additional Attributes</H4>    <tt>listcell</tt>, <tt>listcol</tt>, <tt>listcols</tt>,
None.    <tt>listhead</tt>, <tt>listheader</tt>, <tt>listitem</tt> 
<H4><A NAME="77361"></A> Description</H4>    <hr>
This element is a required container for individual tabs.    <h3><a name="77167"></a> listcell</h3>
<H4><A NAME="77361"></A> See Also</H4>    <p>Single cell of a listbox <a name="77167"></a> Contained by
<TT>tab</TT>, <TT>tabbox</TT>, <TT>tabpanel</TT>, <TT>tabpanels</TT>    listitem <!--INDEX listcell element, XUL -->
<HR><H3><A NAME="77365"></A> template</H3>    </p>
<P>A high-level widget used to build content dynamically from data    <h4><a name="77167"></a> Additional Attributes</h4>
<A NAME="77365"></A> Contains    <tt>label</tt>, <tt>flexlabel</tt>, <tt>crop</tt>,
rule <!--INDEX template element, XUL -->    <tt>disabled</tt>, <tt>image</tt>, <tt>checked</tt> 
<H4><A NAME="77365"></A> Additional Attributes</H4>    <h4><a name="77167"></a> Description</h4>
<TT>xmlns:nc</TT>, <TT>xmlns:chrome</TT>    The <tt>listcell</tt> is the element within a <tt>listbox</tt>
<H4><A NAME="77365"></A> Description</H4>    that actually displays data. 
The <TT>template</TT> element has several <TT>rule</TT> children, each of which defines rules for matching data in a datasource and rendering that data as XUL content. A template is defined within the regular XUL content.    <h4><a name="77167"></a> See Also</h4>
<HR><H3><A NAME="77369"></A> textbox</H3>    <tt>listbox</tt>, <tt>listcol</tt>, <tt>listcols</tt>,
<P>Accepts text input from user    <tt>listheader</tt>, <tt>listitem</tt> 
<H4><A NAME="77369"></A> Additional Attributes</H4>    <hr>
<TT>multiline</TT>, <TT> <!--INDEX textbox element, XUL --> maxlength</TT>, <TT>disabled</TT>, <TT>readonly</TT>, <TT>type</TT>, <TT>size</TT>    <h3>listcol</h3>
<H4><A NAME="77369"></A> Description</H4>    <p>Listbox column definition <a name="77171"></a> Contained by
<TT>textbox</TT> is a user-input element. Expand it beyond its single-line default by setting <TT>multiline</TT> to <TT>true</TT>. You can also disable it, and set its size.    listcols <!--INDEX listcol element, XUL -->
<H4><A NAME="77369"></A> See Also</H4>    </p>
label    <h4><a name="77171"></a> Description</h4>
<HR><H3><A NAME="77373"></A> thumb</H3>    This element represents a column in a <tt>listbox</tt>. 
<P>Object used to move content in scrollable area    <h4><a name="77171"></a> See Also</h4>
<H4><A NAME="77373"></A> Additional Attributes</H4>    <tt>listbox</tt>, <tt>listcell</tt>, <tt>listcols</tt>,
sborient <!--INDEX thumb element, XUL -->    <tt>listheader</tt>, <tt>listitem</tt> 
<H4><A NAME="77373"></A> Description</H4>    <hr>
The <TT>thumb</TT> element appears in the <TT>slider</TT> and the <TT>scrollbar</TT>.    <h3><a name="77176"></a> listcols</h3>
<H4><A NAME="77373"></A> See Also</H4>    <p>Container for listbox columns (listcol) <a name="77176"></a>
<TT>scrollbar</TT>, <TT>scrollbarbutton</TT>, <TT>slider</TT>    Contained by listbox <!--INDEX listcols element, XUL -->
<HR><H3><A NAME="77378"></A> toolbar</H3>    <a name="77176"></a> Contains listcol</p>
<P>Holder of buttons for quick-access UI functionality    <h4><a name="77176"></a> Description</h4>
<A NAME="77378"></A> Contains    This element contains any number of individual <tt>listbox</tt>
<TT>toolbarbutton</TT>,  <!--INDEX toolbar element, XUL --> <TT>toolbarseparator</TT>    columns. 
<H4><A NAME="77378"></A> Additional Attributes</H4>    <h4><a name="77176"></a> See Also</h4>
<TT>grippyhidden</TT>, <TT>tborient</TT>, <TT>tbalign</TT>, <TT>tbpack</TT>    <tt>listbox</tt>, <tt>listcell</tt>, <tt>listcol</tt>,
<H4><A NAME="77378"></A> Description</H4>    <tt>listheader</tt>, <tt>listitem</tt> 
Toolbars usually have horizontal orientation at the top of an application window, but this does not have to be the case. You can use the <TT>orient</TT> attribute to set it vertically and run its content down and not across. While the most common content for a toolbar is buttons and menus, it can contain any type of content.    <hr>
<H4><A NAME="77378"></A> See Also</H4>    <h3><a name="77181"></a> listhead</h3>
<TT>toolbarbutton</TT>, <TT>toolbarseparator</TT>, <TT>toolbox</TT>    <p>Container for column header in list boxes (listheader) <a
<HR><H3><A NAME="77383"></A> toolbarbutton</H3>    name="77181"></a> Contained by listbox 
<P>Specially adapted button for use in a toolbar    <!--INDEX listhead element, XUL -->
<A NAME="77383"></A> Contained by    <a name="77181"></a> Contains listheader</p>
toolbar <!--INDEX toolbarbutton element, XUL -->    <h4><a name="77181"></a> Description</h4>
<H4><A NAME="77383"></A> Additional Attributes</H4>    The <tt>listhead</tt> element is analogous to the HTML
<TT>accesskey</TT>, <TT>dir</TT>, <TT>disabled</TT>, <TT>dlgType</TT>, <TT>group</TT>, <TT>image</TT>, <TT>label</TT>, <TT>orient</TT>, <TT>type</TT>, <TT>value</TT>    <tt>thead</tt> element, and contains the header cells for an
<H4><A NAME="77383"></A> Description</H4>    XUL listbox table. 
This is a button designed especially for a toolbar, with special stylings for this purpose. The current theme determines a <TT>toolbarbutton</TT>'s look. See <I>toolbar.css</I> in the theme JARs to view styles and bindings for this common button.    <h4><a name="77181"></a> See Also</h4>
<H4><A NAME="77383"></A> See Also</H4>    <tt>listbox</tt>, <tt>listcell</tt>, <tt>listcol,
<TT>toolbar</TT>, <TT>toolbarseparator</TT>, <TT>toolbox</TT>    listcols</tt>, <tt>listheader</tt>, <tt>listitem</tt> 
<HR><H3><A NAME="77388"></A> toolbarseparator</H3>    <hr>
<P>Visible separator for elements contained in a toolbar    <h3><a name="77186"></a> listheader</h3>
<A NAME="77388"></A> Contained by    <p>Text header for listbox column <a name="77186"></a>
toolbar <!--INDEX toolbarseparator element, XUL -->    Contained by listhead <!--INDEX listheader element, XUL -->
<H4><A NAME="77388"></A> Additional Attributes</H4>    </p>
None.    <h4><a name="77186"></a> Additional Attributes</h4>
<H4><A NAME="77388"></A> Description</H4>    <tt>sortActive</tt>, <tt>sortDirection</tt>, <tt>resource</tt>,
Like the <TT>menuseparator</TT> in a <TT>menu</TT>, <TT>toolbarseparator</TT> divides elements in a <TT>toolbar</TT>.    <tt>sortable</tt> 
<H4><A NAME="77388"></A> See Also</H4>    <h4><a name="77186"></a> Description</h4>
<TT>toolbar</TT>, <TT>toolbarbutton</TT>, <TT>toolbox</TT>    The <tt>listheader</tt> element displays the header text. 
<HR><H3><A NAME="77393"></A> toolbox</H3>    <h4><a name="77186"></a> See Also</h4>
<P>Optional container for menu bars and toolbars    <tt>listbox</tt>, <tt>listcell, listcol</tt>,
<A NAME="77393"></A> Contains    <tt>listcols</tt>, <tt>listhead</tt>, <tt>listitem</tt> 
<TT>menubar</TT>,  <!--INDEX toolbox element, XUL --> <TT>toolbar</TT>    <hr>
<H4><A NAME="77393"></A> Additional Attributes</H4>    <h3><a name="77192"></a> listitem</h3>
None.    <p>Listbox row definition <a name="77192"></a> Contained By
<H4><A NAME="77393"></A> Description</H4>    listbox <!--INDEX listitem element, XUL -->
<TT>toolbox</TT> can organize several toolbars into one parent element. <TT>toolbox</TT> inherits from <TT>box</TT>, so you can use box layout attributes to control the positioning and layout of toolbars within.    <a name="77192"></a> Contains listcell</p>
<H4><A NAME="77393"></A> See Also</H4>    <h4><a name="77192"></a> Additional Attributes</h4>
<TT>menubar</TT>, <TT>toolbar</TT>    <tt>value</tt>, <tt>description</tt>, <tt>accesskey</tt>,
<HR><H3><A NAME="77396"></A> tooltip</H3>    <tt>label</tt>, <tt>context</tt>, <tt>type</tt>, <tt>name</tt> 
<P>Pop-up window for context-sensitive help    <h4><a name="77192"></a> Description</h4>
<H4><A NAME="77396"></A> Additional Attributes</H4>    A <tt>listitem</tt> is a row in a <tt>listbox</tt>. The number
<TT>noautohide</TT>,  <!--INDEX tooltip element, XUL --> <TT>onpopupshowing</TT>, <TT>onpopuphiding</TT>, <TT>position</TT>    of <tt>listcell</tt> children corresponds to the number of
<H4><A NAME="77396"></A> Description</H4>    columns in the <tt>listbox</tt>. 
The <TT>tooltip</TT> element defines text to be displayed. It is associated by <TT>ID</TT> with elements that want to use its content in the pop ups they display. However, elements can also use the <TT>tooltip</TT> attribute to display a tooltip more directly for themselves.    <h4><a name="77192"></a> See Also</h4>
<HR><H3><A NAME="77401"></A> tree</H3>    <tt>listbox</tt>, <tt>listcell</tt>, <tt>listcol</tt>,
<P>Hierarchical holder of information represented as rows    <tt>listcols</tt>, <tt>listhead</tt>, <tt>listheader</tt> 
<A NAME="77401"></A> Contains    <hr>
<TT>treecols</TT>, <TT>treechildren</TT>    <h3><a name="77196"></a> member</h3>
<H4><A NAME="77401"></A> Additional Attributes</H4>    <p>Matches container relationships in which the parent element
<TT>multiple</TT>,  <!--INDEX tree element, XUL --> <TT>datasources</TT>, <TT>enableColumnDrag</TT>, <TT>containment</TT>,<TT> sortResource</TT>, <TT>sortDirection</TT>, <TT>border</TT>, <TT>seltype</TT>, <TT>sortActive</TT>, <TT>flags, context</TT>, <TT>persist</TT>, <TT>hidecolumnpicker</TT>    is given by a container element and the child by a child
<H4><A NAME="77401"></A> Description</H4>    element Additional Attributes <tt>container</tt>, 
The <TT>tree</TT> element is a high-level widget that displays tabular data. More complex than <TT>listbox</TT>, <TT>tree</TT> allows you to define nested content, different views, and data display, and provides methods that sort and manipulate its contents.    <!--INDEX member element, XUL --> <tt>child</tt></p>
<H4><A NAME="77401"></A> See Also</H4>    <h4><a name="77196"></a> Description</h4>
<TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecol</TT>, <TT>treecols</TT>, <TT>treeitem</TT>, <TT>treerow</TT>    The <tt>member</tt> element is part of the conditional
<HR><H3><A NAME="77406"></A> treecell</H3>    structure in a XUL template. It creates a rule by which
<P>A single cell in a tree    parent-child relationships are matched and used as a basis for
<A NAME="77406"></A> Contained by    drawing content in the XUL. 
treerow    <h4><a name="77196"></a> See Also</h4>
<H4><A NAME="77406"></A> Additional Attributes</H4>    <tt>conditions</tt>, <tt>rules</tt>, <tt>bindings</tt>,
<TT>src</TT>, <TT>indent</TT>,  <!--INDEX treecell element, XUL --> <TT>observes</TT>, <TT>url</TT>, <TT>value</TT>, <TT>label</TT>, <TT>sortActive, sortDirection</TT>, <TT>tag</TT>, <TT>mode</TT>, <TT>resource</TT>, <TT>allowevents</TT>, <TT>properties</TT>    <tt>template</tt> 
<H4><A NAME="77406"></A> Description</H4>    <hr>
The <TT>treecell</TT> contains the actual content to be displayed in a tree. That content can be in the form of a value for the <TT>label</TT> attribute. It can also be content in the <TT>treecell</TT>'s start and end tags (e.g., <TT>&lt;treecell&gt;data&lt;/treecell&gt;</TT>).    <h3><a name="77200"></a> menu</h3>
<H4><A NAME="77406"></A> See Also</H4>    <p>A menu element for containing menu items</p>
tree, treechildren, treecol, treecols, treeitem, treerow    <h4><a name="77200"></a> Additional Attributes</h4>
<HR><H3><A NAME="77412"></A> treechildren</H3>    <tt>label</tt>, <tt>accesskey</tt>, 
<P>The main body of a tree; a container for treeitems    <!--INDEX menu element, XUL --> <tt>disabled</tt>,
<A NAME="77412"></A> Contains    <tt>image</tt>, <tt>disabled</tt> 
treeitem <!--INDEX treechildren element, XUL -->    <h4><a name="77200"></a> Description</h4>
<A NAME="77412"></A> Contained by    <tt>menu</tt> is the basic menu widget. It's often contained in
tree    a <tt>menubar</tt>, but may appear elsewhere. The actual
<H4><A NAME="77412"></A> Additional Attributes</H4>    <tt>menuitems</tt> are defined within a <tt>menupopup</tt> that
open    is usually the direct child of <tt>menu</tt>. 
<H4><A NAME="77412"></A> Description</H4>    <h4><a name="77200"></a> See Also</h4>
The <TT>treechildren</TT> element defines the subset of the <TT>tree</TT> where the content is actually contained (in contrast to <TT>treecols</TT>, which defines aspects of the layout).    <tt>menubar</tt>, <tt>menubutton</tt>, <tt>menuitem</tt>,
<H4><A NAME="77412"></A> See Also</H4>    <tt>menulist</tt>, <tt>menupopup</tt>, <tt>menuseparator</tt> 
<TT>tree</TT>, <TT>treecell</TT>, <TT>treecol</TT>, <TT>treecols</TT>, <TT>treeitem</TT>, <TT>treerow</TT>    <hr>
<HR><H3><A NAME="77417"></A> treecol</H3>    <h3><a name="77205"></a> menubar</h3>
<P>A single column of a tree    <p>Containing element for one or more menus <a name=
<A NAME="77417"></A> Contained by    "77205"></a> Contains menu</p>
treecols <!--INDEX treecol element, XUL -->    <h4><a name="77205"></a> Additional Attributes</h4>
<H4><A NAME="77417"></A> Additional Attributes</H4>    None. 
<TT>sort</TT>, <TT>resource</TT>, <TT>primary</TT>, <TT>sortSeparators</TT>, <TT>label</TT>, <TT>sortActive</TT>,<TT> sortDirection</TT>, <TT>hideheader</TT>, <TT>accesskey</TT>, <TT>type</TT>    <h4><a name="77205"></a> Description</h4>
<H4><A NAME="77417"></A> Description</H4>    <tt>menubar</tt> is a special box for containing 
The <TT>treecol</TT> typically does not contain content. Instead, it defines the header for the columns whose contents are defined in the <TT>treerow</TT>s.    <!--INDEX menubar element, XUL --> menus (though it can include
<H4><A NAME="77417"></A> See Also</H4>    other content). By default it has a <tt>grippy</tt> for
<TT>tree</TT>, <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecols</TT>, <TT>treeitem</TT>, <TT>treerow</TT>    expanding and collapsing the menubar. 
<HR><H3><A NAME="77423"></A> treecols</H3>    <h4><a name="77205"></a> See Also</h4>
<P>Container for tree columns    <tt>menu</tt>, <tt>menubutton</tt>, <tt>menuitem</tt>,
<A NAME="77423"></A> Contained by    <tt>menulist</tt>, <tt>menupopup</tt>, <tt>menuseparator</tt>,
tree    <tt>grippy</tt> 
<A NAME="77423"></A> Contains    <hr>
treecol    <h3><a name="77210"></a> menuitem</h3>
<H4><A NAME="77423"></A> Additional Attributes</H4>    <p>Single selectable choice in a menu <a name="77210"></a>
None.    Contained by menupopup <!--INDEX menuitem element, XUL -->
<H4><A NAME="77423"></A> Description</H4>    </p>
This element is a container for a group of <TT>treecol</TT> elements, or columns, in a tree. A tree should have only one <TT>treecols</TT>.    <h4><a name="77210"></a> Additional Attributes</h4>
<H4><A NAME="77423"></A> See Also</H4>    <tt>label</tt>, <tt>accesskey</tt>, <tt>crop</tt>,
<TT>tree</TT>, <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecol</TT>, <TT>treeitem</TT>, <TT>treerow</TT>    <tt>image</tt>, <tt>disabled</tt>, <tt>checked</tt> 
<HR><H3><A NAME="77429"></A> treeitem</H3>    <h4><a name="77210"></a> Description</h4>
<P>A treerow container    The <tt>menuitem</tt> is the basic element used to display a
<A NAME="77429"></A> Contained by    single item in a menu (e.g., <tt>&lt;menuitem</tt>
treechildren <!--INDEX treeitem element, XUL -->    <tt>label="File"/&gt;</tt>). 
<A NAME="77429"></A> Contains    <h4><a name="77210"></a> See Also</h4>
treerow    menu, menubar, menubutton, menulist, menupopup, menuseparator 
<H4><A NAME="77429"></A> Additional Attributes</H4>    <hr>
<TT>rdf:type</TT>, <TT>container</TT>, <TT>open</TT>    <h3><a name="77215"></a> menulist</h3>
<H4><A NAME="77429"></A> Description</H4>    <p>Drop-down list of selectable items <a name="77215"></a>
The <TT>treeitem</TT> element is a container for a <TT>treerow</TT>, and makes <TT>treerow</TT> a selectable element within the <TT>tree</TT>.    Contains menupopup <!--INDEX menulist element, XUL -->
<H4><A NAME="77429"></A> See Also</H4>    </p>
<TT>tree</TT>, <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecol</TT>, <TT>treecols</TT>, <TT>treerow</TT>    <h4><a name="77215"></a> Additional Attributes</h4>
<HR><H3><A NAME="77435"></A> treerow</H3>    None. 
<P>A single row of a tree    <h4><a name="77215"></a> Description</h4>
<A NAME="77435"></A> Contained by    The <tt>menulist</tt> displays a list of menuitems, the
treeitem <!--INDEX treerow element, XUL -->    selected one of which is displayed in the <tt>menulist</tt>
<A NAME="77435"></A> Contains    itself. It is a type of drop-down menu. 
treecell    <h4><a name="77215"></a> See Also</h4>
<H4><A NAME="77435"></A> Additional Attributes</H4>    <tt>menu</tt>, <tt>menubar</tt>, <tt>menubutton</tt>,
properties    <tt>menuitem</tt>, <tt>menupopup</tt>, <tt>menuseparator</tt> 
<H4><A NAME="77435"></A> Description</H4>    <hr>
Contained within a <TT>treeitem</TT>, this element represents a single row of a tree.    <h3><a name="77221"></a> menupopup</h3>
<H4><A NAME="77435"></A> See Also</H4>    <p>Pop-up container for menu items <a name="77221"></a>
<TT>tree</TT>, <TT>treecell</TT>, <TT>treechildren</TT>, <TT>treecol</TT>, <TT>treecols</TT>, <TT>treeitem</TT>    Contained By <tt>menu</tt>, <tt>
<HR><H3><A NAME="77439"></A> triple</H3>    <!--INDEX menupopup element, XUL --> menubutton</tt>,
<P>Substructure of a template that matches RDF statements in the data    <tt>menulist</tt> <a name="77221"></a> Contains menuitem</p>
<H4><A NAME="77439"></A> Additional Attributes</H4>    <h4><a name="77221"></a> Additional Attributes</h4>
<TT>predicate</TT>,  <!--INDEX triple element, XUL --> <TT>object</TT>, <TT>subject</TT>    <tt>popupalign</tt>, <tt>datasources</tt>,
<H4><A NAME="77439"></A> Description</H4>    <tt>onpopupshowing</tt>, <tt>sortResource</tt>,
The children of <TT>triple-predicate</TT>, <TT>object</TT>, and <TT>subject-</TT>match RDF statements that appear in the data processed in the template.    <tt>onpopuphiding</tt>, <tt>sortDirection</tt>,
<H4><A NAME="77439"></A> See Also</H4>    <tt>context</tt>, <tt>position</tt>, <tt>popupanchor</tt>,
<TT>template</TT>, <TT>member</TT>, <TT>content</TT>, <TT>conditions</TT>    <tt>ref</tt> 
<HR><H3><A NAME="77442"></A> vbox</H3>    <h4><a name="77221"></a> Description</h4>
<P>Box container with vertically laid out children    The <tt>menupopup</tt> contains the actual menu items defined
<H4><A NAME="77442"></A> Additional Attributes</H4>    for a menu and acts much like the <tt>popup</tt> element to
None.    show the window with a list of choices. 
<H4><A NAME="77442"></A> See Also</H4>    <h4><a name="77221"></a> See Also</h4>
<TT>box</TT>,  <!--INDEX vbox element, XUL --> hbox    popup, menu, menubar, menubutton, menuitem, menulist,
<HR><H3><A NAME="77446"></A> window</H3>    menuseparator 
<P>Root element of a top-level XUL window document    <hr>
<H4><A NAME="77446"></A> Additional Attributes</H4>    <h3><a name="77226"></a> menuseparator</h3>
<TT>windowtype</TT>, <TT> <!--INDEX window element, XUL --> xmlns:rdf</TT>, <TT>xmlns:web</TT>, <TT>titlepreface</TT>, <TT>onload</TT>, <TT>onunload</TT>,<TT> xmlns</TT>, <TT>titlemodifier</TT>, <TT>xmlns:html</TT>, <TT>title</TT>, <TT>onclose</TT>,<TT> titlemenuseparator</TT>, <TT>contenttitlesetting</TT>, <TT>y</TT>, <TT>x</TT>, <TT>screenY</TT>, <TT>screenX</TT>    <p>Line separating menu items <a name="77226"></a> Contained By
<H4><A NAME="77446"></A> Description</H4>    menupopup <!--INDEX menuseparator element, XUL -->
The <TT>window</TT> is an XUL document's basic root element. The contents of a XUL document, including the <TT>script</TT> elements, commands, keys, and broadcasters, appear as children of the window. Overlays, the XML and stylesheet-processing instructions, and the <TT>DOCTYPE</TT> declaration appear before and outside a document's root element. The window should have a unique ID and use minimally, the XUL namespace to identify markup elements as XUL: <TT>xmlns="<A HREF="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</A>"</TT>.    </p>
<H4><A NAME="77446"></A> See Also</H4>    <h4><a name="77226"></a> Additional Attributes</h4>
<TT>overlay</TT>, <TT>page</TT>    type 
<HR><H3><A NAME="77451"></A> wizard</H3>    <h4><a name="77226"></a> Description</h4>
<P>Window used to step though a task    The <tt>menuseparator</tt> is a line through the menu that
<A NAME="77451"></A> Contains    divides menu items into different groups. You can use the
wizardpage    <tt>position</tt> attribute on the <tt>menuseparator</tt> to
<H4><A NAME="77451"></A> Additional Attributes</H4>    make sure it appears in a particular place, or you can use the
<TT>onwizardaccept</TT>, <TT>onwizardcancel</TT>, <TT>xmlns</TT>, <TT>onwizardfinish</TT>,<TT> xmlns:nc</TT>    common attribute <tt>insertAfter</tt>. 
<H4><A NAME="77451"></A> Description</H4>    <h4><a name="77226"></a> See Also</h4>
Like <TT>dialog</TT>, <TT>wizard</TT> is a specialized version of the <TT>window</TT> root element. It easily creates multistep dialog windows that help users set up accounts, password data, and other customizable information. A <TT>wizard</TT> contains one or more <TT>wizardpage</TT>s.    <tt>menu</tt>, <tt>menubar</tt>, <tt>menubutton</tt>,
<H4><A NAME="77451"></A> See Also</H4>    <tt>menuitem</tt>, <tt>menulist</tt>, <tt>menuspopup</tt> 
<TT>wizardpage</TT>, <TT>window</TT>, <TT>dialog</TT>    <hr>
<HR><H3><A NAME="77456"></A> wizardpage</H3>    <h3><a name="77230"></a> observes</h3>
<P>A single panel (step) of a wizard    <p>Broadcast event and attribute listener</p>
<A NAME="77456"></A> Contained by    <h4><a name="77230"></a> Additional Attributes</h4>
wizard    <tt>element</tt>, <tt>attribute</tt>, 
<H4><A NAME="77456"></A> Additional Attributes</H4>    <!--INDEX observes element, XUL --> <tt>onbroadcast</tt> 
<TT>label</TT>, <TT>pageid</TT>, <TT>onpageadvanced</TT>, <TT>onpageshow</TT>, <TT>onpagecancel</TT>    <h4><a name="77230"></a> Description</h4>
<H4><A NAME="77456"></A> Description</H4>    The <tt>observes</tt> element observes the state of a
The <TT>wizardpage</TT> can contain  <!--INDEX wizardpage element, XUL --> arbitrary XUL content. One or more wizardpages are defined in a <TT>wizard</TT> window. The intrinsic functionality of a wizard window allows you to step through <TT>wizardpage</TT>s by setting the <TT>onpageshow</TT> and <TT>onpagecancel</TT> event handlers on individual pages and using the <TT>onwizardaccept</TT> and <TT>onwizardcancel</TT> event handlers on  <!--INDEX ENDRANGE--XUL element set --> the  <!--INDEX ENDRANGE--elements:XUL element set --> <TT>wizard</TT> parent element.    broadcasting element and its attributes. <tt>observes</tt> can
<H4><A NAME="77456"></A> See Also</H4>    be a separate element, defined as a child of the interested
<TT>wizard</TT>, <TT>window</TT>, <TT>dialog</TT>    observer, or it can be an attribute on any element that wants
    to watch changes in a broadcasting element. 
<H2><A NAME="77457"></A> XBL Element Set</H2>    <h4><a name="77230"></a> See Also</h4>
<P>The XBL 1.0 specification published on the <!--INDEX STARTRANGE--XBL element set;elements:XBL element set -->  mozilla.org web site appeared to be a beacon for application developers. Because the specification was available early in the development process, XBL seemed to be a tighter, more comprehensible language that was easier to learn and master than XUL. Since then, XBL development has strayed from the specification quite a bit, however, and now people consider XBL as opaque as XUL without good documentation that helps people learn and to create a roadmap for use based on continuing development.    broadcaster 
<P>This reference section tries to capture basic elements and attributes in XBL. Because it binds rather than creates content, XBL is smaller and     <hr>
inherently more formal than XUL. Nonetheless, as you will see, the language has quite a bit of range and complexity. Each entry in this section describes the XBL element and its purpose, its position in the hierarchy (i.e., which elements it contains and which elements it is contained by), and lists the element's attributes. <A HREF="ch07.html#77027">Chapter 7</A> introduces XBL and shows how to use it. However, once you are familiar with the basics of XBL, you can consult this reference to find the XBL items you want.    <h3><a name="77234"></a> overlay</h3>
<HR><H3><A NAME="77463"></A> binding</H3>    <p>Root element in a separate file that contains reusable XUL
<P>A single XBL binding    content</p>
<A NAME="77463"></A> Contains    <h4><a name="77234"></a> Additional Attributes</h4>
<TT>content</TT>, <TT>implementation</TT>,  <!--INDEX binding element, XBL --> handlers    <tt>xmlns</tt>, title <!--INDEX overlay element, XUL -->
<A NAME="77463"></A> Contained by    <h4><a name="77234"></a> Description</h4>
bindings    Like <tt>page</tt>, <tt>window</tt>, <tt>dialog</tt>, and
<A NAME="77463"></A> Attributes    <tt>wizard</tt>, <tt>overlay</tt> is a XUL document's root
<TT>id</TT>, <TT>extends</TT>, <TT>display</TT>, <TT>applyauthorstyles</TT>, <TT>styleexplicitcontent</TT>    element. Overlay documents contain content blocks that are
<H4><A NAME="77463"></A> Description</H4>    overlaid dynamically at runtime into XUL content whose IDs
This element defines a single XBL binding that can be attached to a bound document. It enables the creation of self-contained widgets that can contain content, implementation, and handlers. This element must have an <TT>id</TT> attribute value; this value is how it is associated-either through a CSS style rule or a DOM method-to the bound element that acts a placeholder for the binding that is filled out during attachment. The <TT>extends</TT> attribute inherits from a XUL element or another binding.    match theirs. For example, a <tt>menupopup</tt> with the
<H4><A NAME="77463"></A> See Also</H4>    <tt>ID</tt> "file" and a <tt>menuitem</tt> child in an overlay
bindings    adds that new <tt>menuitem</tt> into any <tt>menupopup</tt>
<HR><H3><A NAME="77468"></A> bindings</H3>    with the <tt>ID</tt> "file" that it finds in the base XUL. 
<P>An XBL document's root element    <h4><a name="77234"></a> See Also</h4>
<A NAME="77468"></A> Contains    <tt>page</tt>, <tt>window</tt> 
<TT>binding</TT>, <TT>resources</TT>,  <!--INDEX bindings element, XBL --> stylesheet    <hr>
<A NAME="77468"></A> Attributes    <h3><a name="77238"></a> page</h3>
<TT>id</TT>, <TT>type</TT>    <p>Root element of XUL file loaded in a content frame</p>
<H4><A NAME="77468"></A> Description</H4>    <h4><a name="77238"></a> Additional Attributes</h4>
This root container can hold one or more bindings, represented by the <TT>&lt;binding&gt;</TT> markup. The Mozilla code base references an XBL document through its name, which has an <I>.xml</I> extension. The document <TT>id</TT> has to be unique. The other children of <TT>&lt;bindings&gt;</TT> are <TT>&lt;resources&gt;</TT> and <TT>&lt;stylesheet&gt;</TT>, which contain style and image information to be used by the document's bindings.    <tt>context</tt>, <!--INDEX page element, XUL -->
<H4><A NAME="77468"></A> See Also</H4>    <tt>headertitle</tt>, <tt>onload</tt>, <tt>onunload</tt>,
binding    <tt>title</tt>, <tt>xmlns</tt> 
<HR><H3><A NAME="77473"></A> body</H3>    <h4><a name="77238"></a> Description</h4>
<P>Container for JavaScript code to be executed by an XBL method    <tt>page</tt> is the root element for a XUL document that is
<A NAME="77473"></A> Contained by    meant to be loaded within another XUL document, such as a
method <!--INDEX body element, XBL -->    preference panel. 
<A NAME="77473"></A> Attributes    <h4><a name="77238"></a> See Also</h4>
id    <tt>dialog</tt>, <tt>overlay</tt>, <tt>window</tt> 
<H4><A NAME="77473"></A> Description</H4>    <hr>
This element is designed as a holder for the method's script. It defines a logical block and differentiates the script from the parameter element, which also lies within the method. Script contained in a method has to be in a body element, which in turn should contain a CDATA section. &lt;![CDATA[...]]&gt; escapes JavaScript characters like quotes and slashes that may otherwise conflict with the XML parser.    <h3><a name="77242"></a> popup</h3>
<H4><A NAME="77473"></A> See Also</H4>    <p>Box container as child window</p>
method    <h4><a name="77242"></a> Additional Attributes</h4>
<HR><H3><A NAME="77477"></A> children</H3>    <tt>onpopupshowing</tt>, <!--INDEX popup element, XUL -->
<P>Insertion point for children of a bound element, or inherited binding    onpopuphiding 
<A NAME="77477"></A> Contained by    <h4><a name="77242"></a> Description</h4>
content <!--INDEX children element, XBL -->    <tt>popup</tt> is a pop-up window that can be hooked up to any
<A NAME="77477"></A> Attributes    UI content. It is often used for context menus and invoked by
<TT>id</TT>, <TT>includes</TT>, <TT>type</TT>    elements that use its <tt>ID</tt> attribute in their
<H4><A NAME="77477"></A> Description</H4>    <tt>popup</tt> or <tt>context</tt> attribute. 
This element needs to be placed in the binding content at the point where you want to place children of the bound element when the binding is rendered. If the children tag contains its own elements, then that element will be default content. If the element the binding attaches to contains children, the default content is ignored.    <h4><a name="77242"></a> See Also</h4>
<HR><H3><A NAME="77482"></A> constructor</H3>    <tt>menupopup</tt>, <tt>popupset</tt> 
<P>Container for code to be executed when a binding is created    <hr>
<A NAME="77482"></A> Contained by    <h3><a name="77246"></a> popupset</h3>
implementation <!--INDEX constructor element, XBL -->    <p>Container for popup elements</p>
<A NAME="77482"></A> Attributes    <h4><a name="77246"></a> Additional Attributes</h4>
<TT>action</TT>, <TT>class</TT>, <TT>id</TT>    None. <!--INDEX popupset element, XUL -->
<H4><A NAME="77482"></A> Description</H4>    <h4><a name="77246"></a> Description</h4>
This behavior element is contained in the <TT>implementation</TT> element and holds code that will be carried out when the binding attachment first takes place. If you picture a binding as an object, your vision is initialization code. The code can alternatively be contained as the <TT>action</TT> attribute's value.    While not strictly necessary as a container for the
<H4><A NAME="77482"></A> See Also</H4>    <tt>popup</tt> element, <tt>popupset</tt> helps you organize
destructor    and overlays groups of popups. 
<HR><H3><A NAME="77487"></A> content</H3>    <h4><a name="77246"></a> See Also</h4>
<P>Container for anonymous content to be inserted into a bound document    popup 
<A NAME="77487"></A> Contains    <hr>
<TT>children</TT>; any markup  <!--INDEX content element, XBL --> content    <h3><a name="77249"></a> progressmeter</h3>
<A NAME="77487"></A> Contained by    <p>Visual progress indicator of a time-consuming operation</p>
binding    <h4><a name="77249"></a> Additional Attributes</h4>
<A NAME="77487"></A> Attributes    <tt>value</tt>, <!--INDEX progressmeter element, XUL --> mode 
id    <h4><a name="77249"></a> Description</h4>
<H4><A NAME="77487"></A> Description</H4>    This high-level widget uses its <tt>value</tt> attribute to
This container for the anonymous binding content is placed at the point where the element using it is in the bound document. <TT>children</TT> is the only XBL element allowed as a child of <TT>content</TT>. All other content is either HTML or XUL, depending on the context in which you use the binding.    fill in a meter that usually represents how long a particular
<HR><H3><A NAME="77492"></A> destructor</H3>    task takes. You can change the <tt>value</tt> attribute
<P>Container for code to be executed when a binding is destroyed    dynamically to update the fill or set the mode to
<A NAME="77492"></A> Contained by    "undetermined" (as opposed to the default "determined" mode) to
implementation <!--INDEX destructor element, XBL -->    display a busy meter that doesn't chart actual progress. 
<A NAME="77492"></A> Attributes    <hr>
<TT>action</TT>, <TT>class</TT>, <TT>id</TT>    <h3><a name="77253"></a> radio</h3>
<H4><A NAME="77492"></A> Description</H4>    <p>Single on/off choice represented as selectable circle <a
Contained in the binding's <TT>implementation</TT>, this element carries out code placed within it when the binding is detached or destroyed. This detachment and destruction occurs when the bound element matches a different style rule, the bound element is removed from the document, or the document is closed or destroyed. The code can alternatively be a value of the <TT>action</TT> attribute.    name="77253"></a> Contained By radiogroup 
<H4><A NAME="77492"></A> See Also</H4>    <!--INDEX radio element, XUL -->
constructor    </p>
<HR><H3><A NAME="77497"></A> element</H3>    <h4><a name="77253"></a> Additional Attributes</h4>
<P>Insertion point for bound elements in anonymous content    <tt>selected</tt>, <tt>group</tt>, <tt>label</tt>,
<A NAME="77497"></A> Contained by    <tt>accesskey</tt>, <tt>value</tt> 
content    <h4><a name="77253"></a> Description</h4>
<A NAME="77497"></A> Attributes    Within a <tt>radiogroup</tt> element, a single <tt>radio</tt>
id    widget is selected to indicate user choice. <tt>radio</tt>
<H4><A NAME="77497"></A> Description</H4>    elements can also be used singularly to check an option on or
This element allows placement of a  <!--INDEX element element, XBL --> bound element at a point in the anonymous content (other than the top level that is the default for it). To use it, place it at the point in the binding content where you want the bound element to be rendered. This element is part of the XBL 1.0 specification, but is not yet implemented.    off in the interface. 
<H4><A NAME="77497"></A> See Also</H4>    <hr>
content    <h3><a name="77257"></a> radiogroup</h3>
<HR><H3><A NAME="77502"></A> field</H3>    <p>Framed box for containing radio elements <a name=
<P>Holder property for simple data    "77257"></a> Contains radio 
<A NAME="77502"></A> Contained by    <!--INDEX radiogroup element, XUL -->
implementation <!--INDEX field element, XBL -->    </p>
<A NAME="77502"></A> Attributes    <h4><a name="77257"></a> Additional Attributes</h4>
<TT>class</TT>, <TT>id</TT> <TT>name</TT>, <TT>readonly</TT>    disabled 
<H4><A NAME="77502"></A> Description</H4>    <h4><a name="77257"></a> Description</h4>
This element is a simple data holder and an alternative to a <TT>property</TT>. It differs from <TT>property</TT> because it does not use a <TT>getter</TT> or <TT>setter</TT>. It is useful for holding static/constant values for use elsewhere in the binding.    The <tt>radiogroup</tt> makes all <tt>radio</tt> elements
<H4><A NAME="77502"></A> See Also</H4>    within it belong to a single group from which only a single
<TT>implementation</TT>, <TT>property</TT>    element can be selected. 
<HR><H3><A NAME="77507"></A> getter</H3>    <hr>
<P>Script access point for an element's property    <h3><a name="77261"></a> resizer</h3>
<A NAME="77507"></A> Contained by    <p>Window-resizing element</p>
property    <h4><a name="77261"></a> Additional Attributes</h4>
<A NAME="77507"></A> Attributes    direction <!--INDEX resizer element, XUL -->
<TT>id</TT>, <TT>type</TT>    <h4><a name="77261"></a> Description</h4>
<H4><A NAME="77507"></A> Description</H4>    A bar that changes the cursor when hovered over to signify that
This element executes script when the <TT>property</TT> it is attached to is accessed. This is most commonly used to return the value of the property.    the bar can be dragged to resize the a window. The
<H4><A NAME="77507"></A> See Also</H4>    <tt>direction</tt> attribute specifies which way the window is
<TT>property</TT>, <TT>setter</TT>    resized, and can have values such as <tt>topleft</tt>,
<HR><H3><A NAME="77512"></A> handler</H3>    <tt>top</tt>, <tt>right</tt>, and <tt>bottomright</tt>. For
<P>Single event handler for an XBL element    example, a value of <tt>bottomleft</tt> resizes the window down
<A NAME="77512"></A> Contained by    and to the left. 
handlers    <h4><a name="77261"></a> See Also</h4>
<A NAME="77512"></A> Attributes    window 
<TT>id</TT>, <TT>event</TT>, <TT>action</TT>, <TT>phase</TT>, <TT>attachto</TT>, <TT>button</TT>, <TT>modifiers</TT>, <TT>keycode</TT>, <TT>charcode</TT>, <TT>type</TT>    <hr>
<H4><A NAME="77512"></A> Description</H4>    <h3><a name="77266"></a> row</h3>
This element defines an  <!--INDEX handler element, XBL --> event handler on a binding that reacts to a mouse movement or keyboard press on the binding. Some executed code is contained in the handler. This code can go directly under the element or in the <TT>action</TT> attribute.    <p>Container for grid cells laid out consecutively <a name=
The <TT>attachto</TT> attribute determines where the event is received-in the element, document, or window. The default receiver is the bound element. The <TT>phase</TT> attribute has three possible values-capturing, bubbling, and target-that determine which part of the event flow and default is bubbling    "77266"></a> Contained By rows <!--INDEX row element, XUL -->
The <TT>button</TT>, <TT>charcode</TT>, <TT>keycode</TT>, and <TT>modifiers</TT> attributes act as filters. For example, the value of <TT>button</TT> must match the label of the button that triggers the event.    </p>
The section "Event Attributes," later in this chapter, contains a complete list of events.    <h4><a name="77266"></a> Additional Attributes</h4>
<H4><A NAME="77512"></A> See Also</H4>    None. 
handlers    <h4><a name="77266"></a> Description</h4>
<HR><H3><A NAME="77518"></A> handlers</H3>    <tt>row</tt> is a single row in a <tt>grid</tt>. It is
<P>Container for event-handler elements    analogous to the <tt>&lt;TR&gt;</tt> element in HTML. 
<A NAME="77518"></A> Contains    <h4><a name="77266"></a> See Also</h4>
handler <!--INDEX handlers element, XBL -->    <tt>grid</tt>, <tt>rows</tt> 
<A NAME="77518"></A> Contained by    <hr>
binding    <h3><a name="77271"></a> rows</h3>
<A NAME="77518"></A> Attributes    <p>Definition for grid rows <a name="77271"></a> Contains row 
<TT>id</TT>, <TT>type</TT>    <!--INDEX rows element, XUL -->
<H4><A NAME="77518"></A> Description</H4>    </p>
This element is placed under the binding element and contains the event handlers used by that binding.    <h4><a name="77271"></a> Additional Attributes</h4>
<H4><A NAME="77518"></A> See Also</H4>    None. 
handler    <h4><a name="77271"></a> Description</h4>
<HR><H3><A NAME="77523"></A> image</H3>    The <tt>rows</tt> element is a child of the <tt>grid</tt>
<P>An image resource in a binding    element that contains any number of individual <tt>row</tt>
<A NAME="77523"></A> Contained by    elements. It is a sibling of <tt>columns</tt> within the
resources    <tt>grid</tt>. 
<A NAME="77523"></A> Attributes    <h4><a name="77271"></a> See Also</h4>
<TT>class</TT>,<TT>id</TT>, <TT>src</TT>    <tt>grid</tt>, <tt>row</tt>, <tt>columns</tt>, <tt>column</tt> 
<H4><A NAME="77523"></A> Description</H4>    <hr>
This element preloads images; all included image resources are loaded when the binding is used.    <h3><a name="77276"></a> rule</h3>
<H4><A NAME="77523"></A> See Also</H4>    <p>Defines rules for rendering data as XUL <a name="77276"></a>
<TT>resources</TT>, <TT>stylesheet</TT>    Contained by template <!--INDEX rule element, XUL -->
<HR><H3><A NAME="77529"></A> implementation</H3>    </p>
<P>Container for binding methods and properties    <h4><a name="77276"></a> Additional Attributes</h4>
<A NAME="77529"></A> Contains    <tt>rdf:type</tt>, <tt>parent</tt>, <tt>isempty</tt>,
<TT>method</TT>,  <!--INDEX implementation element, XBL --> property    <tt>iscontainer</tt> 
<A NAME="77529"></A> Contained by    <h4><a name="77276"></a> Description</h4>
binding    The children of the <tt>rule</tt> element define a rule: the
<A NAME="77529"></A> Attributes    conditions stated in the <tt>conditions</tt> element must be
<TT>id</TT>, <TT>name</TT>, <TT>implements</TT>, <TT>type</TT>    met, the <tt>bindings</tt> provides optional matching, and the
<H4><A NAME="77529"></A> Description</H4>    content in the <tt>action</tt> element is rendered if the rule
This element holds a binding's <TT>&lt;method&gt;</TT> and <TT>&lt;property&gt;</TT> elements that, as a whole, make up a binding's behavior. The optional <TT>implements</TT> attribute can hold a list of comma-separated XPCOM interfaces that are used by the implementation's methods and properties. The optional <TT>type</TT> attribute represents the scripting language to be used. This attribute defaults to JavaScript, the only implemented language that scripts Mozilla's XPFE.    is matched. 
<PRE>&lt;implementation type="application/x-javascript" implements="nsIAccessibleProvider"&gt;    <h4><a name="77276"></a> See Also</h4>
     <tt>template</tt>, <tt>action</tt>, <tt>conditions</tt> 
     <hr>
     <h3><a name="77279"></a> script</h3>
     <p>Declaration of script used in XUL file</p>
     <h4><a name="77279"></a> Additional Attributes</h4>
     <tt>src</tt>, type <!--INDEX script element, XUL -->
     <h4><a name="77279"></a> Description</h4>
     The <tt>script</tt> element can contain script content (e.g.,
     <tt>&lt;script&gt;alert("it")&lt;/script&gt;</tt>) and can also
     import scripts in JavaScript files, in which case the
     <tt>src</tt> attribute is used. The type for JavaScript is
     <tt>application/x-javascript</tt>, and the <tt>src</tt>
     attribute may also use <i>chrome://</i> type URLs to point at
     JavaScript in the chrome. 
     <hr>
     <h3>scrollbar</h3>
     <p>Widget for scrolling in a container Contains
     <tt>scrollbarbutton</tt>, <!--INDEX scrollbar element, XUL -->
     <tt>slider</tt></p>
     <h4><a name="77283"></a> Additional Attributes</h4>
     <tt>curpos</tt>, <tt>increment</tt>, <tt>maxpos</tt>,
     <tt>pageincrement</tt> 
     <h4><a name="77283"></a> Description</h4>
     The <tt>scrollbar</tt> element uses the <tt>curpos</tt> and
     <tt>maxpos</tt> attributes to determine where the
     <tt>scrollbarbutton</tt> element is drawn within its length.
     <tt>increment</tt> specifies how much the scrollbar should move
     on user input. <tt>pageincrement</tt> specifies how many pages
     it should move. 
     <hr>
     <h3><a name="77287"></a> scrollbarbutton</h3>
     <p>Button used to move position of scrollbar thumb <a name=
     "77287"></a> Contained By scrollbar 
     <!--INDEX scrollbarbutton element, XUL -->
     </p>
     <h4><a name="77287"></a> Additional Attributes</h4>
     <tt>sborient</tt>, <tt>type</tt> 
     <h4><a name="77287"></a> Description</h4>
     The <tt>scrollbarbutton</tt> can use its <tt>src</tt> attribute
     to point to an image that should be drawn over it. 
     <hr>
     <h3><a name="77291"></a> scrollbox</h3>
     <p>Box for scrolling content</p>
     <h4><a name="77291"></a> Additional Attributes</h4>
     crop <!--INDEX scrollbox element, XUL -->
     <h4><a name="77291"></a> Description</h4>
     The <tt>scrollbox</tt> is a regular box with scrollbars that
     display automatically when the content inside the box overflows
     the size of the box itself. 
     <h4><a name="77291"></a> See Also</h4>
     <tt>box</tt>, <tt>hbox</tt>, <tt>vbox</tt> 
     <hr>
     <h3><a name="77295"></a> separator</h3>
     <p>Bar between elements</p>
     <h4><a name="77295"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77295"></a> Description</h4>
     The <tt>separator</tt> is a 
     <!--INDEX separator element, XUL --> general-purpose divider.
     In menus, use <tt>menuseparator</tt>. 
     <h4><a name="77295"></a> See Also</h4>
     menuseparator 
     <hr>
     <h3><a name="77299"></a> slider</h3>
     <p>A scrollbar without buttons</p>
     <h4><a name="77299"></a> Additional Attributes</h4>
     <tt>curpos</tt>, <tt>increment</tt>, 
     <!--INDEX slider element, XUL --> <tt>maxpos</tt>,
     <tt>pageincrement</tt> 
     <h4><a name="77299"></a> Description</h4>
     The <tt>slider</tt> element provides simpler user input-a
     <tt>thumb</tt> button and no arrows-for scrolling large
     content. Like <tt>scrollbar</tt>, it uses <tt>curpos</tt> and
     <tt>maxpos</tt> to display its position. 
     <h4><a name="77299"></a> See Also</h4>
     <tt>scrollbar</tt>, <tt>scrollbarbutton</tt> 
     <hr>
     <h3><a name="77302"></a> spacer</h3>
     <p>Blank space separating element</p>
     <h4><a name="77302"></a> Additional Attributes</h4>
     None. <!--INDEX spacer element, XUL -->
     <h4><a name="77302"></a> Description</h4>
     This element is a general-purpose blank space. The use of a
     <tt>spacer</tt> with <tt>flex</tt> to take up available space
     within a <tt>box</tt> and shrink its siblings is a staple of
     the box layout model that XUL uses. 
     <hr>
     <h3><a name="77306"></a> splitter</h3>
     <p>Element for dragging and resizing associated elements</p>
     <h4><a name="77306"></a> Additional Attributes</h4>
     <tt>persist</tt>, <!--INDEX splitter element, XUL --> state 
     <h4><a name="77306"></a> Description</h4>
     Users can drag a <tt>splitter</tt> to resize an associated
     element or panel that holds content and click a
     <tt>splitter</tt> to collapse the specified element within a
     box. To specify which element you manipulate with a
     <tt>splitter</tt>, set this element's <tt>collapse</tt>
     attribute accordingly: <tt>before</tt> to control the element
     before it in the parent; <tt>after</tt> to control the element
     after it. 
     <h4><a name="77306"></a> See Also</h4>
     <tt>grippy</tt>, <tt>toolbar</tt> 
     <hr>
     <h3><a name="77309"></a> stack</h3>
     <p>Shows children one on top of one another, all at the same
     time</p>
     <h4><a name="77309"></a> Description</h4>
     In contrast to the <tt>deck</tt>, <tt>stack</tt> is a
     <tt>box</tt> <!--INDEX stack element, XUL --> that displays all
     of its children at once. You can use a <tt>stack</tt> to
     display elements and blend them together, as when you use
     different stack children as background images and visual
     layers. 
     <h4><a name="77309"></a> See Also</h4>
     <tt>deck</tt>, <tt>box</tt> 
     <hr>
     <h3><a name="77314"></a> statusbar</h3>
     <p>Box container for status elements <a name="77314"></a>
     Contains statusbarpanel <!--INDEX statusbar element, XUL -->
     </p>
     <h4><a name="77314"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77314"></a> Description</h4>
     In Mozilla, the <tt>statusbar</tt> is placed at the bottom of
     the main windows, where it is hooked up to the
     <tt>window.status</tt> property and can be used to display
     status text. It is divided into panels, one of which is the
     <tt>taskbar</tt> where some main component icons are displayed.
     
     <h4><a name="77314"></a> See Also</h4>
     statusbarpanel 
     <hr>
     <h3><a name="77319"></a> statusbarpanel</h3>
     <p>Single unit of a statusbar <a name="77319"></a> Contained by
     statusbar <!--INDEX statusbarpanel element, XUL -->
     </p>
     <h4><a name="77319"></a> Additional Attributes</h4>
     <tt>persist</tt>, <tt>label</tt> 
     <h4><a name="77319"></a> Description</h4>
     <tt>statusbarpanel</tt>s are subdivisions of the
     <tt>statusbar</tt> at the bottom of main browser windows. They
     can contain other content, text using the <tt>label</tt>
     attribute and an image using the <tt>list-style-image</tt> CSS
     style rule. 
     <h4><a name="77319"></a> See Also</h4>
     statusbar 
     <hr>
     <h3><a name="77324"></a> stringbundle</h3>
     <p>Holder of localized properties for use in script <a name=
     "77324"></a> Contained by stringbundleset 
     <!--INDEX stringbundle element, XUL -->
     </p>
     <h4><a name="77324"></a> Additional Attributes</h4>
     src 
     <h4><a name="77324"></a> Description</h4>
     Like the <tt>script</tt> element, <tt>stringbundle</tt> uses
     the <tt>src</tt> attribute to locate a file for use. In this
     case, the files is a string bundle (properties file) that is
     used for holding localizable strings used in the UI. 
     <h4><a name="77324"></a> See Also</h4>
     stringbundleset 
     <hr>
     <h3><a name="77329"></a> stringbundleset</h3>
     <p>Container for stringbundle elements <a name="77329"></a>
     Contains stringbundle 
     <!--INDEX stringbundleset element, XUL -->
     </p>
     <h4><a name="77329"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77329"></a> Description</h4>
     <tt>stringbundleset</tt> is an optional container for groups of
     <tt>stringbundle</tt> elements. Like <tt>commandset</tt> use
     for commands, <tt>stringbundle</tt> organizes sets of related
     <tt>stringbundle</tt>s, particularly when those sets are
     overlaid into the UI. 
     <h4><a name="77329"></a> See Also</h4>
     stringbundle 
     <hr>
     <h3><a name="77334"></a> tab</h3>
     <p>A single selectable tab of a tabbox <a name="77334"></a>
     Contained by tabs</p>
     <h4><a name="77334"></a> Additional Attributes</h4>
     <tt>accesskey</tt>, <!--INDEX tab element, XUL -->
     <tt>crop</tt>, <tt>disabled</tt>, <tt>label</tt>,
     <tt>image</tt> 
     <h4><a name="77334"></a> Description</h4>
     Individual tabs correspond to panels in the <tt>tabbox</tt>. 
     <h4><a name="77334"></a> See Also</h4>
     <tt>tabbox</tt>, <tt>tabpanel</tt>, <tt>tabpanels</tt>,
     <tt>tabs</tt> 
     <hr>
     <h3>tabbox</h3>
     <p>Box container for tab panels Contains <tt>tabs</tt>,
     tabpanels <!--INDEX tabbox element, XUL -->
     </p>
     <h4><a name="77339"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77339"></a> Description</h4>
     <tt>tabbox</tt> is the container in which the tabs and
     tabpanels are defined. It lays out children like a regular box
     to the orientation specified, which defaults to vertical. The
     panels are defined in the <tt>tabpanels</tt> element. 
     <h4><a name="77339"></a> See Also</h4>
     <tt>tab</tt>, <tt>tabpanel</tt>, <tt>tabpanels</tt>,
     <tt>tabs</tt> 
     <hr>
     <h3><a name="77343"></a> tabbrowser</h3>
     <p>Tabbed holder for a set of web content views</p>
     <h4><a name="77343"></a> Additional Attributes</h4>
     <tt>contentcontextmenu</tt>, 
     <!--INDEX tabbrowser element, XUL --> <tt>contenttooltip</tt> 
     <h4><a name="77343"></a> Description</h4>
     <tt>tabbrowser</tt> derives from the <tt>browser</tt> widget.
     Like <tt>browser</tt>, it lets you view HTML pages and other
     content. <tt>tabbrowser</tt> has additional methods on it that
     manage tabbed windows (e.g., <tt>addTab</tt>,
     <tt>enterTabbedMode</tt>). 
     <h4><a name="77343"></a> See Also</h4>
     browser 
     <hr>
     <h3><a name="77349"></a> tabpanel</h3>
     <p>A single panel of a tabbox <a name="77349"></a> Contained by
     tabpanels <!--INDEX tabpanel element, XUL -->
     <a name="77349"></a> Contains XUL content</p>
     <h4><a name="77349"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77349"></a> Description</h4>
     A <tt>tabpanel</tt> is one of the special <tt>box</tt> elements
     that correspond to a particular tab within a <tt>tabbox</tt>.
     It can hold any XUL content to be displayed on a particular tab
     panel. 
     <h4><a name="77349"></a> See Also</h4>
     <tt>tab</tt>, <tt>tabbox</tt>, <tt>tabpanels</tt>,
     <tt>tabs</tt> 
     <hr>
     <h3><a name="77355"></a> tabpanels</h3>
     <p>Container for tabpanel elements <a name="77355"></a>
     Contained by tabbox <!--INDEX tabpanels element, XUL -->
     <a name="77355"></a> Contains <tt>tabpanel</tt>,
     <tt>box</tt></p>
     <h4><a name="77355"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77355"></a> Description</h4>
     The <tt>tabpanels</tt> container corresponds to the
     <tt>tabs</tt> element that holds all individual tabs, and is a
     container for the <tt>tabpanel</tt> associated with that tab.
     This child panel can be either an optional <tt>tabpanel</tt>
     element that holds XUL content, or just the XUL content. 
     <h4><a name="77355"></a> See Also</h4>
     <tt>tab</tt>, <tt>tabbox</tt>, <tt>tabpanel</tt>, <tt>tabs</tt>
     
     <hr>
     <h3><a name="77361"></a> tabs</h3>
     <p>Container for tab elements <a name="77361"></a> Contained by
     tabbox <!--INDEX tabs element, XUL -->
     <a name="77361"></a> Contains tab</p>
     <h4><a name="77361"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77361"></a> Description</h4>
     This element is a required container for individual tabs. 
     <h4><a name="77361"></a> See Also</h4>
     <tt>tab</tt>, <tt>tabbox</tt>, <tt>tabpanel</tt>,
     <tt>tabpanels</tt> 
     <hr>
     <h3><a name="77365"></a> template</h3>
     <p>A high-level widget used to build content dynamically from
     data <a name="77365"></a> Contains rule 
     <!--INDEX template element, XUL -->
     </p>
     <h4><a name="77365"></a> Additional Attributes</h4>
     <tt>xmlns:nc</tt>, <tt>xmlns:chrome</tt> 
     <h4><a name="77365"></a> Description</h4>
     The <tt>template</tt> element has several <tt>rule</tt>
     children, each of which defines rules for matching data in a
     datasource and rendering that data as XUL content. A template
     is defined within the regular XUL content. 
     <hr>
     <h3><a name="77369"></a> textbox</h3>
     <p>Accepts text input from user</p>
     <h4><a name="77369"></a> Additional Attributes</h4>
     <tt>multiline</tt>, <tt><!--INDEX textbox element, XUL -->
     maxlength</tt>, <tt>disabled</tt>, <tt>readonly</tt>,
     <tt>type</tt>, <tt>size</tt> 
     <h4><a name="77369"></a> Description</h4>
     <tt>textbox</tt> is a user-input element. Expand it beyond its
     single-line default by setting <tt>multiline</tt> to
     <tt>true</tt>. You can also disable it, and set its size. 
     <h4><a name="77369"></a> See Also</h4>
     label 
     <hr>
     <h3><a name="77373"></a> thumb</h3>
     <p>Object used to move content in scrollable area</p>
     <h4><a name="77373"></a> Additional Attributes</h4>
     sborient <!--INDEX thumb element, XUL -->
     <h4><a name="77373"></a> Description</h4>
     The <tt>thumb</tt> element appears in the <tt>slider</tt> and
     the <tt>scrollbar</tt>. 
     <h4><a name="77373"></a> See Also</h4>
     <tt>scrollbar</tt>, <tt>scrollbarbutton</tt>, <tt>slider</tt> 
     <hr>
     <h3><a name="77378"></a> toolbar</h3>
     <p>Holder of buttons for quick-access UI functionality <a name=
     "77378"></a> Contains <tt>toolbarbutton</tt>, 
     <!--INDEX toolbar element, XUL -->
     <tt>toolbarseparator</tt></p>
     <h4><a name="77378"></a> Additional Attributes</h4>
     <tt>grippyhidden</tt>, <tt>tborient</tt>, <tt>tbalign</tt>,
     <tt>tbpack</tt> 
     <h4><a name="77378"></a> Description</h4>
     Toolbars usually have horizontal orientation at the top of an
     application window, but this does not have to be the case. You
     can use the <tt>orient</tt> attribute to set it vertically and
     run its content down and not across. While the most common
     content for a toolbar is buttons and menus, it can contain any
     type of content. 
     <h4><a name="77378"></a> See Also</h4>
     <tt>toolbarbutton</tt>, <tt>toolbarseparator</tt>,
     <tt>toolbox</tt> 
     <hr>
     <h3><a name="77383"></a> toolbarbutton</h3>
     <p>Specially adapted button for use in a toolbar <a name=
     "77383"></a> Contained by toolbar 
     <!--INDEX toolbarbutton element, XUL -->
     </p>
     <h4><a name="77383"></a> Additional Attributes</h4>
     <tt>accesskey</tt>, <tt>dir</tt>, <tt>disabled</tt>,
     <tt>dlgType</tt>, <tt>group</tt>, <tt>image</tt>,
     <tt>label</tt>, <tt>orient</tt>, <tt>type</tt>, <tt>value</tt> 
     <h4><a name="77383"></a> Description</h4>
     This is a button designed especially for a toolbar, with
     special stylings for this purpose. The current theme determines
     a <tt>toolbarbutton</tt>'s look. See <i>toolbar.css</i> in the
     theme JARs to view styles and bindings for this common button. 
     <h4><a name="77383"></a> See Also</h4>
     <tt>toolbar</tt>, <tt>toolbarseparator</tt>, <tt>toolbox</tt> 
     <hr>
     <h3><a name="77388"></a> toolbarseparator</h3>
     <p>Visible separator for elements contained in a toolbar <a
     name="77388"></a> Contained by toolbar 
     <!--INDEX toolbarseparator element, XUL -->
     </p>
     <h4><a name="77388"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77388"></a> Description</h4>
     Like the <tt>menuseparator</tt> in a <tt>menu</tt>,
     <tt>toolbarseparator</tt> divides elements in a
     <tt>toolbar</tt>. 
     <h4><a name="77388"></a> See Also</h4>
     <tt>toolbar</tt>, <tt>toolbarbutton</tt>, <tt>toolbox</tt> 
     <hr>
     <h3><a name="77393"></a> toolbox</h3>
     <p>Optional container for menu bars and toolbars <a name=
     "77393"></a> Contains <tt>menubar</tt>, 
     <!--INDEX toolbox element, XUL --> <tt>toolbar</tt></p>
     <h4><a name="77393"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77393"></a> Description</h4>
     <tt>toolbox</tt> can organize several toolbars into one parent
     element. <tt>toolbox</tt> inherits from <tt>box</tt>, so you
     can use box layout attributes to control the positioning and
     layout of toolbars within. 
     <h4><a name="77393"></a> See Also</h4>
     <tt>menubar</tt>, <tt>toolbar</tt> 
     <hr>
     <h3><a name="77396"></a> tooltip</h3>
     <p>Pop-up window for context-sensitive help</p>
     <h4><a name="77396"></a> Additional Attributes</h4>
     <tt>noautohide</tt>, <!--INDEX tooltip element, XUL -->
     <tt>onpopupshowing</tt>, <tt>onpopuphiding</tt>,
     <tt>position</tt> 
     <h4><a name="77396"></a> Description</h4>
     The <tt>tooltip</tt> element defines text to be displayed. It
     is associated by <tt>ID</tt> with elements that want to use its
     content in the pop ups they display. However, elements can also
     use the <tt>tooltip</tt> attribute to display a tooltip more
     directly for themselves. 
     <hr>
     <h3><a name="77401"></a> tree</h3>
     <p>Hierarchical holder of information represented as rows <a
     name="77401"></a> Contains <tt>treecols</tt>,
     <tt>treechildren</tt></p>
     <h4><a name="77401"></a> Additional Attributes</h4>
     <tt>multiple</tt>, <!--INDEX tree element, XUL -->
     <tt>datasources</tt>, <tt>enableColumnDrag</tt>,
     <tt>containment</tt>, <tt>sortResource</tt>,
     <tt>sortDirection</tt>, <tt>border</tt>, <tt>seltype</tt>,
     <tt>sortActive</tt>, <tt>flags, context</tt>, <tt>persist</tt>,
     <tt>hidecolumnpicker</tt> 
     <h4><a name="77401"></a> Description</h4>
     The <tt>tree</tt> element is a high-level widget that displays
     tabular data. More complex than <tt>listbox</tt>, <tt>tree</tt>
     allows you to define nested content, different views, and data
     display, and provides methods that sort and manipulate its
     contents. 
     <h4><a name="77401"></a> See Also</h4>
     <tt>treecell</tt>, <tt>treechildren</tt>, <tt>treecol</tt>,
     <tt>treecols</tt>, <tt>treeitem</tt>, <tt>treerow</tt> 
     <hr>
     <h3><a name="77406"></a> treecell</h3>
     <p>A single cell in a tree <a name="77406"></a> Contained by
     treerow</p>
     <h4><a name="77406"></a> Additional Attributes</h4>
     <tt>src</tt>, <tt>indent</tt>, 
     <!--INDEX treecell element, XUL --> <tt>observes</tt>,
     <tt>url</tt>, <tt>value</tt>, <tt>label</tt>, <tt>sortActive,
     sortDirection</tt>, <tt>tag</tt>, <tt>mode</tt>,
     <tt>resource</tt>, <tt>allowevents</tt>, <tt>properties</tt> 
     <h4><a name="77406"></a> Description</h4>
     The <tt>treecell</tt> contains the actual content to be
     displayed in a tree. That content can be in the form of a value
     for the <tt>label</tt> attribute. It can also be content in the
     <tt>treecell</tt>'s start and end tags (e.g.,
     <tt>&lt;treecell&gt;data&lt;/treecell&gt;</tt>). 
     <h4><a name="77406"></a> See Also</h4>
     tree, treechildren, treecol, treecols, treeitem, treerow 
     <hr>
     <h3><a name="77412"></a> treechildren</h3>
     <p>The main body of a tree; a container for treeitems <a name=
     "77412"></a> Contains treeitem 
     <!--INDEX treechildren element, XUL -->
     <a name="77412"></a> Contained by tree</p>
     <h4><a name="77412"></a> Additional Attributes</h4>
     open 
     <h4><a name="77412"></a> Description</h4>
     The <tt>treechildren</tt> element defines the subset of the
     <tt>tree</tt> where the content is actually contained (in
     contrast to <tt>treecols</tt>, which defines aspects of the
     layout). 
     <h4><a name="77412"></a> See Also</h4>
     <tt>tree</tt>, <tt>treecell</tt>, <tt>treecol</tt>,
     <tt>treecols</tt>, <tt>treeitem</tt>, <tt>treerow</tt> 
     <hr>
     <h3><a name="77417"></a> treecol</h3>
     <p>A single column of a tree <a name="77417"></a> Contained by
     treecols <!--INDEX treecol element, XUL -->
     </p>
     <h4><a name="77417"></a> Additional Attributes</h4>
     <tt>sort</tt>, <tt>resource</tt>, <tt>primary</tt>,
     <tt>sortSeparators</tt>, <tt>label</tt>, <tt>sortActive</tt>,
     <tt>sortDirection</tt>, <tt>hideheader</tt>,
     <tt>accesskey</tt>, <tt>type</tt> 
     <h4><a name="77417"></a> Description</h4>
     The <tt>treecol</tt> typically does not contain content.
     Instead, it defines the header for the columns whose contents
     are defined in the <tt>treerow</tt>s. 
     <h4><a name="77417"></a> See Also</h4>
     <tt>tree</tt>, <tt>treecell</tt>, <tt>treechildren</tt>,
     <tt>treecols</tt>, <tt>treeitem</tt>, <tt>treerow</tt> 
     <hr>
     <h3><a name="77423"></a> treecols</h3>
     <p>Container for tree columns <a name="77423"></a> Contained by
     tree <a name="77423"></a> Contains treecol</p>
     <h4><a name="77423"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77423"></a> Description</h4>
     This element is a container for a group of <tt>treecol</tt>
     elements, or columns, in a tree. A tree should have only one
     <tt>treecols</tt>. 
     <h4><a name="77423"></a> See Also</h4>
     <tt>tree</tt>, <tt>treecell</tt>, <tt>treechildren</tt>,
     <tt>treecol</tt>, <tt>treeitem</tt>, <tt>treerow</tt> 
     <hr>
     <h3><a name="77429"></a> treeitem</h3>
     <p>A treerow container <a name="77429"></a> Contained by
     treechildren <!--INDEX treeitem element, XUL -->
     <a name="77429"></a> Contains treerow</p>
     <h4><a name="77429"></a> Additional Attributes</h4>
     <tt>rdf:type</tt>, <tt>container</tt>, <tt>open</tt> 
     <h4><a name="77429"></a> Description</h4>
     The <tt>treeitem</tt> element is a container for a
     <tt>treerow</tt>, and makes <tt>treerow</tt> a selectable
     element within the <tt>tree</tt>. 
     <h4><a name="77429"></a> See Also</h4>
     <tt>tree</tt>, <tt>treecell</tt>, <tt>treechildren</tt>,
     <tt>treecol</tt>, <tt>treecols</tt>, <tt>treerow</tt> 
     <hr>
     <h3><a name="77435"></a> treerow</h3>
     <p>A single row of a tree <a name="77435"></a> Contained by
     treeitem <!--INDEX treerow element, XUL -->
     <a name="77435"></a> Contains treecell</p>
     <h4><a name="77435"></a> Additional Attributes</h4>
     properties 
     <h4><a name="77435"></a> Description</h4>
     Contained within a <tt>treeitem</tt>, this element represents a
     single row of a tree. 
     <h4><a name="77435"></a> See Also</h4>
     <tt>tree</tt>, <tt>treecell</tt>, <tt>treechildren</tt>,
     <tt>treecol</tt>, <tt>treecols</tt>, <tt>treeitem</tt> 
     <hr>
     <h3><a name="77439"></a> triple</h3>
     <p>Substructure of a template that matches RDF statements in
     the data</p>
     <h4><a name="77439"></a> Additional Attributes</h4>
     <tt>predicate</tt>, <!--INDEX triple element, XUL -->
     <tt>object</tt>, <tt>subject</tt> 
     <h4><a name="77439"></a> Description</h4>
     The children of <tt>triple-predicate</tt>, <tt>object</tt>, and
     <tt>subject-</tt>match RDF statements that appear in the data
     processed in the template. 
     <h4><a name="77439"></a> See Also</h4>
     <tt>template</tt>, <tt>member</tt>, <tt>content</tt>,
     <tt>conditions</tt> 
     <hr>
     <h3><a name="77442"></a> vbox</h3>
     <p>Box container with vertically laid out children</p>
     <h4><a name="77442"></a> Additional Attributes</h4>
     None. 
     <h4><a name="77442"></a> See Also</h4>
     <tt>box</tt>, <!--INDEX vbox element, XUL --> hbox 
     <hr>
     <h3><a name="77446"></a> window</h3>
     <p>Root element of a top-level XUL window document</p>
     <h4><a name="77446"></a> Additional Attributes</h4>
     <tt>windowtype</tt>, <tt><!--INDEX window element, XUL -->
     xmlns:rdf</tt>, <tt>xmlns:web</tt>, <tt>titlepreface</tt>,
     <tt>onload</tt>, <tt>onunload</tt>, <tt>xmlns</tt>,
     <tt>titlemodifier</tt>, <tt>xmlns:html</tt>, <tt>title</tt>,
     <tt>onclose</tt>, <tt>titlemenuseparator</tt>,
     <tt>contenttitlesetting</tt>, <tt>y</tt>, <tt>x</tt>,
     <tt>screenY</tt>, <tt>screenX</tt> 
     <h4><a name="77446"></a> Description</h4>
     The <tt>window</tt> is an XUL document's basic root element.
     The contents of a XUL document, including the <tt>script</tt>
     elements, commands, keys, and broadcasters, appear as children
     of the window. Overlays, the XML and stylesheet-processing
     instructions, and the <tt>DOCTYPE</tt> declaration appear
     before and outside a document's root element. The window should
     have a unique ID and use minimally, the XUL namespace to
     identify markup elements as XUL: <tt>xmlns="<a href=
     "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
     http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</a>"</tt>.
     
     <h4><a name="77446"></a> See Also</h4>
     <tt>overlay</tt>, <tt>page</tt> 
     <hr>
     <h3><a name="77451"></a> wizard</h3>
     <p>Window used to step though a task <a name="77451"></a>
     Contains wizardpage</p>
     <h4><a name="77451"></a> Additional Attributes</h4>
     <tt>onwizardaccept</tt>, <tt>onwizardcancel</tt>,
     <tt>xmlns</tt>, <tt>onwizardfinish</tt>, <tt>xmlns:nc</tt> 
     <h4><a name="77451"></a> Description</h4>
     Like <tt>dialog</tt>, <tt>wizard</tt> is a specialized version
     of the <tt>window</tt> root element. It easily creates
     multistep dialog windows that help users set up accounts,
     password data, and other customizable information. A
     <tt>wizard</tt> contains one or more <tt>wizardpage</tt>s. 
     <h4><a name="77451"></a> See Also</h4>
     <tt>wizardpage</tt>, <tt>window</tt>, <tt>dialog</tt> 
     <hr>
     <h3><a name="77456"></a> wizardpage</h3>
     <p>A single panel (step) of a wizard <a name="77456"></a>
     Contained by wizard</p>
     <h4><a name="77456"></a> Additional Attributes</h4>
     <tt>label</tt>, <tt>pageid</tt>, <tt>onpageadvanced</tt>,
     <tt>onpageshow</tt>, <tt>onpagecancel</tt> 
     <h4><a name="77456"></a> Description</h4>
     The <tt>wizardpage</tt> can contain 
     <!--INDEX wizardpage element, XUL --> arbitrary XUL content.
     One or more wizardpages are defined in a <tt>wizard</tt>
     window. The intrinsic functionality of a wizard window allows
     you to step through <tt>wizardpage</tt>s by setting the
     <tt>onpageshow</tt> and <tt>onpagecancel</tt> event handlers on
     individual pages and using the <tt>onwizardaccept</tt> and
     <tt>onwizardcancel</tt> event handlers on 
     <!--INDEX ENDRANGE==XUL element set --> the 
     <!--INDEX ENDRANGE==elements:XUL element set -->
     <tt>wizard</tt> parent element. 
     <h4><a name="77456"></a> See Also</h4>
     <tt>wizard</tt>, <tt>window</tt>, <tt>dialog</tt> 
     <h2><a name="77457"></a> XBL Element Set</h2>
     <p>The XBL 1.0 specification published on the 
     <!--INDEX STARTRANGE==XBL element set;elements:XBL element set -->
     mozilla.org web site appeared to be a beacon for application
     developers. Because the specification was available early in
     the development process, XBL seemed to be a tighter, more
     comprehensible language that was easier to learn and master
     than XUL. Since then, XBL development has strayed from the
     specification quite a bit, however, and now people consider XBL
     as opaque as XUL without good documentation that helps people
     learn and to create a roadmap for use based on continuing
     development.</p>
     <p>This reference section tries to capture basic elements and
     attributes in XBL. Because it binds rather than creates
     content, XBL is smaller and inherently more formal than XUL.
     Nonetheless, as you will see, the language has quite a bit of
     range and complexity. Each entry in this section describes the
     XBL element and its purpose, its position in the hierarchy
     (i.e., which elements it contains and which elements it is
     contained by), and lists the element's attributes. <a href=
     "ch07.html#77027">Chapter 7</a> introduces XBL and shows how to
     use it. However, once you are familiar with the basics of XBL,
     you can consult this reference to find the XBL items you
     want.</p>
     <hr>
     <h3><a name="77463"></a> binding</h3>
     <p>A single XBL binding <a name="77463"></a> Contains
     <tt>content</tt>, <tt>implementation</tt>, 
     <!--INDEX binding element, XBL --> handlers <a name=
     "77463"></a> Contained by bindings <a name="77463"></a>
     Attributes <tt>id</tt>, <tt>extends</tt>, <tt>display</tt>,
     <tt>applyauthorstyles</tt>, <tt>styleexplicitcontent</tt></p>
     <h4><a name="77463"></a> Description</h4>
     This element defines a single XBL binding that can be attached
     to a bound document. It enables the creation of self-contained
     widgets that can contain content, implementation, and handlers.
     This element must have an <tt>id</tt> attribute value; this
     value is how it is associated-either through a CSS style rule
     or a DOM method-to the bound element that acts a placeholder
     for the binding that is filled out during attachment. The
     <tt>extends</tt> attribute inherits from a XUL element or
     another binding. 
     <h4><a name="77463"></a> See Also</h4>
     bindings 
     <hr>
     <h3><a name="77468"></a> bindings</h3>
     <p>An XBL document's root element <a name="77468"></a> Contains
     <tt>binding</tt>, <tt>resources</tt>, 
     <!--INDEX bindings element, XBL --> stylesheet <a name=
     "77468"></a> Attributes <tt>id</tt>, <tt>type</tt></p>
     <h4><a name="77468"></a> Description</h4>
     This root container can hold one or more bindings, represented
     by the <tt>&lt;binding&gt;</tt> markup. The Mozilla code base
     references an XBL document through its name, which has an
     <i>.xml</i> extension. The document <tt>id</tt> has to be
     unique. The other children of <tt>&lt;bindings&gt;</tt> are
     <tt>&lt;resources&gt;</tt> and <tt>&lt;stylesheet&gt;</tt>,
     which contain style and image information to be used by the
     document's bindings. 
     <h4><a name="77468"></a> See Also</h4>
     binding 
     <hr>
     <h3><a name="77473"></a> body</h3>
     <p>Container for JavaScript code to be executed by an XBL
     method <a name="77473"></a> Contained by method 
     <!--INDEX body element, XBL -->
     <a name="77473"></a> Attributes id</p>
     <h4><a name="77473"></a> Description</h4>
     This element is designed as a holder for the method's script.
     It defines a logical block and differentiates the script from
     the parameter element, which also lies within the method.
     Script contained in a method has to be in a body element, which
     in turn should contain a CDATA section. &lt;![CDATA[...]]&gt;
     escapes JavaScript characters like quotes and slashes that may
     otherwise conflict with the XML parser. 
     <h4><a name="77473"></a> See Also</h4>
     method 
     <hr>
     <h3><a name="77477"></a> children</h3>
     <p>Insertion point for children of a bound element, or
     inherited binding <a name="77477"></a> Contained by content 
     <!--INDEX children element, XBL -->
     <a name="77477"></a> Attributes <tt>id</tt>, <tt>includes</tt>,
     <tt>type</tt></p>
     <h4><a name="77477"></a> Description</h4>
     This element needs to be placed in the binding content at the
     point where you want to place children of the bound element
     when the binding is rendered. If the children tag contains its
     own elements, then that element will be default content. If the
     element the binding attaches to contains children, the default
     content is ignored. 
     <hr>
     <h3><a name="77482"></a> constructor</h3>
     <p>Container for code to be executed when a binding is created
     <a name="77482"></a> Contained by implementation 
     <!--INDEX constructor element, XBL -->
     <a name="77482"></a> Attributes <tt>action</tt>,
     <tt>class</tt>, <tt>id</tt></p>
     <h4><a name="77482"></a> Description</h4>
     This behavior element is contained in the
     <tt>implementation</tt> element and holds code that will be
     carried out when the binding attachment first takes place. If
     you picture a binding as an object, your vision is
     initialization code. The code can alternatively be contained as
     the <tt>action</tt> attribute's value. 
     <h4><a name="77482"></a> See Also</h4>
     destructor 
     <hr>
     <h3><a name="77487"></a> content</h3>
     <p>Container for anonymous content to be inserted into a bound
     document <a name="77487"></a> Contains <tt>children</tt>; any
     markup <!--INDEX content element, XBL --> content <a name=
     "77487"></a> Contained by binding <a name="77487"></a>
     Attributes id</p>
     <h4><a name="77487"></a> Description</h4>
     This container for the anonymous binding content is placed at
     the point where the element using it is in the bound document.
     <tt>children</tt> is the only XBL element allowed as a child of
     <tt>content</tt>. All other content is either HTML or XUL,
     depending on the context in which you use the binding. 
     <hr>
     <h3><a name="77492"></a> destructor</h3>
     <p>Container for code to be executed when a binding is
     destroyed <a name="77492"></a> Contained by implementation 
     <!--INDEX destructor element, XBL -->
     <a name="77492"></a> Attributes <tt>action</tt>,
     <tt>class</tt>, <tt>id</tt></p>
     <h4><a name="77492"></a> Description</h4>
     Contained in the binding's <tt>implementation</tt>, this
     element carries out code placed within it when the binding is
     detached or destroyed. This detachment and destruction occurs
     when the bound element matches a different style rule, the
     bound element is removed from the document, or the document is
     closed or destroyed. The code can alternatively be a value of
     the <tt>action</tt> attribute. 
     <h4><a name="77492"></a> See Also</h4>
     constructor 
     <hr>
     <h3><a name="77497"></a> element</h3>
     <p>Insertion point for bound elements in anonymous content <a
     name="77497"></a> Contained by content <a name="77497"></a>
     Attributes id</p>
     <h4><a name="77497"></a> Description</h4>
     This element allows placement of a 
     <!--INDEX element element, XBL --> bound element at a point in
     the anonymous content (other than the top level that is the
     default for it). To use it, place it at the point in the
     binding content where you want the bound element to be
     rendered. This element is part of the XBL 1.0 specification,
     but is not yet implemented. 
     <h4><a name="77497"></a> See Also</h4>
     content 
     <hr>
     <h3><a name="77502"></a> field</h3>
     <p>Holder property for simple data <a name="77502"></a>
     Contained by implementation <!--INDEX field element, XBL -->
     <a name="77502"></a> Attributes <tt>class</tt>, <tt>id</tt>
     <tt>name</tt>, <tt>readonly</tt></p>
     <h4><a name="77502"></a> Description</h4>
     This element is a simple data holder and an alternative to a
     <tt>property</tt>. It differs from <tt>property</tt> because it
     does not use a <tt>getter</tt> or <tt>setter</tt>. It is useful
     for holding static/constant values for use elsewhere in the
     binding. 
     <h4><a name="77502"></a> See Also</h4>
     <tt>implementation</tt>, <tt>property</tt> 
     <hr>
     <h3><a name="77507"></a> getter</h3>
     <p>Script access point for an element's property <a name=
     "77507"></a> Contained by property <a name="77507"></a>
     Attributes <tt>id</tt>, <tt>type</tt></p>
     <h4><a name="77507"></a> Description</h4>
     This element executes script when the <tt>property</tt> it is
     attached to is accessed. This is most commonly used to return
     the value of the property. 
     <h4><a name="77507"></a> See Also</h4>
     <tt>property</tt>, <tt>setter</tt> 
     <hr>
     <h3><a name="77512"></a> handler</h3>
     <p>Single event handler for an XBL element <a name="77512"></a>
     Contained by handlers <a name="77512"></a> Attributes
     <tt>id</tt>, <tt>event</tt>, <tt>action</tt>, <tt>phase</tt>,
     <tt>attachto</tt>, <tt>button</tt>, <tt>modifiers</tt>,
     <tt>keycode</tt>, <tt>charcode</tt>, <tt>type</tt></p>
     <h4><a name="77512"></a> Description</h4>
     This element defines an <!--INDEX handler element, XBL -->
     event handler on a binding that reacts to a mouse movement or
     keyboard press on the binding. Some executed code is contained
     in the handler. This code can go directly under the element or
     in the <tt>action</tt> attribute. The <tt>attachto</tt>
     attribute determines where the event is received-in the
     element, document, or window. The default receiver is the bound
     element. The <tt>phase</tt> attribute has three possible
     values-capturing, bubbling, and target-that determine which
     part of the event flow and default is bubbling The
     <tt>button</tt>, <tt>charcode</tt>, <tt>keycode</tt>, and
     <tt>modifiers</tt> attributes act as filters. For example, the
     value of <tt>button</tt> must match the label of the button
     that triggers the event. The section "Event Attributes," later
     in this chapter, contains a complete list of events. 
     <h4><a name="77512"></a> See Also</h4>
     handlers 
     <hr>
     <h3><a name="77518"></a> handlers</h3>
     <p>Container for event-handler elements <a name="77518"></a>
     Contains handler <!--INDEX handlers element, XBL -->
     <a name="77518"></a> Contained by binding <a name="77518"></a>
     Attributes <tt>id</tt>, <tt>type</tt></p>
     <h4><a name="77518"></a> Description</h4>
     This element is placed under the binding element and contains
     the event handlers used by that binding. 
     <h4><a name="77518"></a> See Also</h4>
     handler 
     <hr>
     <h3><a name="77523"></a> image</h3>
     <p>An image resource in a binding <a name="77523"></a>
     Contained by resources <a name="77523"></a> Attributes
     <tt>class</tt>,<tt>id</tt>, <tt>src</tt></p>
     <h4><a name="77523"></a> Description</h4>
     This element preloads images; all included image resources are
     loaded when the binding is used. 
     <h4><a name="77523"></a> See Also</h4>
     <tt>resources</tt>, <tt>stylesheet</tt> 
     <hr>
     <h3><a name="77529"></a> implementation</h3>
     <p>Container for binding methods and properties <a name=
     "77529"></a> Contains <tt>method</tt>, 
     <!--INDEX implementation element, XBL --> property <a name=
     "77529"></a> Contained by binding <a name="77529"></a>
     Attributes <tt>id</tt>, <tt>name</tt>, <tt>implements</tt>,
     <tt>type</tt></p>
     <h4><a name="77529"></a> Description</h4>
     This element holds a binding's <tt>&lt;method&gt;</tt> and
     <tt>&lt;property&gt;</tt> elements that, as a whole, make up a
     binding's behavior. The optional <tt>implements</tt> attribute
     can hold a list of comma-separated XPCOM interfaces that are
     used by the implementation's methods and properties. The
     optional <tt>type</tt> attribute represents the scripting
     language to be used. This attribute defaults to JavaScript, the
     only implemented language that scripts Mozilla's XPFE. 
 <pre>
 &lt;implementation type="application/x-javascript" implements="nsIAccessibleProvider"&gt;
 ...  ...
&lt;/implementation&gt;</PRE>&lt;/implementation&gt;
<H4><A NAME="77529"></A> See Also</H4></pre>
<TT>binding</TT>, <TT>method</TT>, <TT>property</TT>    <h4><a name="77529"></a> See Also</h4>
<HR><H3><A NAME="77535"></A> method</H3>    <tt>binding</tt>, <tt>method</tt>, <tt>property</tt> 
<P>Script function to be accessed on a binding object    <hr>
<A NAME="77535"></A> Contains    <h3><a name="77535"></a> method</h3>
<TT>body</TT>,  <!--INDEX method element, XBL --> parameter    <p>Script function to be accessed on a binding object <a name=
<A NAME="77535"></A> Contained by    "77535"></a> Contains <tt>body</tt>, 
implementation    <!--INDEX method element, XBL --> parameter <a name=
<A NAME="77535"></A> Attributes    "77535"></a> Contained by implementation <a name="77535"></a>
<TT>id</TT>, <TT>name</TT>, <TT>type</TT>    Attributes <tt>id</tt>, <tt>name</tt>, <tt>type</tt></p>
<H4><A NAME="77535"></A> Description</H4>    <h4><a name="77535"></a> Description</h4>
This element supplies a single function to the bound element or binding object. The most important attribute is <TT>name</TT>, which calls the method and is compulsory. The method can have the <TT>&lt;parameter&gt;</TT> element define parameters. A <TT>&lt;body&gt;</TT> element contains the code that will be executed.    This element supplies a single function to the bound element or
<H4><A NAME="77535"></A> See Also</H4>    binding object. The most important attribute is <tt>name</tt>,
<TT>body</TT>, <TT>implementation</TT>, <TT>parameter</TT>    which calls the method and is compulsory. The method can have
<HR><H3><A NAME="77540"></A> parameter</H3>    the <tt>&lt;parameter&gt;</tt> element define parameters. A
<P>Single paramter declaration for a method    <tt>&lt;body&gt;</tt> element contains the code that will be
<A NAME="77540"></A> Contained by    executed. 
method    <h4><a name="77535"></a> See Also</h4>
<A NAME="77540"></A> Attributes    <tt>body</tt>, <tt>implementation</tt>, <tt>parameter</tt> 
<TT>id</TT>, <TT>name</TT>    <hr>
<H4><A NAME="77540"></A> Description</H4>    <h3><a name="77540"></a> parameter</h3>
Each <TT>&lt;parameter&gt;</TT> element  <!--INDEX parameter element, XBL --> lists a single parameter for a method. The <TT>name</TT> attribute is compulsory and is used by the method code to access the parameter's value.    <p>Single paramter declaration for a method <a name=
<H4><A NAME="77540"></A> See Also</H4>    "77540"></a> Contained by method <a name="77540"></a>
method    Attributes <tt>id</tt>, <tt>name</tt></p>
<HR><H3><A NAME="77546"></A> property</H3>    <h4><a name="77540"></a> Description</h4>
<P>Definition of a single binding object property    Each <tt>&lt;parameter&gt;</tt> element 
<A NAME="77546"></A> Contains    <!--INDEX parameter element, XBL --> lists a single parameter
<TT>getter</TT>,  <!--INDEX property element, XBL --> <TT>setter</TT>    for a method. The <tt>name</tt> attribute is compulsory and is
<A NAME="77546"></A> Contained by    used by the method code to access the parameter's value. 
implementation    <h4><a name="77540"></a> See Also</h4>