跳转到内容

XForms/HelloWorld

来自维基教科书,开放的书籍,开放的世界

背景和动机

[编辑 | 编辑源代码]

自从 K&R 编写了第一本关于 C 编程的书籍,编程书籍以“Hello World”程序开头已经成为传统。运行这个程序将指示您是否正确安装了 XForms。

这是一个 XForms 中的示例“Hello World”程序。它使用一个输入,模型中的一个变量和一个输出。您应该能够将文本复制粘贴到像 Notepad 这样的程序中并保存到例如 hello.htm 的文件中。这将告诉您是否已正确安装 Firefox 或其他浏览器扩展。

屏幕图像

[编辑 | 编辑源代码]

(注意,这只是一个 .jpg,而不是实际的表单!)

[编辑 | 编辑源代码]

Hello World

托管的 *Hello World* 示例

要运行此程序,只需将以下文本复制到一个名为“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 文件,但有一些例外。

  1. 文件开头有一个命名空间声明,并且有两个元素在前面带有 xf: 前缀。
  2. 在 HTML <head> 元素中有一个叫做 model 的东西。
  3. 有一些新元素:inputoutput

两行重要的代码是

   <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”(回车)键后才更新。

下一页: 简单消息 | 上一页: XForms 产品比较
主页: XForms
华夏公益教科书