XForms/HelloWorld
自从 K&R 编写了第一本关于 C 编程的书籍,编程书籍以“Hello World”程序开头已经成为传统。运行这个程序将指示您是否正确安装了 XForms。
这是一个 XForms 中的示例“Hello World”程序。它使用一个输入,模型中的一个变量和一个输出。您应该能够将文本复制粘贴到像 Notepad 这样的程序中并保存到例如 hello.htm 的文件中。这将告诉您是否已正确安装 Firefox 或其他浏览器扩展。
(注意,这只是一个 .jpg,而不是实际的表单!)
要运行此程序,只需将以下文本复制到一个名为“hello.xhtml”的文件中,然后使用加载了适当的 XForms 扩展程序的 Web 浏览器打开它。
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms">
<head>
<title>Hello World in XForms</title>
<xf:model>
<xf:instance xmlns="">
<data>
<PersonGivenName/>
</data>
</xf:instance>
</xf:model>
</head>
<body>
<p>Type your first name in the input box. <br/>
If you are running XForms, the output should be displayed in the output area.</p>
<xf:input ref="PersonGivenName" incremental="true">
<xf:label>Please enter your first name: </xf:label>
</xf:input>
<br />
<xf:output value="concat('Hello ', PersonGivenName, '. We hope you like XForms!')">
<xf:label>Output: </xf:label>
</xf:output>
</body>
</html>
如果此程序无法正常工作,则您的浏览器中可能未安装扩展程序或插件。
有关帮助,请参见 在 Firefox 中安装 XForms。
请注意,如果您安装了 NoScript Firefox 扩展程序,您可能需要配置 NoScript 以允许来自您正在加载 HelloWorld 的位置的脚本。
另外请注意,在 Firefox 中,文件必须保存为 xhtml 或 xml 扩展名。扩展名为 .html 的文件将不会显示 XForms。
请注意,该文件看起来非常像标准的 HTML 文件,但有一些例外。
- 文件开头有一个命名空间声明,并且有两个元素在前面带有
xf:
前缀。 - 在 HTML
<head>
元素中有一个叫做 model 的东西。 - 有一些新元素:
input
和output
。
两行重要的代码是
<xf:input ref="PersonGivenName" incremental="true"/>
和
<xf:output value="concat('Hello ', PersonGivenName, '. We hope you like XForms!')"/>
当用户键入时,这行代码将用户键入的输入复制到实例变量“PersonGivenName”。每次键入一个字符时,此程序都会更新输出,并使用 XPath concat()
函数在名称前包装字符串“Hello ”,并在其后包装字符串“. 我们希望您喜欢 XForms!”。
您还应该注意,运行此程序不需要一行 JavaScript 代码。摆脱 JavaScript 是人们将应用程序迁移到 XForms 的最大原因之一。
尝试将输入属性 incremental 从
incremental="true"
更改为
incremental="false"
输出应该只在您输入“Tab”或按“Enter”(回车)键后才更新。