8.3.1. 有效负载分析
当内容到达RPC
有效载荷时,它必须是格式良好的XML
,遵循由服务器实现的一组模型定义的层次结构和内容规则。
如果叶数据值与叶的类型约束不匹配,包括类型的“
range
”,“length
”和“pattern
”属性中定义的那些值,服务器必须在<rpc-error>
中回复一个“invalid-value
”的<error-tag>
,以及与约束关联的error-app-tag
(7.5.4.2节)和错误消息(7.5.4.1节)。如果列表条目中的所有键都不存在,那么服务器必须在
<rpc-error>
中回复一个“missing-element
”的<error-tag>
。如果存在多个选择分支的数据,则服务器必须在
<rpc-error>
中回复“bad-element
”的<error-tag>
。如果服务器中存在标记为“
if-feature
”的节点的数据,并且“if-feature
”表达式的计算结果为“false
”,则服务器必须在<rpc-error>
回复“unknown-element
”的<error-tag>
。如果标记为“
when
”的节点的数据存在,并且“when
”条件评估为“false
”,则服务器必须在<rpc-error>
中回复“unknown-element
”的<error-tag>
。对于插入处理,如果属性“
before
”和“after
”的值对于适当的键叶子的类型无效,则服务器必须在<rpc-error>
中回复“bad-attribute
”的<error-tag>
。如果属性“
before
”和“after
”出现在任何不是“ordered-by
”属性为“user
”的列表的元素中,则服务器必须在<rpc-error>
中回复一个“unknown-attribute
”的<error-tag>
。