XForms/命名约定
以下是用于本维基教科书的一些命名约定。这些命名约定旨在跨示例程序保持一致,使我们的学生能够从示例程序中复制粘贴代码块,只需最少的重新格式化。因此,即使在 XForms 数据元素上添加 xf:
前缀可能有点烦人,但它确实让学生可以轻松地从示例中快速构建新的应用程序。
这些材料的大部分受众是将纸质表格转换为电子表格的州和联邦机构。因此,我们倾向于使用这些组织使用的 XML 命名和设计指南。由于这些标准是围绕 ISO/IEC-11179 和其他 ebXML 标准构建的,所以对于大多数商业开发人员来说,它们应该不会太陌生。
有超过 150 个“命名和设计规则”指南,但我们不需要全部使用它们。讨论这些指南的网站是 组件组织和注册环境 网站。
以下是一些入门指南
缩进
[edit | edit source]请使用三个空格字符来缩进示例。MediaWiki 不允许我们设置制表位,默认情况下它们是 8 个字符。
将 XML 代码包装在源代码标签中
[edit | edit source]请将所有示例 XML 代码用带有 lang="xml" 属性的 source 标签括起来,如下所示
<syntaxhighlight lang="xml"> ....your XML code here... </syntaxhighlight>
命名空间标准
[edit | edit source]命名空间是当今 XForms 的核心,对于我们的示例在大量不同平台上运行至关重要。请花一些时间认真思考命名空间和命名空间前缀。
请在示例的开头使用以下模板
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events"> <head> ...
注意,第一行
xmlns="http://www.w3.org/1999/xhtml"
表示该文件使用 XHTML 作为其默认命名空间。所有没有命名空间前缀的标签默认情况下都是 xhtml 命名空间中的元素。
我们认为将示例保留在这个默认命名空间中将使学生更熟悉 XHTML,并更容易使用 XForms。<h1>、<p>、<b> 和 <i> 等标准标签可以在我们所有示例中自由使用。
您可以在 <html> 标签之前可选地添加 XML 处理指令
<?xml version="1.0" encoding="UTF-8"?>
但大多数 XForms 系统不需要这个。任何文件扩展名为“.xhtml”的文件都隐含地表示它是一个 XML 文件。
关于 DOCTYPE 的警告
[edit | edit source]请不要在 xhtml1-strict.dtd 的标题中放置 !DOCTYPE 标签。这明确指出该文件 ONLY 包含 XHTML,并且大多数系统在看到此标签时将不允许 XForms 标签。许多示例程序都有这个标签,应该将其删除以使其正确。
XForms 播放器特定标记
[edit | edit source]请不要在示例中放置任何播放器特定的标记。本书是关于 W3C 标准,特别是 XForms、CSS、XML Schema 和 XHTML。这些示例不应需要特定客户端表单播放器的实现。如果您正在使用需要特殊 HTML 标签的特定播放器,可以使用 XML 转换由 Web 应用程序服务器自动插入它们。这样可以使这些示例在各种课堂环境中以及大量服务器和客户端 XForms 播放器中使用。
有关一般模板,请参见 XForms/Template
有关播放器特定说明,请参见 Player Specific Instructions。
示例程序命名约定列表
[edit | edit source]- 对 HTML、XForms 控件和数据使用单独的命名空间。
- 为 HTML 提供默认命名空间。这使得将现有 XHTML 代码包含到示例中变得容易。
- 如果无法为 HTML 提供默认命名空间,请为其提供一个简短的命名空间前缀,例如“h”。
- 对 XForm 元素使用“xf”命名空间前缀。我发现大约 3/4 的示例已经使用了它,但有些示例使用了完整的“xform”或“xforms”前缀。我建议避免混淆,只使用“xf”,因为它简短且已经普遍使用。
美国州和联邦机构示例
[edit | edit source]我们希望许多美国州和联邦机构能够将这些材料整合到他们的培训计划中。对于 XForms 来说,这是一个重要的受众,因为许多 XForms 标准是由不允许在其桌面上执行 JavaScript 的安全原因的机构推动的。
我们用于大多数联邦数据模型示例的命名空间是 NIEM。命名空间前缀是“u”,代表“Universal”数据元素,用于地址、联系方式、活动、文档、组织、人员等。NIEM 还提供了一个非常好的子模式生成器,它与构建表单的过程非常有效。有关更多信息,请访问 niem.gov 网站。如果您对 NIEM 工具以外的任何更好的工具有任何建议,请告诉我们。