9.1 交换不完整的模型
案例模型在完成之前进行交换是很常见的。在进行迭代建模时,这种情况经常发生,其中一个用户(例如主题专家或业务用户)首先定义一个高级模型,然后将其传递给另一个人以完成或细化模型。
这种“不完整”模型是指没有填满所有强制模型属性,或者没有满足属性和关联的基数下限的模型。
XMI允许交换这些不完整的模型。在CMMN中,我们扩展了这种功能,以基于CMMN XML- schema交换XML文件。在这样的XML文件中,实现者希望通过以下方式支持这种交换:
忽略CMMN xml模式中标记为“必需”的缺失属性。使用大于0的“minOccurs”减少元素的下界。
- 忽略CMMN xml模式中标记为“必需”的缺失属性。
- 使用大于0的“minOccurs”减少元素的下界。
9.2 机器识别文件
包括XSD和XMI文件在内的CMMN机器可读文件(列在本规范的封面页上)可以在OMG站点上找到。
9.3 XSD
9.3.1 Document Structure
特定于领域的Case模型元素集在一个或多个CMMN文件中交换。每个文件的根元素必须是<cmmn:definitions>。文件集必须是自包含的,即文件中使用的所有定义必须使用<cmmn:import>元素直接或间接导入
每个文件必须声明一个targetNamespace,该namespace可能在一个Case模型的多个文件之间不同。如果所包含的元素使用外部定义,CMMN文件可以导入非CMMN文件(例如XSD的和BPMN文件)。
9.3.2 References within CMMN XSD
所有CMMN元素都包含id,在CMMN xml模式中,对元素的引用是通过这些id表示的。XML- schema IDREF(用于多样性为1的引用)和IDREFS(用于多样性大于1的引用)类型是用于在单个XML文件中通过id进行引用的传统机制。CMMN XSD通过使用qname支持通过ID、跨文件进行引用。QName由两部分组成:一个(可选的)名称空间前缀和一个本地部分。当用于引用CMMN元素时,本地部分应该是元素的ID。
例如,考虑以下情况:
当从另一个文件引用这个Case时,引用将采取以下形式:
其中“case_ns”是在导入时与case名称空间关联的名称空间前缀,而“Fraud_Investigation_Case_ID1”是case的ID属性的值。
CMMN XML-Schema在任何可能的地方使用IDREF和IDREFS,只有当引用可以跨越多个文件时才使用QName。然而,在这两种情况下,引用仍然基于id。
备注:翻译过程借助有道同步完成