从列表或Feed 派生的实现继承了of 属性。与其他属性一样,在Contract兼容的情况下,实现Object 可以覆盖of 属性。列表和订阅源还具有隐式定义合同列表内容的特殊能力。在下面的示例中,隐含每个子元素都有一个/def/MissingPerson 的合同列表,而不实际指定每个列表项中的is 属性:
如果列表或Feed 中的元素确实指定了自己的属性,那么它必须与of 属性兼容。如果实现希望指定列表应该包含对给定类型的引用,那么实现应该包括在属性的obix:ref 中,且必须是of 属性中的第一个URI,例如,要指定列表应包含对obix:History 的引用:
在许多情况下,服务器将实现自己对列表子元素的URI 方案的管理。例如,子元素的href 属性可以是数据库键值,也可以是添加子项时由服务器定义的其他字符串。通常,服务器不允许客户端在添加子元素期间通过直接写入列表的从属URI 来指定此URI。
因此,为了将子元素添加到支持客户端添加列表元素的列表中,服务器必须支持通过使用与列表合同相匹配类型的对象写入列表URI 来添加列表元素。服务器必须在成功完成写入后,返回写入的资源(包括任何服务器分配的href)。例如,给定一个<real>元素列表,并预先假定服务器强加的URI 方案:
如果服务器支持此行为,则写入列表URI 本身将替换整个列表:
返回:
写如<real>类型的单个元素会将此元素添加到列表中。
返回:(www.xing528.com)
现在的列表内容为:
注意,如果客户端具有引用list 子元素的正确URI,则仍可以使用它直接修改元素的值:
返回:
并且整个列表被修改为:
OBIX 中关于操作、对象组合、网络通信、核心合同库、监视、监控点、历史数据、报警、安全机制和一致性等方面的内容见下方二维码。
OBIX 拓展知识
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。