Classic method of annotating

From Documentation

Jump to: navigation, search




The Classic Way to annotate the Component Declarations

The annotation appears before the declaration of the element that you want to annotate:

<window xmlns:a="[http://www.zkoss.org/2005/zk/annotation http://www.zkoss.org/2005/zk/annotation]">
    <vbox>
        <a:author name="John Magic" date="3/17/2006"/>
        <listbox>
        </listbox>
    </vbox>
</window>

The annotation is an element in the http://www.zkoss.org/2005/zk/annotation namespace. The element name and attributes can be anything depending on the tool you use. You can annotate the same component declaration with several annotations:

<a:author name="John Magic"/>
<a:editor name="Mary White" date="4/11/2006"/>
<listbox/>

where author and editor are the annotation names, while name and date are the attribute names. In other words, an annotation consists of a name and a map of attributes.

If the annotations annotating a declaration have the same name, they are merged as a single annotation. For example,

<a:define var1="auto"/>
<a:define var2="123"/>
<listbox/>

is equivalent to

<a:define var1="auto" var2="123"/>
<listbox/>

Note: Annotations don't support EL expressions.

The Classic Way to Annotate the Property Declarations

To annotation a property declaration, you can put the annotation in front of the declaration of a property as shown below.

<listitem a:bind="datasource='author',name='name'" value="${author.name}"/>

Alternatively, you can use the attribute element and annotate the declaration of a property similar to the component declaration. In other words, the above annotation is equivalent to the following:


<listitem>
    <a:bind datasource="author" name="name"/>
    <attribute name="value">${author.name}</attribute>
</listitem>

Note: if the attribute name of a annotation is omitted, the name is assumed to be value. For example,

<listitem a:bind="value='selected'" value=""/>

is equivalent to

<listitem a:bind="selected" value=""/>




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