`
xmarkgogo
  • 浏览: 29530 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于ebXML的XDS.b实现问题之对象及对象关联

 
阅读更多

XDS.b中的事务ITI-41、ITI-42都包括submission request即文档提交请求,请求的参数有三个:XDSDocumentEntry、XDSFolder和Association。其中,XDSDocumentEntry是文档的元数据信息,包括对文档的基本描述;XDSFolder即该文档存储于哪个文件夹中(可以是多个);Association是文档之间的关系,例如新文档要替代原文档等等。


上图是ebXML中的类与XDS类之间的对应关系。XDSDocumentEntry派生自ebXML的ExtrnsicObject,XDSSubmissionSet与XDSFoler派生自RegistryPackage。由于ebXML Registry标准不允许RegistryPackage类存在子类,所以在实现中XDSSubmissionSet和XDSFolder均用RegistryPackage类来实现。这里就需要用一个Type信息来标识不同的实体(submission set vs. folder),每一种类型由XDS规范定义,并确实UUID。

实体之间的关系需要用到ebXML中的Association。Association包含sourceObject与TargetObject,并且包括association type,用于表达源对象与目标对象之间的关系。在XDS中用到了以下几种关联类型:

urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember

urn:ihe:iti:2007:AssociationType:APND 当前文件是父文件的附件说明

urn:ihe:iti:2007:AssociationType:RPLC 当前文件将代替父文件

urn:ihe:iti:2007:AssociationType:signs 当前文件是父文件的数字签名

urn:ihe:iti:2007:AssociationType:XFRM 当前文件是父文件的另外一种表现形式

urn:ihe:iti:2007:AssociationType:XFRM_RPLC 当前文件是父文件的另外一种表现形式,并且将代替原文件

如果在一个提交集(SubmissionSet)对象里面包含了文件夹对象(XDSFolder objects),而某个文件对象(XDSDocumentEntry object)又属于这个文件夹,那么就需要两个Association来标识三者之间的关系。

第一个Association①表达的信息是文件对象属于该文件夹,第二个Association②将第一个Association与提交集对象联系在一起。Association①的targetObject和sourceObject分别是XDSFolder object和XDSDocumentEntry object;Association②的targetObject是Association①的id,sourceObject是XDSSubmissionSet object的id。这两个Association的关联类型都是上面的第一种:urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics