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>。