查询 XML 结构
查询的根元素名称是操作 (Query) 与关联的对象结构的名称的并置。 例如,QueryMXPERSON,其中 MXPERSON 是对象结构。
根元素
查询的根元素名称是操作与对象结构的名称的并置,如 QueryMXPERSON,其中 MXPERSON 是对象结构。 下表列出了可专门应用于查询的根元素和/或对查询的响应的属性。 此表中的所有属性均为可选属性。
| 属性 | 描述 | 类型 | 适用于 |
|---|---|---|---|
| uniqueResult | 指定查询的响应中应该有一条记录还是多条记录。 值为 0(缺省值):查询可以返回多条记录。 值为 1:查询只能返回一条记录,否则出错。 |
布尔值 | 查询 |
| maxItems | 如果查询可以返回多条记录,此属性将限制一次返回的记录个数。 如果不指定此属性,响应中将包含整个结果集。 |
PositiveInteger | 查询 |
| rsStart | 在查询请求中: 与 maxItems 结合使用以指定响应中要返回的第一条记录。 如果 maxItems 等于 10 且未指定 rsStart ,那么响应将返回结果 0 到 9。 要接收结果 10 到 19,可重新发送 rsStart 等于 10 的查询。 如果未指定 rsStart,响应将以结果集中的第一条记录开始。 如果查询结果集中的记录数小于 rsStart, ,则响应将不返回任何记录。 |
整数 | 查询 |
| rsStart | 在查询响应中: 该值匹配相应请求中的 rsStart 值。 如果相应请求中包含 maxItems 值,更多记录的请求中的 rsStart 值将为 rsStart + rsCount + 1。 如果未指定该属性,响应将以结果集中的第一条记录开始,并包含 rsCount 属性指定的记录数。 |
整数 | 响应 |
| rsCount | 消息中返回的记录数。 rsCount 不反映响应处理层中可能跳过的任何行。 |
整数 | 响应 |
| rsTotal | 结果集中的记录总数。 如果查询不指定 maxItems 值,rsTotal 值将与 rsCount 值相同。 |
整数 | 响应(输出) |
例如,由于 rstart 值设置为 11,maxItems 值设置为 10,所以对该查询请求的响应返回查询结果集的记录 11 到 20。
<max:QueryMXINVBAL xmlns:max="http://www.ibm.com/maximo"
creationDateTime="2011-049-28T21:49:45"
baseLanguage="EN" transLanguage="EN" messageID="12345"
maximoVersion="7.5" uniqueResult="0" maxItems="10" rsStart="11">
<max:MXINVBALQuery orderby="string" operandMode="OR">以下查询结果集中总共包含 35 行(如 rsTotal 所指定),但是只返回 11 到 20 行。
<max:QueryMXINVBALResponse xmlns:max="http://www.ibm.com/maximo"
creationDateTime="2011-04-28T21:49:45"
baseLanguage="EN" transLanguage="EN" messageID="12345"
maximoVersion="7.5" rsStart="11" rsCount="10" rsTotal="35">
<max:MXINVBALSet>
.
.
.
</max:MXINVBALSet>Query 运算符
QueryOperatorType 数据类型支持使用不同运算符。 查询请求 XML 可使用不同运算符来过滤返回到查询外部源的数据。
QueryMXPERSON 元素
QueryMXPERSON 元素有以下类型:
- QueryMXPERSON 元素的类型为 QueryMXPERSONType。
- QueryMXPERSONType 具有元素 MXPERSONQuery,后者的类型为 MXPERSONQueryType。
- MXPERSONQueryType 具有为 PERSON 对象配置的所有属性的元素和为该对象的所有子对象(EMAIL、PHONE 和 SMS)配置的元素。
QueryMXPERSON 操作元素使用以下属性:
- uniqueResults - 为布尔值,该值设置为 1 (True) 时,指示查询返回单条唯一记录。 如果找到了多条记录,将返回错误。 如果不提供该属性,缺省值将为 0 (false)。
- maxItems - 如果针对查询将该值设置为 10,即使查询的结果集可能大于 10,该值也会将查询中返回的记录数限制为 10。 如果不定义该属性,将返回查询的结果集中的所有行。
- rsStart - 如果针对查询将该值设置为 11,将从第 11 条记录开始返回结果集中的所有记录。 查询结果将跳过第 1 到 10 条记录。 如果不定义该属性,将从结果集中的第一条记录返回记录。
MXPERSONQuery 内容元素还使用以下属性:
- orderby - 使用该值等同于在 SQL 语句中使用 Order By。 此属性中包含一列其中也包含 ASC 和 DESC 选项的以逗号分隔的文件名。 如果不定义该属性,查询将按照数据库的接收顺序返回记录。
- operandMode - 该值有两个有效值:AND 和 OR。 如果在执行查询时使用一个或多个字段进行求值,系统将使用该值。 使用 AND 值时,所有字段求值必须为 true。 使用 OR 值时,只有一个字段求值必须为 true。 如果未定义该属性,缺省值将为 AND。
QueryMXPERSONResponse 元素
QueryMXPERSONResponse 元素具有以下类型:
- 元素 QueryMXPERSONResponse 的类型为 QueryMXPERSONResponseType。
- QueryMXPERSONResponseType 具有元素 MXPERSONSet,后者的类型为 MXPERSONSetType。
- MXPERSONSetType 具有为 PERSON 对象配置的所有属性的元素,以及对象结构中定义的子级对象(PHONE、EMAIL、XYZ 和 SMS)的元素。
QueryMXPERSONResponse 元素具有以下属性:
- rsStart - 该值中包含为查询请求设置的值。 如果没有为请求定义该值,缺省响应值将为 1。
- rsCount - 该值中包含查询响应中返回的记录数。
- total - 该值中包含最终查询结果集内的记录数。 总值可以大于查询请求中使用 maxItems 属性时返回的记录数。