ZK 用户界面标记语言初理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40646143/article/details/83620181

      ZK 用户界面标记语言(ZUML)是基于XML的,每一个XML元素描述了要创建的组件.一个XML属性描述了被创建组件的初始值,一个XML处理指令(processing instruction),如页面的标题.

      不同的组件集通过XML命令空间来区分. 例如,XML的命名空间为

xmlns:z="http://www.zkoss.org/2005/zul"

      而XHTML的命名空间为

<html xmlns="http://www.w3.org/1999/xhtml"> 

那  XML和HTML的有什么区别?

(一)、语法要求不同:

1. 在html中不区分大小写,在xml中严格区分。

2. 在HTML中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束标记。在XML中,是严格的树状结构,绝对不能省略掉结束标记。

3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/ 字符作为结尾。这样分析器就知道不用查找结束标记了。

4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。 

5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。 

6. 在XML文档中,空白部分不会被解析器自动删除;但是html是过滤掉空格的。

(二)、标记不同:

1、html使用固有的标记;而xml没有固有的标记。

2、Html标签是预定义的;XML标签是免费的、自定义的、可扩展的。

(三)、作用不同:

1. html是用来显示数据的;xml是用来描述数据、存放数据的,所以可以作为持久化的介质!Html将数据和显示结合在一起,在页面中把这数据显示出来;xml

则将数据和显示分开。 XML被设计用来描述数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。

2. xml不是HTML的替代品,xml和html是两种不同用途的语言。 XML 不是要替换 HTML;实际上XML 可以视作对 HTML 的补充。XML 和HTML 的目标不同HTML 的设计目标是显示数据并集中于数据外观,而XML的设计目标是描述数据并集中于数据的内容。

3. 没有任何行为的XML。与HTML 相似,XML 不进行任何操作。(共同点)

4. 对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理与传输信息的工具。

5. XML未来将会无所不在。XML将成为最普遍的数据处理和数据传输的工具。

我们在使用ZK的过程中需要注意一下几点

① 元素必须格式良好

   首先,每个元素必须关闭.有俩种元素来关闭一元素,像下面描述一样,他们是等价的

<window></window> 通过一个结束标签来关闭元素
<window /> 不通过关闭元素来关闭元素


然后就是要注意,元素要被正确的嵌套(nested).

    

<z:listitem>
    <z:listcell>
     </z:listcell>
</z:listitem>
正确

<z:listitem>
    <z:listcell>
</z:listitem>

  </z:listcell>

错误

②特殊字符必须被替换掉

XML使用<element - name>来表示一个元素,所以你必须替换特殊字符.
 

特殊字符 替换字符
< &lt;
> &gt;
& &amp;
" &quot;
'' &apos;

③属性值必须被引号("")包括

代码 结果
<z:intbox id="num" style="display:none"/>
正确的
<z:intbox  id=num  style=display:none /> 错误的

④字符编码

   尽管是可选的,但在你的XML中指定编码是个好主意,这样XML解析器可以正确的解析文本.(注意:他必须放置在文件的第一行)

<?xml version="1.0" encoding="UTF-8"?>

⑤命名空间

命名空间是区分XML文档中用到名字的一个简单易懂的方法,ZK使用XML命名空间来区分组件名称,这样,只要不在同一个命名空间,俩个组件有相同的名字是可以的.ZK使用XML命名空间来表示一个组件集.这样,开发人员可以在同一页面内混合使用俩个或者多个组件集,如下

<html xmlns:="http://www.w3.org/1999/xhtml" 
 xmlns:x="http://www.zkoss.org/2005/zul" 
xmlns:zk="http://www.zkoss.org/2005/zk"> 
<head> 
<title>ZHTMLDemo</title> 
</head>
 <body>     
<h1>ZHTML Demo</h1>    
<table>   
 <tr>       
<td><x:textbox/></td>       
 <td>
<x:button label="Now" zk:onClick="addItem()"/>
</td>  
  </tr>   
 </table>    
<zk:zscript>    
void addItem() {    }   
 </zk:zscript>
 </body> 
</html> 

⑥使用Schema 自动完成

许多IDE, 如Eclipse 支持自动完成,如果XML schema 被按如下方式指定.

<window xmlns="http://www.zkoss.org/2005/zul" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.zkoss.org/2005/zul 
http://www.zkoss.org/2005/zul/zul.xsd"> 

⑦ZK页面的注释

猜你喜欢

转载自blog.csdn.net/qq_40646143/article/details/83620181
zk