在表格显示中编辑
网格视图包含一个称为“表格显示”的特殊视图,可用于编辑具有多个实例的元素。例如,Person元素有多个实例(参见下方截图),因此可以显示为一个表格。要以表格形式查看此类元素,请单击该元素第一个实例的表格显示图标。例如,在下方截图中,Person元素的表格显示图标用绿色圈起来。(或者,选择菜单命令XML | 显示为表格或“网格视图”工具栏中该命令的图标。)
当您单击“表格显示”图标时,Person元素将显示为一个表格。在表格显示中,元素的子节点(其特性和元素)将显示为列,而单个Person元素将显示为行(参见下方截图)。
表格显示的优点
表格显示具有以下优点:
•您可以通过拖放列标题重新调整列的位置。在实际的XML文档中,所有元素实例(对应于表格的行)的子节点的相对位置会发生变化。
•表格以及与之对应的元素实例可以按任何列的内容以升序或降序排列。为此,请使用菜单命令XML | 升序排序或降序排序。
•您可以使用XML菜单中的命令快速追加或插入额外的行(即元素实例)。这样做的好处是不仅能添加新元素,而且能添加由表的列所表示的所有子元素。
•您可以在Microsoft Excel等第三方产品中复制或粘贴结构化数据 。
•XMLSpy的智能编辑功能在表格显示中也可用。
将具有多个实例的元素显示为表格
要将Person元素类型显示为表格,请执行以下操作:
1.如上所述,单击Person元素的第一个实例的表格显示图标。
2.选择菜单选项视图 | 最佳宽度或“网格视图”工具栏中的最佳宽度图标。
备注: | 您可以为任何一个具有多个实例的元素启用/禁用表格显示。然而,显示为表格的子元素仍显示为表格。 |
在表格显示中输入内容
要为第二个Person元素输入内容,请双击第二行中的每个单元格并输入数据。智能编辑功能在表格单元格内也可用,它允许您从可用的下拉列表中选择选项(例如,布尔值内容和Degree特性的枚举)。
动态验证
请注意,根据Schema中的定义,为了使文件有效,PhoneExt必须是一个介于0到99的整数。您可以在XMLSpy中启用在编辑时验证的功能。启用后,每次焦点切换到新节点时都会验证文件。请执行以下操作,尝试动态验证:
1.打开菜单命令XML | 编辑时验证。
2.如下方截图所示,输入一个无效的PhoneExt值(任何一个大于99的值)。
3.按Tab键。PhoneExt单元格中会出现一个错误图标和一个智能修复图标(参见下方截图)。
4.将鼠标悬停在错误图标上以查看验证错误消息(参见下方截图)。
5.单击智能修复图标,然后单击弹出的智能修复选项。无效值将被替换为有效值,错误标记则消失。
将XML数据复制到电子表格应用程序和从电子表格应用程序复制数据
在表格显示中,您可以将数据复制为制表键分隔的文本,以便与MS Excel等电子表格应用程序进行交换。要从XML文件复制数据,请执行以下操作:
1.单击Person元素(参见以下截图)。这会选中列标题以及该表格的两行。
2.在选中内容上右键单击,然后在出现的上下文菜单中选择命令复制 | 复制为制表符分隔文本。或者,按Ctrl+C。
3.切换到Excel工作表,选择单元格A1并粘贴(Ctrl+V)XML数据。根据表格显示中的表格结构,数据以行的形式输入(参见下方截图)。
4.如下方截图所示,在Excel中输入新的一行数据。请确保为PhoneExt元素输入一个三位数字(例如,444)。
5.在Excel中选中除了列标题之外的表格数据(参见下方截图中的绿框),然后使用Ctrl+C进行复制。
6.在XMLSpy中,确保XML | 编辑时验证命令已启用。
7.在XMLSpy中XML文档的表格显示中,选中第一行的Manager单元格,并使用Ctrl+V粘贴剪贴板的内容。您的新表格将如下所示:
8.布尔值验证错误是因XML和Excel之间的大小写不同而导致的。要修复这些错误,请将智能修复选项应用于相应的表格单元格。
按列内容对表格进行排序
表格显示中的表格可以按其任何列的内容进行升序排序或降序排序。我们想按姓氏对Person表格进行排序。为此,请执行以下操作:
1.单击Last列的标题以选中该列。
2.选择菜单选项XML | 升序排序或单击“网格视图”工具栏中的升序排序图标。该列以及整个表格现在按字母顺序排序。该列仍被标记。
由于电话分机号444正确但无效,因此我们需要修改XML Schema以使该号码有效。我们将在下一部分中执行此操作。