惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security Archives - TechRepublic
MongoDB | Blog
MongoDB | Blog
量子位
博客园 - 叶小钗
罗磊的独立博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
MyScale Blog
MyScale Blog
GbyAI
GbyAI
Help Net Security
Help Net Security
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
Hacker News - Newest:
Hacker News - Newest: "LLM"
Latest news
Latest news
H
Hacker News: Front Page
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
S
Schneier on Security
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
Security @ Cisco Blogs
Recorded Future
Recorded Future
S
Securelist
博客园 - Franky
Application and Cybersecurity Blog
Application and Cybersecurity Blog
A
About on SuperTechFans
N
News and Events Feed by Topic
AI
AI
T
Tenable Blog
N
News | PayPal Newsroom
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX - 技术
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 热门话题
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google Online Security Blog
Google Online Security Blog
S
Security Affairs
Webroot Blog
Webroot Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 三生石上(FineUI控件)
C
Comments on: Blog
G
GRAHAM CLULEY

博客园 - daniel-shen

精通EJB-概述 硬件基础知识大全 教程:关于XMLBeans的初步 在客户端进行xslt对xml的xuan渲染 jaxp笔记2007-4-17 5.事件的监听和处理 - daniel-shen - 博客园 4.组件的生命周期 3.zk体系结构 "tomcat启动分析"文章读后笔记 jdk5.0 范型说明 java 数组反射例子 HTML小技巧 MessageFormat初步 ResourceBundle 与locale的使用 jni中关于dll的装载问题 java线程-消费者vs生产者 HttpSessionBindingListener实现与应用 用Java Servlets 2.4实现过滤 加和不加java:comp/env/前缀有什么区别?
6.ZK用户接口标记语言
daniel-shen · 2007-04-17 · via 博客园 - daniel-shen

ZUML是基于XML的。每一个XML元素描述了需要创建的组件。一个XML属性描述了一个要被创建的组件的初始值。一个XML处理指示描述了如何处理整个页面,如页的标题。

不同的组件集合通过XML命名空间来区分。例如,XUL的是http://www.zkoss.org/2005/zul,XHTMLhttp://www.w3.org/1999/xhtml.

XML

这一章节提供了和ZK一起工作的XML的最基本的原则。如果你熟悉XML,你可以跳过这个章节。如果你想学到更多的,网络上有很多相关的资源,如http://www.w3schools.com/xml/xml_whatis.asp http://www.xml.com/pub/a/98/10/guide0.html

XML是一种标记语言,很象HTML,但是有更加严格的语法。有几点需要特别注意。

元素必须是结构良好的

首先,每个元素必须关闭。有两种方法来关闭一个元素。如下:

<window></window>

<window />

第二,元素要被正确的嵌套。

特殊的字符必须被替换

XML使用<element-name>来表示一个元素,所以你必须替换掉特殊的字符。例如,你必须使用&lt来替换<字符。

<     &lt

>     &gt

&    &amp

      &quot

      &apos

你也可以使用CDATAXML解析器不要对字符串进行解析。

<zscript>

<![CDATA[

       Void myfunc(int a,int b)

       {

              If(a<0&&b>0)

{

       //do something

}

       }

]]>

</zscript>

有意思的是反斜杠(\)不是特殊字符,所以你不需要担心。

属性值必须被指定且用引号包围

注释<!—and-->

字符编码

这虽然是可选的,但是在你的XML中指定编码,让XML解析器能正确解析是一个好的主意。注意:它必须在文件的第一行。

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

同时你需要确认你的XML编辑器是否支持这种编码。

命名空间

命名空间是区分在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>zhtml demo</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">