web前端

位置:IT落伍者 >> web前端 >> 浏览文章

在Microsoft Office InfoPath 2003中使用XML标准


发布日期:2022年05月11日
 
在Microsoft Office InfoPath 2003中使用XML标准

InfoPath 使用和生成的输入与输出文件都符合 XML 标准以提供与其他系统(包括应用程序操作系统以及中间层和后端系统)的互操作性综合地使用这些标准(例如 SOAP)使得与启用 XML Web 服务的系统共享数据变得非常简单

XML 标准用于创作从属于自定义 XML 架构的单个 XML 文档以及设计 InfoPath 表单模板例如如图 所示使用 XML 架构可以提供验证和结构化编辑而使用 XSLT 可以提供能够以不同于 XML 文档的布局来表示 XML 数据的多个视图

在编辑过程中如何使用 XML 标准

可扩展标记语言 (XML) 第二版

XML 文档中使用的标记没有进行预定义相反万维网联合会 (WC) XML 推荐指定了一套规则用于创建自己的有意义的元素和属性集例如销售报表法律表单以及卫生行业的报告都对数据内容和结构有不同的要求使用 XML 可以针对每个行业的需要适当地定义该数据内容和结构

InfoPath 使用 XML 作为其原生数据格式进行输入和输出在编辑 XML 文档时InfoPath 允许您添加和删除从属于自定义 XML 架构的有效 XML 元素和属性当您保存或提交 InfoPath 表单时XML 文档会根据架构保持有效使用 XML 标准可以打开和编辑由 XML Web 服务和启用 XML 的系统所使用的 XML 文档

XML 输入或输出文档可以是 XML 文件或 SOAP 数据包的一部分XML 文档指定它基于的表单模板的位置表单模板包含将 XML 文档用作表单所需的所有信息

XML 文档可以本地保存或者作为附件通过电子邮件发送给其他用户例如您可以从服务器获得 InfoPath 表单添加或编辑数据保存表单并通过电子邮件将其发送给某人以供查看然后向服务器提交结果这就启用了集中的端对端工作流可支持各种业务方案

XML 中的命名空间

InfoPath 支持在一个 XML 文档中使用多个命名空间例如下面的 XML 文档是一个名为 Contoso 的虚拟公司的简化销售报表说明了使用两个命名空间的情况 和 元素定义在默认的命名空间中该命名空间映射到 URI 和 元素定义在独立的命名空间中该命名空间使用 pricing 前缀并映射到 URI

<salesReport xmlns=

xmlns:pricing=>

<customer>

<product>Pentosel</product>

<pricing:unitsSold></pricing:unitsSold>

<pricing:pricePerUnit></pricing:pricePerUnit>

</customer>

</salesReport>

在另一个示例中XML 命名空间用于多信息文本字段多信息文本字段绑定到引用 XHTML 架构命名空间的 XML 数据元素有关详细信息请参阅本文的 XHTML 部分

XML 架构 (XSD)

InfoPath 支持 XML 架构 包括第 部分结构和第 部分数据类型InfoPath 可以读取和使用自定义的 XML 架构在设计表单模板时InfoPath 在三种方案中使用现有的自定义 XML 架构或创建自定义 XML 架构

使用现有架构您可以通过指向由遵循 XML 架构标准的工具所创建的自定义 XML 架构来开始设计表单XML 架构显示在 Data Source 任务窗格中当您从架构节点拖放到布局区域(称为表单区域)时会自动建议相应的用户界面 (UI) 控件基于该架构InfoPath 会生成用于结构化编辑和验证的规则

使用 Web 服务的现有架构使用数据源安装向导您可以从 WSDL 信息读取的 XML 架构开始设计一个表单模板在读取 XML 架构后用户界面使您能够创建一个表单模板该模板可以生成遵循 SOAP 消息中的架构的 XML当最终用户创建基于表单模板的表单时该表单将生成适用于架构的 SOAP 消息

派生或定义架构如果使用数据源安装向导打开一个 XML 文件则 InfoPath 将生成一个说明该 XML 文件的 XML 架构然后您可以基于该架构创建一个表单模板或者您可以从头开始创建一个表单模板在定义视图的同时定义架构当您将一个 UI 控件映射到正在设计的架构的节点时InfoPath 将自动提示您适合该架构节点的数据类型InfoPath 将生成可用于其他业务进程的简单的标准 XML 架构

将数据输入表单时XML 架构标准用于支持 XML 数据的验证并启用结构化编辑如以下段落中所述

