component

From Documentation
Revision as of 07:09, 19 November 2010 by Tomyeh (talk | contribs) (→‎extends)

Syntax:

<component>
  <component-name>a_name</component-name>
  <extends>a_name</extends>
  <component-class>a_class_name</component-class>
  <widget-class>a_class_name</widget-class>

  <mold>
    <mold-name>a_mold</mold-name>
    <mold-uri>a_uri</mold-uri>
  </mold>

  <text-as>a_property_name</text-as>

  <property>
    <property-name>a_name</property-name>
    <property-value>a_value</property-value>
  </property>

  <annotation>
    <annotation-name>an_annotation_name</annotation-name>
    <property-name>a_property_name</property-name>
    <attribute>
      <attribute-name>an_annotation_attr_name</attribute-name>
      <attribute-value>an_annotation_attr_value</attribute-value>
    </attribute>
  </annotation>

   <custom-attribute>
    <attribute-name>a_custom_attr_name</attribute-name>
    <attribute-value>a_custom_attr_value</attribute-value>
  </custom-attribute>
</component>

It specifies a component definition.

Example,

<component>
	<component-name>area</component-name>
	<component-class>org.zkoss.zul.Area</component-class>
	<widget-class>zul.wgt.Area</widget-class>
	<mold>
		<mold-name>default</mold-name>
		<mold-uri>mold/area.js</mold-uri>
	</mold>
</component>
<component>
	<component-name>bandbox</component-name>
	<extends>bandbox</extends>
	<annotation>
		<annotation-name>default-bind</annotation-name>
		<property-name>value</property-name>
		<attribute>
			<attribute-name>access</attribute-name>
			<attribute-value>both</attribute-value>
		</attribute>
	</annotation>
</component>

component-name

[Required]

The name of the component. It must be unique in the whole language.

extends

[Optional]

It specifies whether this definition is extending from another definition. If omitted, it is considered a definition of a new component. If specified, it extends from the given component definition (which must be defined first).

Notice that the component's name could be the same as the definition it extends from. If the same, the existent definition is simply overriden (no new component definition is created). It is a useful technique to change a component definition, such as adding annotation, providing the initial properties and so on.

component-class

[Required if no extends]

It specifies the component's Java class at the server side. It is required if you define a new component.

Version History

Last Update : 2010/11/19


Version Date Content
     



Last Update : 2010/11/19

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.