Language Definition

From Documentation
Revision as of 06:59, 18 November 2010 by Tomyeh (talk | contribs)


Language Definition


A language definition defines a component set (aka., a language). For example, ZUL and XHTML are two component sets.

To define a language definition, you have to prepare a file called /metainfo/zk/lang.xml and makes it available to the classpath (such as in a JAR file, or in WEB-INF/classes of a Web application).

A language addon is used to extend a language definition. It shall be called /metainfo/zk/lang-addon.xml available to the classpath, or specified in WEB-INF/zk.xml.

When ZK starts, it will parse all language definitions and then all language addons based on their dependency. A language addon is a variant of a language definition. They are almost the same, except the naming and it must specify the addon name.


Subsections:


Here is a sample (from ZUL's lang.xml):

<language>
	<language-name>xul/html</language-name>
	<device-type>ajax</device-type>
	<namespace>http://www.zkoss.org/2005/zul</namespace>
	<extension>zul</extension><!-- the first extension is the major one -->
	<extension>xul</extension>

	<version>
		<version-class>org.zkoss.zul.Version</version-class>
		<version-uid>5.0.6</version-uid>
	</version>

	<javascript package="zk"/>
	<javascript package="zul.lang"/>
	<stylesheet href="~./zul/css/zk.wcs" type="text/css"/>

	<renderer-class>org.zkoss.zul.impl.PageRenderer</renderer-class>

	<label-template>
		<component-name>label</component-name>
		<component-attribute>value</component-attribute>
	</label-template>
	<macro-template>
		<macro-class>org.zkoss.zk.ui.HtmlMacroComponent</macro-class>
	</macro-template>
	<native-template>
		<native-class>org.zkoss.zk.ui.HtmlNativeComponent</native-class>
	</native-template>

	<component>
		<component-name>a</component-name>
		<component-class>org.zkoss.zul.A</component-class>
		<widget-class>zul.wgt.A</widget-class>
		<text-as>label</text-as><!-- treat text within the element as the label property -->
		<mold>
			<mold-name>default</mold-name>
			<mold-uri>mold/a.js</mold-uri>
			<css-uri>css/a.css.dsp</css-uri>
		</mold>
	</component>
</language>



Last Update : 2010/11/18

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