使用过InfoPath2007的人应该都知道,我们在设计或编辑一个InfoPath表单时,除了可以在设计界面的同时构建主数据源外,还可以事先将编辑好的主数据源XSD文件导入到InfoPath中,然后根据数据源的结构来设计表单界面。下面是这两种方法的一些简单介绍:

1. 在设计表单界面的同时构建主数据源

打开InfoPath,在New菜单中选择Blank Form(界面和菜单的位置与InfoPath2007稍有不同)。InfoPath会打开一个空白的设计界面,你可以在里面任意设计界面布局和添加控件(InfoPath2010提供了一些现有的界面模板可以直接套用),在添加控件的同时InfoPath会同时为你生成对应的主数据源(在界面右边的Fields面板中)。这时的主数据源结构是可以手动编辑的,你可以修改主数据源中节点的名称和属性等,以及节点的位置。

2. 创建XSD文件并导入到InfoPath中

InfoPath的一个最主要的用途就是在线收集以固定格式定义的XML数据文件。我们将定义好的InfoPath模板发布到网络上的一个公共位置,用户下载并使用这个模板填写数据并最终生成对应格式的XML文件。既然InfoPath模板规定了最终要生成的XML文件的结构,那么我们在设计InfoPath模板之前便可以确定好XML的结构。XML的结构定义是由XSD文件来规定的,编写XSD文件的一个最简单的方法就是事先在Visual Studio中手动将XML结构编写好,然后在XML菜单中选择Create Schema,Visual Studio会自动为你生成对应的XSD文件。当然,你可能还需要知道一些有关XSD的知识以防在必要的时候手动修改XSD文件,例如让XSD的结构在InfoPath中支持Rich TextBox控件,以及支持InfoPath的循环节点等。有关如何定义XSD文件,可以参考W3school的Schema教程。

然后我们将定义好的XSD文件导入到InfoPath中。在InfoPath2007中,我们通过Tools菜单的Convert Main Data Source…菜单导入XSD文件,如下图:

但是在InfoPath2010中,没有Tools菜单,那又该如何执行该操作呢?InfoPath2010中,在Data菜单下可以找到Refresh Fields,该菜单的功能既是InfoPath2007中的Convert Main Data Source菜单的功能。

注意,使用XSD文件作为数据源导入到InfoPath之后,不能再在InfoPath中修改该主数据源的结构,如要修改主数据源的结构,必须修改原始的XSD文件然后再重新导入。

在XSD中将节点定义为支持InfoPath的Rich TextBox控件:

<xs:element name="content">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

</ xs:element>

在XSD中将节点定义为支持InfoPath的循环Section:

<xs:element name="segment" maxOccurs="unbounded" minOccurs="0">

maxOccues=unbounded表示循环没有上限(即可以在InfoPath中无限添加该节点) ;minOccurs=0允许没有该节点,如果值为1则表示该节点最少出现次数为1。

转载于:https://www.cnblogs.com/jaxu/archive/2011/10/25/2223479.html

