Altova XMLSpy 2023 Enterprise Edition

XML网格视图中的公式用XQuery 3.1表达式来计算结果或生成可存储在文档中的节点集。公式是用XQuery 3.1表达式定义的。例如,在下方截图中,创建了一个名为MinTemps的公式,用来生成所有最低温度的集合中的最低、最高和平均温度。

XSXMLGridViewFormulas

要创建公式,请执行以下操作:

 

1.在您希望公式出现的位置添加一个新节点。

2.该节点将被默认创建为元素。将节点的类型更改为公式。

3.双击包含f(x)图标的单元格并输入公式的名称(参见上方截图)

4.单击该图标将公式的输出保存到文档中。

5.双击表达式单元格并输入表达式,然后按Enter键。

 

 

请注意以下几点:

 

公式的XQuery表达式的上下文节点是公式节点的父节点。

要在一个表达式中添加新行,请按Ctrl+Enter。如果您想在多行中显示一个表达式以获得更好的可读性,这很有用。

公式(即用于定义公式的表达式)存储在文档的元数据中(在应用程序范围的元数据文件中)。公式也可作为处理指令保存在XML文件中。

公式生成的结果显示在公式的XQuery表达式下方的单元格中,并存储在文档的元数据中。结果也可以存储在文档中。为此,请单击XQuery表达式旁边的磁盘图标。无论您是否单击该图标,都会计算公式的结果并将其存储在文档的元数据中。

如果公式的结果是一个计算,它将作为元素的内容存储,该元素具有您指定的公式名称。例如,上方截图中显示的MinTemps公式的结果将存储在名为MinTemps的元素中。

转至工具 | 选项 | 视图 | 网格视图设置 以:(i) 指定是总是、仅在请求时,还是从不将公式存储在元数据中,(ii) 指定是否将公式存储在文档中。

 

表格中的公式

如果表格列的所有单元格(在表格显示中)包含相同的公式,则该公式将仅显示在列标题(参见下方截图)中。但是,公式的计算结果将显示在相应的单元格中。列标题中的公式是一种网格视图的表示方式。在XML文档(参见文本视图)中,公式将在每个表格行中重复。

XSXMLGridViewFormulasTable

如果单元格中的单个公式与其他公式不同,则每个公式都会显示在其对应的单元格中。如果表格列中的所有公式都相同,则公式会出现在标题中,并且您想为单个单元格创建不同的公式,请关闭表格显示功能并编辑该单元格的公式。当您切换回表格显示时,公式将显示在每个单元格中(适用于所有单元格)。

 

© 2017-2023 Altova GmbH