Altova XMLSpy 2023 Professional Edition

在网格视图中编辑XML内容很简单:只需双击内容字段并根据需要编辑内容。单击节点类型图标,从出现的菜单中选择另一种类型,就可以轻松更改节点的类型。要插入实体,可以使用“实体”输入助手。网格视图还提供了验证和查找和替换功能。

 

选择和转换节点类型

网格视图中的单元格包含XML文档的节点。为了便于理解,我们将类型分组如下:

 

名称–值类型:元素、特性、处理指令(PI)。这种类型的节点具有名称和值。

值类型:文本、CDATA、注释、实体/字符引用。这种类型的节点只有值。

定义类型:XML声明、DOCTYPE(内部或外部DTD)。这些节点定义XML文档的属性。

XMLSpy特有的特殊容器类型:公式

 

值的类型由值前面的符号表示(参见下方截图)。要更改类型,请单击其符号并从出现的菜单中选择所需的类型。或者,右键单击单元格,然后从出现的上下文菜单中的类型子菜单中选择一种类型。在下图中,您可以看到各个类型的符号和快捷方式:

XSXMLGridViewTypeSelection

请注意以下几点:

 

元素、特性PI类型的节点采用名称和值,而文本、CDATA,注释类型的节点仅采用值。例如,元素节点有名称和内容,而文本节点只有值。

类型转换时会尝试保留原始的键和值。例如,如果您将一个元素转换为特性,则该特性将具有(i) 与该元素相同的名称,以及(ii) 尽可能与该元素内容相同的值。

在一个元素的子节点的序列中,特性总是被列在最前面。因此,类型转换可能会导致节点重新排序。

对于混合内容(子元素中夹杂着字符数据,例如包含文本和粗斜体元素的段落元素),不允许使用连续的文本节点,因此可能会自动联接。

您可以设置一个选项来确定在选择将多个节点转换为单一类型时,是否应该继续进行此更改,或者是否应该警告您。

您可以通过选择要以这种方式编辑的父单元格或父行,然后单击工具栏中的编辑为原始文本图标来编辑单元格或行中的原始文本。当您将文本作为原始文本编辑时,该单元格或行中的实体和标记将不会被分别解析为字形和网格视图组件(因此可以被编辑)。

 

自动完成

当正在编辑的XML文档与Schema相关联时,将启用自动完成功能。

 

自动完成功能会在光标位置为您建议输入选项(参见下方截图)。这些选项基于Schema中的定义,并通过以下方式提供:(i) 主窗口中的弹出窗口,以及(ii) 输入助手。弹出窗口和输入助手分别显示在该光标位置处有效的条目列表。要在弹出列表中的条目之间移动,请使用箭头键。从弹出窗口中选择一个条目,或双击输入助手中的一个条目以将其插入。

XSXMLGridViewAutoCompletion

 

工具栏/单元格内命令按钮

在XML网格视图中,网格单元格或“网格视图”工具栏中的按钮提供了在当前选定内容(单元格或列)的上下文中可用的功能。使用这些命令是进行常用操作的一种更快、更简单的方式。下表列出了可用的命令。与显示相关的命令在显示时带有蓝色背景。用于编辑文档(结构和内容)的命令在显示时带有米色背景。要获得特定单元格的上下文中的附加命令,请使用该单元格的上下文菜单。提示:当您将鼠标悬停在单元格按钮或工具栏图标上时,命令的名称会显示为工具提示。

 

icOptimalWidths

根据单元格内容优化网格列的宽度。

ic_jsongridmakelist / ic_jsongridmaketable

当有颜色时,表示表格显示处于打开状态,否则表示关闭。单击以切换显示。

ic_jsongridrowcols / ic_jsongridcolrows

表格左上方单元格中的切换命令。该命令将行切换为列,反之亦然。

ic_jsongridfilteroff / ic_jsongridfilteron

当有颜色时,表示表格、对象或数组的过滤器处于活动状态,否则表示过滤器处于停用状态。单击以停用/激活。要对表达式进行编辑,请双击它。

ic_xmlgridviewwordwrap

用于自动换行的切换命令。选中后,将打开自动换行。默认情况下,仅对项的内容进行换行。如果要对项的名称额外进行换行,请从该图标的下拉列表中选择这一选项。

ic_xmlgridviewmagnification

网格视图的缩放级别

ic_xmlgridviewsort

它会在选择表格视图中的列标题时启用。这些按钮分别按照列内容的降序或升序对表格中的行进行排序。

 

提示:有关其他工具栏命令的说明,请参见网格视图中的上下文菜单部分。

 

 

修改时验证

默认情况下,编辑时验证模式处于关闭状态。启用后,当您在网格视图中编辑文档时,将执行格式检查和验证检查。为了执行验证(除了格式检查),必须为XML文档分配一个DTD或XML Schema。文本中的错误以红色显示;文档中错误所在的位置标有红色感叹号。如果针对错误有智能修复建议,则会在错误所在行显示一个灯泡图标。当您将鼠标置于图标上时,将弹出一个窗口,其中列出了可用的智能修复建议。选择一个建议以立即应用它。有关更多信息,请参见验证XML文档

 

编辑时验证模式可以打开或关闭,方法是使用(i) XML | 编辑时验证菜单命令,(ii) 编辑时验证工具栏按钮,或(iii) “选项”对话框中“验证”设置编辑时选项。

 

查找和替换

您可以使用编辑菜单中的查找(Ctrl+F)替换 (Ctrl+H)命令在网格视图中查找文本并对其进行替换。结果以橙色突出显示,包含的单元格也以橙色突出显示。

 

显示为表格

重复元素会显示在标准的网格视图中,一个接一个,按文档顺序垂直向下排列(参见左下方截图)。然而,将重复元素显示为表格的行提供了额外的编辑功能。在下方截图中,Person元素就是重复元素。左侧截图显示了标准的网格视图;第一个Person元素显示为展开状态,而后续的实例显示为折叠状态。右侧截图将重复的Person元素显示为表格的行。

 

要切换到表格视图,请单击表格模式图标(参见左下方截图中的绿色圆圈部分)。当切换到表格显示时,图标将显示为彩色(参见右下方截图)

单击以展开/折叠     GridViewTable

表格视图提供了独特的编辑优势,因为可以相对于表格中的其他列和行来操作整个行和列。这使得类似根据一列的值对表格行进行排列这样的操作成为可能。例如,在右上方截图中,通过使用“网格视图”工具栏中的一个命令,可以将六个Person元素根据它们的Last子元素进行排序。这种操作比运行XSLT转换更简单,后者是对XML节点集进行排序的常用方法。

 

有关更多信息,请参见表格显示部分。

 

© 2017-2023 Altova GmbH