xml spy
上一页  首页  下一页
在数据库/表格视图中编辑文档

Grid视图包含一种特殊的视图,叫做数据库/表格视图(后面将简称为表格视图),它特别适用于编辑多个具有相同结构的元素。在表格视图中,元素类型相同的一组元素将以表格的形式显示出来。表中各列为元素的各个属性或子元素,表中各行对应于各个元素。

要把一组同类型的元素切换到表格视图,您可以选中该组元素中的任何一个,然后点击工具条上的ic_disp_as_tbl图标(对应于菜单项XML | Table | Display as table)。进入表格视图后,这组同类型的元素将被显示为一个表格。所有与选中元素相邻的同类型元素都将出现在表格中。表格视图仅在增强型Grid视图中可用,它可用于编辑任何一种XML文件(如XML、XSD、XSL等)。

表格视图的优点
表格视图具有以下优点:
 
·您可以拖放一列的标题,以改变其(在表格中和在XML文档中的)相对位置。这意味着,实际文档中的子元素或属性的相对位置也将随表格中的位置变化而发生变化。 
·选择菜单项XML | Table | Ascending SortDescending Sort即可对表格中的任一列进行排序(升序或降序)。 
·要在表格中新增的一行(即添加一个元素),使用菜单项XML | Table | Insert Row即可。 
·您还可以把整个表格复制到其他应用程序中,或把其他应用程序中的表格复制过来。 
·表格视图中也有智能编辑功能。  


以表格形式显示一个元素类型
要以表格形式显示
Person元素类型,需要这几个步骤:
 
1.在Grid视图中,选中任何一个Person元素(在文字“Person”上(或附近)点击一下即可)。  

tut_50a  
 
2.选择菜单项XML | Table | Display as table,或点击ic_disp_as_tbl图标。这样,所有相邻的Person元素将被显示于一个表格中。表格中各列的标题是Person元素的子元素或属性名称,而各行显示的是这些子元素和属性在各个Person元素中的值。  
 
tut_51a  
 
3.选择菜单项View | Optimal widths或点击ic_opt_widths 图标,令各列具有最佳宽度。 

注:要使一个元素类型退出表格视图,只需在选中该元素类型的表格(在表格左上角的元素名称上点击一下即可),然后点击ic_disp_as_tbl图标即可。注意:如果表格中含有处于表格视图的子元素,那么当上层元素退出表格视图后,子元素仍将保持表格视图。

在表格视图中输入数据
要为第二个
Person 元素输入数据,只需双击第二行中的各个单元格,然后输入数据即可。注意:若要构建有效的文档,则PhoneExt的值必须是不大于99的整数。在单元格中,智能编辑功能将发挥作用。如果所在单元格具有可选值列表的话(比如Degree属性的枚举值列表、布尔类型的true/false等),您可以在该列表中选择要插入的值。

table_view_enter_data

注:在表格中也可以使用输入助手(比如Elements窗口、Attributes窗口等)。例如,在Elements的Append选项卡中双击
Person,将在表格中新增一行(即添加一个Person元素)。

与其他应用程序交换XML数据
在XMLSpy 2005中,您可以在XML文档与其他应用程序之间交换表格型数据(即把一处的表格复制到另一处使用)。被交换的数据在XMLSpy 2005中被作为XML数据处理,而在其他应用程序中被作为那里所采用的格式处理。下面,您将学会如何与Excel数据表交换数据。请按以下操作:
 
1.点击行标1,按住Ctrl键,然后点击行标2。这样便选中了表格中的两行。  

tut_51c  

2.选择菜单项Edit | Copy as Structured text,把所选行复制到系统剪贴板中。 
3.打开Microsoft Excel,将所复制的数据粘贴(Ctrl+V)到一个Excel工作表中。  

tut_52a  

4.在Excel中添加一行数据,令PhoneExt元素的值为一个三位整数(比如444)。  

tut_52b  

5.选中Excel工作表中的数据行,然后选择Edit | Copy以将数据复制到系统剪贴板中。 
6.切换回XMLSpy 2005。
7.点击位于表格中第一行第一列的单元格,然后选择菜单项Edit | Paste。  

tut_52c  

8.这将会用Excel中的数据替换现有表格中的数据。 
9.由于在Excel中true/false被自动更改为大写,您可以通过使用菜单项Edit | Replace (Ctrl+H)将复制回表格视图中的大写的TRUE/FALSE改回小写。  


按列对表格进行排序

您可以在表格视图中根据任一列进行升序或降序排序。比如,我们现在要根据last name对Person表进行排序。我们可以这样做:
 
1.点击Last列的标题以选中整列(表明排序范围为所有的Person)。  

tut_52d  

2.选择菜单项XML | Table | Ascending sort或者点击ic_sort_a图标。现在整个表格随着Last列按字母顺序排列了。Last列仍处于选中状态。  

tut_53a  

XML文档也会随着表格显示的变化而自动更新。也就是说,Person元素的顺序将根据它们的Last子元素的值按字母顺序排列。(您可以点击Text选项卡看到这一结果) 
3.选择菜单项XML | Validate或按F8键。此时,主窗口底部将出现一条错误信息,提示有一个PhoneExt元素的内容不符合maxInclusive="99"的限制。有问题的PhoneExt元素会被加亮显示。  

tut_53b  

由于我们为电话分机号码设定的值范围不能覆盖我们给出的分机号,我们必须对XML Schema作相应的修改。我们将在下一节完成这一工作。  

上一页  首页  下一页

© 2004 Altova

本文档由中国XML论坛Collin Hsu翻译。