The Difference Between XUL and XHTML Components"

From Documentation
m
Line 5: Line 5:
 
* By implementing the <javadoc type="interface">org.zkoss.zk.ui.ext.RawId</javadoc> interface, the universal identifier, <mp>getUuid</mp>, is the same as the identifier <mp>getId</mp>.
 
* By implementing the <javadoc type="interface">org.zkoss.zk.ui.ext.RawId</javadoc> interface, the universal identifier, <mp>getUuid</mp>, is the same as the identifier <mp>getId</mp>.
 
* By implementing the <javadoc type="interface">org.zkoss.zk.ui.ext.DynamicAttributes</javadoc> interface, all XHTML components support arbitrary attributes. In other words, any attribute name is legal (as long as the targeted browser supports).
 
* By implementing the <javadoc type="interface">org.zkoss.zk.ui.ext.DynamicAttributes</javadoc> interface, all XHTML components support arbitrary attributes. In other words, any attribute name is legal (as long as the targeted browser supports).
 
=== Raw ===
 
 
A special component, <javadoc>org.zkoss.zhtml.Raw</javadoc> is used to represent any component that is not declared in the following section (i.e., not in lang.xml). In other words, if any unrecognized component name is found, an instance of <javadoc>org.zkoss.zhtml.Raw</javadoc> is created and a proper HTML tag will be generated accordingly. In other words, any component name is legal as long as the targeted browser supports.
 
 
<source lang="xml" >
 
<marquee align="top">...</marquee>
 
</source>
 
 
is equivalent to
 
 
<source lang="java">
 
new Raw("marquee").setDynamicAttribute("align", "top");
 
</source>
 

Revision as of 03:54, 20 May 2010

All XHTML components are derived from AbstractTag.

An XHTML component is a thin wrapper that encapsulates a native HTML tag. It is different to a XUL component or other none-native component in several ways.

  • By implementing the RawId interface, the universal identifier, getUuid, is the same as the identifier getId.
  • By implementing the DynamicAttributes interface, all XHTML components support arbitrary attributes. In other words, any attribute name is legal (as long as the targeted browser supports).