如何在InfoPath2010中转换主数据源相关推荐

  1. html类型转换函数,如何在JavaScript中转换数据类型?

    在JavaScript中,数据类型用于对一种特定类型的数据进行分类,确定可以分配给类型的值以及可以对其执行的操作.虽然由于类型强制,JavaScript会自动转换许多值,但为了达到预期的结果,通常最好 ...

  2. 如何在Java中转换Excel文件到图像?

    Excel电子表格被广泛用于存储,组织和分析数据.但是,不能将Excel工作簿或工作表直接嵌入到Web或桌面应用程序中.合适的选项之一是将工作表转换为图像或HTML格式.在本文中,将学习如何使用Jav ...

  3. mysql_result 对应mysqli哪个_php – 如何在mysqli中转换mysql_result?

    这个代码以前是在 mysql中,现在因为它已被弃用,我决定在mysqli中转换我的代码,但是我在我的页面中有这个问题有分页,在它使用mysql之前没有错误,但现在我得到了这一行出错: Warning: ...

  4. mysql中转换成字符串_如何在R中转换字符串的大小写?

    mysql中转换成字符串 Hello, folks. In this tutorial we are going to convert the case of the string in R. The ...

  5. 如何在Mac中转换图片格式

    对于转换图片的格式这个话题,很多网友留言有没有简单快速的解决方法,可以试试这个方法,但是前提是需要安装小机器人Permute 哦. Permute 3 如何转换图片格式 1.把软件安装到Mac电脑,接 ...

  6. linux 图片转视频教程,如何在Linux中转换视频

    描述 步骤1:打开终端 端子位于子类别之一的应用程序菜单中. (取决于发行版和桌面环境).在Ubuntu中,它位于"应用程序"->"附件"->&qu ...

  7. java中bjt和utc转化_如何在Java中转换UTC和本地时区

    我对Java中的时区感到好奇.我想从设备获取UTC时间(以毫秒为单位)并发送到服务器.当服务器向用户显示时间时,服务器会将其转换为本地时区.我系统中的时区是澳大利亚/悉尼(UTC + 11:00),测 ...

  8. 价钱转换python_如何在python中转换货币?

    我正在做一个虚拟助手项目.我想让它告诉我其他货币的美元汇率. 我用beauthoulsoup编写了以下代码,它从给定的网站获取数据,对其进行解析并在命令行中打印结果供我阅读.但这只是美元对巴基斯坦卢比 ...

  9. 关于SpringBoot中的多数据源集成

    引言 其实对于分库分表这块的场景,目前市场上有很多成熟的开源中间件,eg:MyCAT,Cobar,sharding-JDBC等. 本文主要是介绍基于springboot的多数据源切换,轻量级的一种集成 ...

  10. 如何在Excel中使用SQL语言?

    如何在 Excel 中获取外部数据源? 使用 SQL 查询数据,首先需要数据源.如果我们用 Excel 来呈现这些数据的话,就需要先从外部导入数据源.这里介绍两种直接导入的方式: 通过 OLE DB ...

最新文章

  1. ubantu14下vim的配置...
  2. unittest单元测试框架—加载测试用例的3种方法以及测试报告存储管理
  3. “六级”题公布,觉得WebAPI简单的,勿进!
  4. cordova监听事件中调用其他方法_Laravel模型事件的实现原理详解
  5. 每日一题(12)—— .h头文件中ifndef/define/endif的作用
  6. 如何破解几乎所有的求职面试
  7. PHP printf()函数格式化使用详解
  8. Linux下ping命令、traceroute命令、tracert命令的使用
  9. java 8 sdk官方下载_Java SDK下载方法
  10. oracle中索引的类型,oracle索引类型normal
  11. Prolog环境搭建与简单使用
  12. matlab实现色彩迁移,图像的色彩风格迁移
  13. vue-cli脚手架卡在 ‘98%’ after emitting CopyPlugin 报错,无法运行
  14. sipjs 保存mp4文件_微信视频号视频怎么下载,视频号视频怎么保存到手机
  15. 删除Linux虚拟机中的/dev/sdb磁盘步骤
  16. 云服务器和虚拟主机有哪些区别
  17. backtrader 自定义indicator_BackTrader回测工具(一)
  18. python bind绑定失败_Python tkinter之Bind(绑定事件)的使用示例
  19. 认识 DELL EMC VPLEX VS6物理配置
  20. c语言生成随机数猜数字大小,产生一个随机数,进行猜数字小游戏

热门文章

  1. 指标权重确定方法之熵权法
  2. 如何实现台达触摸屏与台达PLC之间的远距离无线数据交换?
  3. js 实现文件上传 php,JS+php后台实现文件上传功能详解
  4. 系统集成项目管理工程师(软考中级)—— 第七章 知识产权 笔记分享
  5. Altium Designer软件绘图
  6. ISO27001LA国际信息安全管理主任审核员(IRCA)认证
  7. 局域网服务器共享文件夹设置,server2012文件夹、局域网共享设置权限以及server2012r2文件共享权限设置方法...
  8. VBA—EXCEL操作集合—05
  9. 汽车车载诊断基础知识
  10. 小米4c android5.1,小米4c原版官方刷机包安卓5.1.1rom线刷包