实现RIF方言有限前向兼容性的适度方案
1. 有限前向兼容性的讨论
在规则交换格式(RIF)的应用中,有限前向兼容性是一个值得探讨的话题。首先,我们来思考有限前向兼容性是否有用。
从形式上看,所提出的机制满足RIF“可扩展格式”的要求。虽然它仅为语义等价形式提供了语法回退,但在无法提供语义保留的语法转换时,默认行为是优雅地拒绝文档,这符合RIF的相关要求。
对于已发布的RIF方言(如RIF - Core、RIF - BLD和RIF - PRD),本身已经规定了处理扩展的默认行为,即符合规范的消费者必须拒绝所有不符合其语法的输入。然而,我们提出的有限前向兼容性方案无疑扩展了RIF方言之间的互操作性,从而提升了它们的实用性。
2. 消费者端回退与生产者端回退
在讨论RIF的实现和应用时,通常需要区分生产者实现和消费者实现:
- 生产者实现:通过将自定义规则语言编写的规则序列化为RIF/XML来生成RIF文档。
- 消费者实现:通过反序列化RIF文档,将其转换为相同或其他自定义规则语言来检索和使用RIF文档。
我们的方案假设回退处理在消费者端进行,但也有人认为回退应由生产者实现来处理,即所谓的“强制最小方言序列化”。这种方法要求,当方言D中的构造d可以仅使用D所扩展且不包含d的方言D’中的构造来表达时,符合规范的D生产者实现必须生成D’的RIF/XML。支持这种要求的观点是,增加表达能力所带来的额外实现复杂性应由需要这种能力的一方承担。
然而,有许多强有力的论据支持消费者端回退,而非强制最小方言序列化:
- 规范修改问题 :强制最小方言
超级会员免费看
订阅专栏 解锁全文
830

被折叠的 条评论
为什么被折叠?



