一种基于 EMF 模型的在 GEF 中判断创建连接线有效性的方法
2010-04-02 00:00:00 来源:WEB开发网核心提示: 图 3. EMF 生成模型的类图查看原图(大图)在创建连接线之前先定义好不同的连接线分别代表的关联关系(一对一、一对多和多对多),在创建某种连接线时,一种基于 EMF 模型的在 GEF 中判断创建连接线有效性的方法(4),根据该连接线代表的关联关系,分别对连接线两端模型对应的类进行上面所述的方法
图 3. EMF 生成模型的类图
查看原图(大图)
在创建连接线之前先定义好不同的连接线分别代表的关联关系(一对一、一对多和多对多)。在创建某种连接线时,根据该连接线代表的关联关系,分别对连接线两端模型对应的类进行上面所述的方法验证,如果符合的话,就允许创建该连接线,否则,撤销刚刚建立的连接线。
一个 Schema 验证的例子
该部分给出了一个通过 Schema 定义来验证连接线有效性的例子。 可以直接使用 EMF 导入Schema 文件,Schema 文件中定义的各个复杂类型和其元素都被生成对应的模型,模型间的关系和 Schema 文件中定义的一样。图4是一个定义复杂类型 A 的 Schema 文件,可以看出类型 A 里面包含 B1、B2、sourceConn 和 targetConn 元素和 a 属性。 当编写一个 xml 文档用到 A 标签时,它的后继标签只能是 B1、B2、sourceConn 和 targetConn。同时通过 Schema 文件里对各个元素最大出现次数属性 maxOccurs 的赋值可知:B1 的出现次数最多只能是一次,而其它标签可以出现任意多次。 如果 A 的后继标签中出现了 B3 之类的标签时,将不能通过 Schema 的验证,说明该 xml 文档是非法的。
图 4. 复杂类型 A 的 Schema 文件内容
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接