8.3.1. 有效负载分析

当内容到达RPC有效载荷时,它必须是格式良好的XML,遵循由服务器实现的一组模型定义的层次结构和内容规则。

  • 如果叶数据值与叶的类型约束不匹配,包括类型的“range”,“length”和“pattern”属性中定义的那些值,服务器必须在<rpc-error>中回复一个“invalid-value”的<error-tag>,以及与约束关联的error-app-tag7.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>