Annotate in ZUML"

From Documentation
(Created page with '{{ZKDevelopersReferencePageHeader}} Annotations can be applied to declarations of components and properties in ZUML pages. There are two way to annotate them: the classic way and…')
 
Line 1: Line 1:
 
{{ZKDevelopersReferencePageHeader}}
 
{{ZKDevelopersReferencePageHeader}}
Annotations can be applied to declarations of components and properties in ZUML pages. There are two way to annotate them: the classic way and the simple way. Which one to use depends on your favorite. You can mix them in the same page if you like.
+
Annotations can be applied to declarations of components and properties in ZUML pages.
  
=== The Simple Way to Annotate the Property Declarations ===
+
= Annotate Properties ===
In addition to annotating with the special XML namespace as described above, there is a simple way to annotate properties: specify a value with an annotation expression for the property to annotate, as show below.
+
To annotate a property, you could specify a value with an annotation expression for the property to annotate. The format of an annotation expression is <tt>@{''annot-name''(''attr-name1''=''attr-value1, attr-name2=attr-value2'')}</tt>. For example,
  
 
<source lang="xml" >
 
<source lang="xml" >
Line 9: Line 9:
 
</source>
 
</source>
  
The format of the annotation expression is <tt>@{''annot-name''(''attr-name1''=''attr-value1, attr-name2=attr-value2'')}</tt>. In other words, if the value of the property is an annotation expression, it is considered as the annotation for the corresponding property, rather than its value. In the above example, an annotation called <tt>bind</tt> is annotated to the <tt>label</tt> property. Thus, it is equivalent to
+
In other words, if the value of the property is an annotation expression, it is considered as the annotation for the corresponding property, rather than its value. In the above example, an annotation called <tt>bind</tt> is annotated to the <tt>label</tt> property, and the <tt>bind</tt> property has two attributes: <tt>datasource</tt> and <tt>selected</tt>.
 
 
<source lang="xml" >
 
<listitem a:bind=" datasource='author',selected" label=""/>
 
</source>
 
  
 
If the annotation name is not specified, the name is assumed to be <tt>default</tt>. For example, the following code snippet annotates the <tt>label</tt> property with an annotation named <tt>default</tt>, and the annotation has one attribute whose name and value are <tt>value</tt> and <tt>selected.name</tt>, respectively.
 
If the annotation name is not specified, the name is assumed to be <tt>default</tt>. For example, the following code snippet annotates the <tt>label</tt> property with an annotation named <tt>default</tt>, and the annotation has one attribute whose name and value are <tt>value</tt> and <tt>selected.name</tt>, respectively.
Line 27: Line 23:
 
</source>
 
</source>
  
Note: you can annotate the same property with multiple annotations, as shown below.
+
To annotate the same property with multiple annotations, you could specify them one-by-one and separated with a space, as shown below.
  
 
<source lang="xml" >
 
<source lang="xml" >
Line 33: Line 29:
 
</source>
 
</source>
  
=== The Simple Way to Annotate the Component Declarations ===
+
= Annotate Components =
 
Similarly, you can annotate a component by specifying the annotation expression to a specific attribute called <tt>self</tt> as shown below.
 
Similarly, you can annotate a component by specifying the annotation expression to a specific attribute called <tt>self</tt> as shown below.
  
Line 40: Line 36:
 
</source>
 
</source>
  
where <tt>self</tt> is a keyword to denote the annotation is used to annotate the component declaration, rather than any property. In other words, it is equivalent to
+
where <tt>self</tt> is a keyword to denote the annotation is used to annotate the component declaration, rather than any property.
 
 
<source lang="xml" >
 
<a:bind each="person"/>
 
<listitem/>
 
</source>
 
  
 
=Version History=
 
=Version History=

Revision as of 08:03, 17 November 2010


Annotate in ZUML


Annotations can be applied to declarations of components and properties in ZUML pages.

Annotate Properties ==

To annotate a property, you could specify a value with an annotation expression for the property to annotate. The format of an annotation expression is @{annot-name(attr-name1=attr-value1, attr-name2=attr-value2)}. For example,

<listitem label="@{bind(datasource='author',selected)}"/>

In other words, if the value of the property is an annotation expression, it is considered as the annotation for the corresponding property, rather than its value. In the above example, an annotation called bind is annotated to the label property, and the bind property has two attributes: datasource and selected.

If the annotation name is not specified, the name is assumed to be default. For example, the following code snippet annotates the label property with an annotation named default, and the annotation has one attribute whose name and value are value and selected.name, respectively.

<listitem label="@{selected.name}"/>

In other words, it is equivalent to the following code snippet.

<listitem label="@{default(value='selected.name')}"/>

To annotate the same property with multiple annotations, you could specify them one-by-one and separated with a space, as shown below.

<listitem label="@{ann1(selected.name) ann2(attr2a='attr2a',attr2b)}"/>

Annotate Components

Similarly, you can annotate a component by specifying the annotation expression to a specific attribute called self as shown below.

<listitem self="@{bind(each=person)}"/>

where self is a keyword to denote the annotation is used to annotate the component declaration, rather than any property.

Version History

Last Update : 2010/11/17


Version Date Content
     



Last Update : 2010/11/17

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