在编辑过程中对自定义 XML 架构进行验证可以帮助用户创建结构化的 XML 数据以供需要架构验证的 XML 数据的系统重复使用InfoPath 可以交互式地对架构进行 XML 文档验证并防止用户将其提交到处于无效状态的 Web 服务或其他数据源要提交 XML 文档它必须是完全有效的包括数据类型数据验证错误是由红色虚线框围起来的字段验证屏幕提示(称为内嵌警报)或验证错误对话框(称为对话框警报)表示的

基于自定义 XML 架构的结构化层次编辑提供了一个简单的用户界面用于添加和删除 XML 元素和属性而不显示这些元素和属性InfoPath 用户界面提供了一种编辑 DOM 树的简单方法包括插入可选的子树重复子树或者用一个子树代替另一个子树(其中架构使用 )在 InfoPath 中DOM 树的结构始终是有效的基于 XML 架构InfoPath 可显示适用于选定字段或字段组的编辑操作用户可以通过添加重复或可选的字段组在字段中输入值或输入多信息文本来编辑 XML 文档如果架构允许向 DOM 树的节点添加节点则视图中的字段组将具有一个下拉菜单用户可以通过此菜单添加字段组或字段

XML 路径语言 (XPath)

XPath 标准的使用贯穿于整个 InfoPath包括用于自定义验证XSLT 视图结构化编辑以及脚本化 DOM

InfoPath 具有三个验证级别在编辑 XML 文档时InfoPath 可根据关联的自定义架构确保文档始终有效除了这种基于架构的验证以外InfoPath 还允许您定义使用 XPath 的其他自定义验证规则您还可以使用脚本编写来定义其他规则和业务逻辑

作为使用 XPath 标准定义自定义验证的一个示例假设在某个销售报表中您要求 Price 字段中的值不能大于 Maximum Price 字段中的值假设基本的 XML 数据如下

<salesReport>

<customers>

<customer>

<price></price>

</customer>

<sales>

<maxPrice></maxPrice>

</sales>

</customers>

</salesReport>

您可以在 Price 字段上自动为自定义验证定义 XPath 表达式自定义验证规则存储在表单模板的清单文件中要定义该自定义验证请在视图中选择 Price 字段然后使用 Data Validation 对话框来选择 架构节点然后自定义验证的 XPath 表达式会自动且透明地进行构造如下所示

<xsf:customValidation>

<xsf:errorCondition match=/salesReport/customers expressionContext=customer/price

expression= > //sales/maxPrice>

<xsf:errorMessage type=modeless shortMessage=Price exceeds maximum></xsf:errorMessage>

</xsf:errorCondition>

</xsf:customValidation>

可扩展样式表语言转换 (XSLT)

XSLT 用于定义和显示 InfoPath 表单中 XML 数据的多个视图一个表单可以包括多个视图如概览视图和详细视图一个视图可以包含字段组而字段组又可以包含字段多信息文本字段和其他字段组字段组表示为嵌套部分而字段表示为 UI 控件例如文本框复选框或下拉列表InfoPath 生成的每个视图均被存储为独立的标准 XSLT 文件该文件可以由其他业务进程重复使用

视图是基于 XSLT 的 DOM 数据树视图当最终用户打开表单时XSL 转换 (XSLT) 就会应用到 DOM 树生成为用户显示 XML 文档的适当表现形式的各种视图位于 XML 文档开头的元素可能会显示在视图的底部也可能会以不同的排列方式显示在另一个视图中

当最终用户编辑 XML 文档(如添加可选或重复的字段组)时DOM 中的数据将被修改通过只将必需的 XSLT 部分应用到 DOMInfoPath 能够以一种优化的方式重新显示已更改的视图部分

因为由 InfoPath 生成的 XSLT 严格遵循 XSLT 标准所以任何标准的 XSLT 处理器都可以用来处理服务器上的 XSLT 文件并且将 InfoPath 表单的只读视图作为 HTML 文档(可以在任何 Web 浏览器中显示)来提供

XSLT 作为视图的理想基础

视图的内容可以组织得与 XML 数据的结构迥然不同要以对用户最有意义且易于读取和编辑数据的方式来提供数据表单模板的设计人员必须能够以不同于 DOM 数据树中的顺序显示数据忽略视图的某些数据将相邻的数据树节点重新组织为独立的视图以及将数据树不同部分的数据收集到单个视图中

因此视图内容的顺序和结构必须独立于 DOM 树节点的顺序和结构这种表现形式和数据的结构独立性要求视图中的分组字段和 DOM 树中的节点之间具有复杂动态的绑定或映射关系

为了提供视图和数据之间的这种复杂映射InfoPath 大量使用了 XSLTXSLT 是一种强大的样式表语言它支持复杂的数据转换并用动态灵活的内容表现形式提供了丰富的视图在 SGML 和 XML 创作工具中使用样式表是一种常见

上一篇:rpcss.exe系统进程介绍

下一篇:XML与面向Web的数据挖掘技术