基于UML建模XML模式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年1月计算机工程与设计J a n.2019
第%〇卷第 1 期C O M P U T E R E N G IN E E R IN G A N D D E S I G N V o l. 40 N o. 1
基于U M L建模X M L模式
纪斌,吴家菊+,马永起,周本金,谢永辉
(中国工程物理研究院计算机应用研究所,四川绵阳621900)
摘要:为快速理解X M L S c h e m a文档结构,研究使用U M L建模X M L S c h e m a文档的方法。
分析已有研究的局限性,基 于X M L S c h e m a定义的元素及元素间的嵌套关系的定义,提出一种基于元素的使用U M L建模X M L S c h e m a文档的方法,定义将X M L S c h e m a文档转换为U M L类图的转换规则。
该建模方法可以为X M L S c h e m a文档包含的任何元素建立U M L
类并用U M L模型中定义的关系表示元素间的嵌套关系,保证了 X M L S c h e m a文档的U M L模型表示的完整性。
以实例验 法的 。
关键词:统一建模语言;可扩展标记语言模式%转换%元素%结构%类
中图法分类号:T P311.5文献标识号:A文章编号$1000-7024(2019) 01-0109-07
d o i:10. 16208/.. is s n l000-7024. 2019. 01. 018
Model XM L Schema based on UML
JI B i n&WU J i a-j u; &MA Yong-q i &ZHOU B e n-j i n&XIE Yong-hu i
(In s titu te o f C o m p u te r A p p lic a tio n, C h in a A c a d e m y o f E n g in e e rin g P h y s ic s,M ia n y a n g621900,C h in a)
A b s tra c t:T o u n d e rs ta n d th e s tru c tu re o f X M L Schem a d o c u m e n t q u ic k ly , m e th o d s to m o d e l X M L Schem a d o c u m e n t w ith U M L
w e re researched and lim ita tio n s o f c u rre n t m e th o d s w e re a n a ly z e d Based o n d e fin itio n s o f e le m e n e le m e n ts d e fin e d in X M L S ch e m a,a m e th o d to m o d e l X M L Schem a w it h U M L th a t based o n e le m e n ts class fo r each o f th e e le m e n ts co n ta in e d in a X M L Schem a d o c u m e n t w as cre ated and ne ste d re la tio scrib e d w ith co rre s p o n d in g re la tio n d e fin e d in U M L,w h ic h m ade sure th e in te g r a lity o f th e U M X M L Schem a do cu m e n t. A n e xa m p le w as g iv e n to v e r ify th e fe a s ib ility o f th e p ropose d m e thod.
K e y w o rd s:U M L;X M L S ch e m a;tr a n s fo r m a tio n;e le m e n t;s tr u c tu r e;class
/引言
相比于其它模式语言(例如D T D、S O X), X M L S c h e m a (X M L模式)提供了强大的设计、约束和验证X M L (e x te n s ib le m a rk u p la n g u a g e)的机制。
由于X M L Schem a 的文本特性和X M L语法的复杂性,一般开发人员难以快速理解X M L Schem a 文档的结枸。
U M L(u n ifie d m o d e lin g la n g u a g e)建模语言可以为X M L S c h e m a文档图形化建模,为快速理解X M L S c h e m a文档提供了一种方式。
目前,关于X M L S c h e m a和U M L之间的转换的研究,学术界主要集中在如何依据U M L模型设计X M L S c h e m a 文档,即正向工程转换[1],在此领域,国内外有较为成熟的研究成果[24]。
对于使用U M L建模X M L S c h e m a的相关研究较少,当前研究大体可分为两个方面:一是直接使用U M L已有元模型建模X M L S c h e m a;二是首先使用U M L P r o f ile建立X M L领域相关元模型,然后建模X M L S ch e m a。
F.D.S a l i m等)]提出了一种使用U M L已有元模型建模X M L S c h e m a的方法。
该方法基于X M L S c h e m a的枸件并能为大多数枸件建模,但该方法基于X M L S c h e m a早期版本。
刘洪星等)]提出了X U M L的概念,X U M L是一种X M L领域相关的U M L元模型。
根据X M L结枸和语法特点,X U M L加强了对“包含”等语义的建模能力,引人了一种描述包含关系的关联关系-广义聚集。
国内外其它诸多
收稿日期:2017-09-01;修订日期:2017-11-30
基金项目:装备预研领域基金项目(61400040201)
作者简介:纪斌(1990-),男,山东潍坊人,硕士研究生,研究方向为软件工程与数据库;;通讯作者:吴家菊(1978-),女,四川资阳人,硕士研究生,高级工程师,C C F会员,研究方向为软件工程与数据库;马永起(1986-),男,宁夏吴忠人,硕士研究生,工程师,研究方 向为软件工程与数据库;周本金(1991-),男,安徽宿州人,硕士研究生,研究方向为软件工程与数据库;谢永辉(1992-),男,河南驻 马店人,硕士研究生,研究方向为人工智能与模式识别。
E-m a il:fa;iwu@163. com
•110 -计算机工程与设计2019 年
用U M L建模X M L S c h e m a文档的方法?$*基本上属于上述两种类型。
当前已提出的使用U M L建模X M L S c h e m a的方法都存在一个问题,即这些方法基于X M L S c h e m a构件,在建立X M L S c h e m a的U M L模型过程中会舍弃一些元素(例 如e x te n s io n、r e s t r ic t io n等%只保留数据相关元素。
针对当前的建模方法存在的不足,本文提出了一种基于元素的U M L建模X M L S c h e m a的方法。
该方法使用U M L已有元模型,为X M L S c h e m a文档中包含的每个元素创建U M L 类,并依据元素间的关系建立U M L类间的关系。
该方法引人了广义聚集用于表示s e q u e n c e中元素的顺序。
实践表明,使用该方法为X M L S c h e m a文档建立的U M L模型可以清晰表示X M L S c h e m a文档的结构。
1 UML与 XMLS c h e ma的差别
U M L和X M L S c h e m a之间存在着诸多的差别,首先,X M L S c h e m a和U M L的概念层级不同,U M L是结构化和概念化的,而X M L S c h e m a是面向编程和实现的,并且X M L S c h e m a描述的是半结构化数据。
其次,X M L S c h e m a 的s e q u e n ce要求X M L实例文档中的元素必须以元素在sequence 中定义的顺序出现,而U M L类的属性则没有顺序限制。
第三,X M L S c h e m a是文本化的而U M L是图形化的。
第四,X M L S c h e m a中的e x t e n s o n派生关系可以用
U M L中的泛化关系来表示,但当前U M L中没有的相应机制来表示X M L Schem a 中的re s tr ic tio n派生[10*。
2转换内容
本文提出的U M L建模X M L S c h e m a的方法包括X M L S c h e m a中定义的29种兀素(未包含a n y A t t r ib u t e兀素)和 12种限定元素[112]。
为方便转换规则的定义,我们将29 种元素分为以下类型:
⑴根兀素:schem a
(2)包含兀素:im p o r t,in c lu d e,re d e fin e
(3)声明兀素:e le m e n t,a ttr ib u te
$)定义兀素:g r o u p,a ttr ib u te G r o u p,s im p le T y p e,c o m p le x T y p e,l i s t,u n io n,s im p le C o n te n t,n o ta tio n,co m- p le x C o n te n t,e x te n s io n,a n y,re s tric tio n
$)—致性约束元素:k e y,k e y r e f,u n iq u e,s e le c to r,fie ld
(6)注释兀素:a n n o ta tio n,d o c u m e n ta tio n,a p p in fo
(7)模型组兀素:c h o ic e,a l l,sequence
re s tric tio n的父兀素可以是s im p le T y p e,s im p le C o n te n t 或c o m p le x C o n te n t。
在父元素不同时,r e s t r ic t io n可能的子兀素也不同。
为简化处理,我们将r e s t r ic t io n这3种情况下的子元素做并集处理。
类似于r e s tr ic tio n,e x te n s io n的父元素可以是s im p le C o n te n t 或c o m p le x C o n te n t,对e x te n s io n的子元素的处理方式与r e s t r ic t io n相同。
3转换规则
对于第2部分中陈述的每种元素及其属性和子元素的转换规则如下所示。
3.1元素的转换
$)元素通用转换规则
对于每种元素,若该元素包含在X M L S c h e m a文档中,则为该元素创建一个U M L类。
若该元素有父元素,则在该元素的U M L类和其父元素的U M L类之间建立聚合关系。
一般来说,将一个以该元素名为属性名(如果元素有n a m e属性,则以n a m e属性的取值作为属性名)的属性添加到父元素的U M L类中,属性的数据类型为该元素的
U M L。
$)父元素中出现多次的子元素的转换规则
子在其父中次。
将
子元素分为两类:元素有n a m e属性和元素没有n a m e属性,其中没有n a m e属性的元素共有6种。
不同于通用转换规则,在将这@种元素转化为U M L类的过程中,在元素的父元素的U M L类中添加特殊的属性表示该元素在其父元素中出现多次,见表1。
对于有n a m e属性的元素,其转换规则遵循通用转换规则。
表1在父元素的U M L类中为出现多次的
子元素定义的属性
父元素子元素属性数据类型
choice choice sequence modelGroup L is t'O b je ct> sequence choice sequence modelGroup L is t'O b je ct>
schema include includes AirayList'include〉schema import imports ArrayList〈import〉chema redefine redefines A rra yL ist' redefine〉restriction facet facets List〈Facet〉
(3)d o c u m e n ta tio n和a p p in fo的转换规则
d o c u m
e n ta tio n和a p p in fo两种元素的内容可以是任何格式正确的X M L内容。
为能显示两种元素的内容,在将这两种元素转换为U M L类的过程中,我们在元素的U M L类 中添加了一个v a lu e属性,数据类型为S tr in g。
(4)s e q u e n ce模型组的转换规则
S e q u e n ce模型组要求其组内元素在X M L实例文档中必须与其在s e q u e n ce模型组中出现的顺序一致。
为能直观的展示s e q u e n ce模型组中元素出现的顺序,在将se q u e n c e模 型组和组内元素转化为U M L类的过程中,在s e q u e n c e的 U M L组内的U M L之使用义聚系。
在
广义聚集上使用符号{n u m b e r}表示元素出现的具体次序,比如{1}表示s e q u e n ce模型组中的第一个子元素。
第40卷第1期纪斌,吴家菊,马永起,等:基于U M L建模X M L模式•111 -
(5)e x te n s io n的转换规则
e x te n s io n可以通过在已定义的复杂类型中添加元素或属性派生得到一个新的复杂类型,另外e x t e n s o n也可以通过扩展a n y T y p e得到一个新的复杂类型。
当X M L S c h e m a 文档中包含复杂类型是通过e x te n s o n扩展其它复杂类型得到时,我们通过在扩展复杂类型的U M L类和被扩展复杂类型的U M L类之间建立继承关系来表示e x te n s io n的扩展派生。
$)r e s t r ic t io n的转换规则
e t C o n可以通过限制简单类型字符数据取值来定义新的简单类型,也可以通过限制复杂类型的字数数据取值或属性取值来定义新的复杂类型。
不同于e x t e n s o n的处理方式,在转换过程中我们直接创建为r s m c t o n创建一个U M L。
的$) 的U M L
r e s t r c t o n派生得到的简单类型(或复杂类型)的U M L类 之间不建立任何的U M L关系。
32元素包含属性的转换规则
$)属性通用转换规则
一般情况下,对于元素可以包含的每个属性,如果该属性出现在元素中,添加一个同名属性到该元素的U M L 类中。
U M L类中属性的数据类型由元素中属性的数据类。
$)x m ln s属性的转换规则
s c h e m a的x m ln s属性有两种使用情况:一种是表示默认名称空间,此时属性名为“x m ln s”;一种是表示带有名称空间前缀的名称空间,此时属性名以“x m ln s:”开头,名称空间前缀跟随其后。
默认名称空间在s c h e m a中最多出现一次,带有名称空间前缀的名称空间可以出现多次。
如 果默认名称空间出现在s c h e m a中,则一个名为“x m ln s”的属性添加到s c h e m a的U M L类中,属性的数据类型为S tr in g。
如果带有名称空间前缀的名称空间出现在schem a 中,则在s c h e m a的U M L类中添加一个n a m e S p a c e属性,属性的数据类型为H a s h M a p'S t r in g, S tr in g〉,'S t r i n g, S t r m g>对应于'名称空间,名称空间前缀+。
$)n a m e属性的转换规则
1) k e y, k e y r e f, u n iq u e这3种元素必须包含nam e 属 性。
在将这3种元素转换为U M L类时,以n a m e属性的取值作为类名,在类名上方添加《“元素名”》以区分该U M L 的。
在的U M L中添加n a m e属性。
2) e le m e n t,a ttr ib u te, a ttr ib u te G r o u p,g ro u p这 4 种 元素可以有n a m e属性,也可以通过r e f属性引用其它预定义的同类型元素。
两种属性在4种元素中不能同时出现,但必须出现一个。
当元素中有n a m e属性时,该元素的
n a m e属性的转换规则遵循k e y的n a m e属性的转换规贝I J。
当元素有r e f属性时,r e f属性的取值表示了一个预定义的同类型元素,我们直接在该元素的父元素的U M L类和re f 属性取值表示的元素的U M L类之间建立聚合关系,不为该创U M L。
3) s im p le T y p e和c o m p le x T y p e两种元素的定义分为两
:义义。
是义时&其
n a m e属性必须出现,此时该兀素的n a m e属性的转换规则遵循k e y的n a m e属性转换规则。
当元素是匿名定义时,我 们为该元素添加一个n a m e属性并定义一个属性值,属性值的命名方式为“元素名_类型名”。
在该匿名元素的父元素中添加一个t y p e属性,用于引用该匿名元素。
此时该匿名元素的n a m e属性的转换规则遵循k e y的n a m e属性的转换规则。
(4)m in O c c u r s和m a x O c c u rs属性的转换规则
e le m e n t,g r o u p,a l l,c h o ic e,seq uence,a n y兀素都可以有m in O c c u r s和m a x O c c u rs属性,两个属性的默认取值均为1,表示元素在X M L文档中只能且必须出现1次。
可 以通过重定义这两种属性取值来限制该元素在其父元素中出现的次数。
在上述6种元素向U M L类转换过程中,将这两种属性的取值转换为元素的U M L类与其父元素的U M L 类之间关联关系的关联基数。
其中关联端(父元素端)的 关联基数为1,被关联端(子元素端)的关联基数取值由m in O c c u r s和m a x O c c u rs两种属性的取值决定,见表2。
在 元素转换得到的U M L类中不再为这两种元素属性创建属性。
当被关联端关联基数为1时,我们不在U M L类图中显示关联端基数和被关联端基数,以表示元素的m m O c u r s和 m a x O c c u rs属性的取值为默认值。
表 2 m in O c c u r s和m a x O c c u rs确定的关联基数
取值minOccurs maxOccurs
0unbounded
nl …n2n1n2
111
33 U M L类名的命名规则
若元素不包含n a m e属性,则将元素名作为类名。
若元素包含n a m e属性或r e f属性,则按照3. 2节中定义的nam e 属性或r e f属性的转换规则为其定义类名。
34限定元素的转换规则
X M L S c h e m a中定义了6种类型的12种限定元素用于对元素或属性的字符数据取值进行限制,见表3。
$)限定元素的转换规则
为每个出现在X M L S c h e m a中的限定元素创建一个U M L作为在上方添加<<?&«;1>>用于区分该U M L类对应的元素类型。
在限的U M L其父的U M L之立系。
-112 -计算机工程与设计2019 年表3 X M L S c h e m a定义的12种限定元素
类型限定元素
范围minlnclusive maxlnclusive minExclusive
maxExclusive
长度length maxLength minLength
精度totalDigits fractionDigits
枚举enumeration
字符匹配pattern
空白符whiteSpace
(2)限定元素的属性转换规则
所的v a lu e属性,在将限定元素转换为U M L类时,在U M L类中为限定元素的v a lu e 属性创建一个同名v a lu e属性,以限定元素的v a lu e属性的取值作为U M L类中v a lu e属性的取值。
如果限定元素包含f ix e d属性,则在限定兀素的U M L类中添加一个f i x e d属 性,属性的数据类型为b o o le a n。
3.5 转换
除a n n o ta tio n,d o c u m e n ta tio n,a p p ln fo这 3 种兀素夕卜,a n n o ta tio n元素均可以作为任意元素的子元素,并且其使用规则相同。
因此,为方便将元素的a n n o ta tio n子元素转化为U M L类,我们定义了一个a n n o ta te d抽象类,该类与a n n o ta tio n的U M L类的关系如图1所示。
其它元素的U M L类通过继承该抽象类来表示该元素包含a n n o ta tio n 子。
x m ln s:x s_"h t t p://w w w. w3. o r g/2001/X M L S c h e m a"
x m ln s_M h t t p://w w w.gscaep. c n/t e s t" ta rg e tN a m- e s p a c e_"
h t t p: //w w w.gscaep. c n/te s t"+
〈x s: a n n o ta tio n〉
'x s: d o c u m e n ta tio n+T h is is a s im p le xsd file.
〈/x s: d o c u m e n ta tio n〉
〈/x s: a n n o ta tio n〉
〈xs :e le m e n t nam e _" elem entO " ty p e_" c o m p le x
T y p e!'/〉
〈xs :e le m e n t nam e _" e le m e n t1" ty p e_" c o m p le x
T y p e2"/〉
〈xs : c o m p le x T y p e n a m e= "c o m p le x T y p e1"〉
〈x s: sequence m in O c c u r s_ ”0’’m a x O c c u r s_’’5 ”〉
〈x s: e le m e n t n a m e_’’e le m e n t2’’ t y p e= ' ' xs : in t' ' /〉
〈x s: e le m e n t n a m e e l e m e n t3’’ t y p e_’’xs : i n t’’/〉
〈/x s : sequence〉
〈xs : a ttr ib u te n a m e_’’a ttr ib u te1’’ t y p e_’’x s: i n t’’/〉 〈/xs : c o m p le x T y p e〉
〈x s: e le m e n t n a m e e l e m e n t%’〉
〈xs : s i m p le T y p e〉
〈x s: re s tric tio n b a s e_ "x s: to k e n’'〉
〈x s: e n u m e ra tio n v a lu e_ ’’s h a n d o n g’’/〉
〈x s: e n u m e ra tio n v a lu e_ ’’s h a n g h a i’’/〉
〈/x s : re s tric tio n〉
图1 a n n o ta te d抽象类与 a n n o ta tio n的U M L类
4转换例子
在本节中我们以一个包含13种元素和e n u m e r a tio n限 定元素的X M L S c h e m a实例文档来验证转换规则的可行性。
X M L S c h e m a文档如下所示。
te st, x sd
〈4 x m l v e r s io n=’’1. 0’’ e n c o d in g_’’U T F-8’’4 〉
〈x s: schem a
〈/xs : s i m p le T y p e〉
〈/x s : e le m e n t〉
〈x s: g ro u p n a m e_’’g r o u p1’’〉
〈xs :a11〉
〈xs :e le m e n t nam e _" e le m e n t5" ty p e _" xs :to-k e n"/〉
〈/xs :a11〉
〈/x s: g ro u p〉
〈xs : c o m p le x T y p e n a m e= "c o m p le x T y p e2"〉
〈xs : c o m p le x C o n te n t〉
〈x s: e x te n s io n b a s e_ ’’c o m p le x T y p e1’’〉
〈xs : sequence〉
〈x s: e le m e n t n a m e_"e le m e n t6"ty p e =
M,
:x s:to-〈x s: e le m e n t n a m e_"e le m e n t7"ty p e =
M
:x s:to-k e n"/〉
〈/x s : sequence〉
〈/x s : e x te n s io n〉
〈/x s: c o m p le x C o n te n t〉
〈/xs : c o m p le x T y p e〉
〈/x s : schem a
〉
第40卷第1期
纪斌,吴家菊,马永起,等
:
基于U M L 建模X M L 模式
-113 -
schem a 兀素有 x m ln s & ta rg e tN a m e sp a ce 两种属性和 a n n o ta tio n , e lem entO & e le m e n tl & c o m p le x ty p e l & e le m e n t4& g r o u p l ,c o m p le x ty p e 2这7个子元素。
首先为s c h e m a 元素
的每个子元素建立U M L 类,最后建立整个X M L Schem a
文档的U M L 类图。
下面首先依次给出e le m e n t4,g r o u p l ,
c o m p le x T y p e l ,c o m p le x T y p e 2 到 U M L 类的转换
,最后给
出了 t e t x s d 文档经过转换后的U M L 类图。
4.1 为 element 4 创建 UM L 类
e le m e n t4元素内部有一个匿名简单类型的定义
,根据
在第3部分中定义的匿名简单类型的转换规则,e lem ent4 转换得到的U M L 类图如图2所示。
4. 2 为 complexTypel 和 complexType 2 创建 UM L 类
c o m p le x ty p e l 和c o m p le x ty p e 2是两个复杂类型定义
,
并且 c o m p le x ty p e 2 是通过对 c o m p le x T y p e l 使用 e x te n s io n 派
的。
根据第3部分
的转换规则,为这些元素
创建U M L 类并建立相应的U M L 关系。
在
s e q u e n c e 的
U M L 类和e le m e n t2、e le m e n t3的U M L 类之间建立广义聚
集关系,在广乂聚集上使用{l }、
{2
}
表示e le m e n t2和
elem ent3 的具体顺序。
sequence 有 m in O c c u rs 和 m a x O c c u rs
属性,根据两个属性的取值确定s e q u e n c e 的U M L 类端的
关联基数为0…5,c o m p le x t y p e l 的U M L 类端的关联基数 为 l。
在 c o m p le ty p e l 的 U M L 类和 c o m p le x ty p e 2 的 U M L
之
立继
系。
转换
的U M L 类图如图3所示。
图2 e le m e n t4转换后的U M L 类图
图 3 c o m p le x ty p e l 和 c o m p le x ty p e 2 转换后的 U M L
类图
-114 -计算机工程与设计2019 年
4.3 为g ro u p l创建U M L类
g r o u p l有一个51子兀素,a l l兀素有一个e le m e n t5子 元素,根据第3部分定义的转换规则,g r o u p l转换得到的U M L类图如图4所示。
图4 g r o u p l转换后的U M L类图4.4 为schema创建U M L类
s c h e m a有默认名称空间属性和带名称空间前缀的名称空间属性,分别为这两种属性在s c h e m a的U M L类中添加x m ln s属性和n a m e S p a c e属性,另外在s c h e m a的U M L类 中添加一■个ta rg e tN a m e S p a c e属性对应于s c h e m a的ta rg e t- N a m e S p a c e属性。
在s c h e m a的U M L类和其包含的7个子元素的U M L类间建立聚合关系。
s c h e m a有a n n o ta tio n子 元素,因此s c h e m a的U M L类继承a n n o ta te d抽象类。
最后得到te st, x s d经过转换的到的完整的U M L类图,如图5所 示。
对比分析转换得到的U M L类图和原始的te st, x d文 档,我们发现对于te st, x s d文档包含的每一个兀素都有一U M L类与之,元素之间的嵌系也通过相应的
关系得到表示。
转换得到的U M L模型可以清晰地描述te st, x s d的文档结构,可以帮助开发人员快速理解X M L S c h e m a文档结构。
图5 te st, x s d转换后的U M L类图
在传统的基于X M L S c h e m a构件的建模方法中,只有e le m e n t、a t t r ib u t e等数据相关的元素会得到保留,对于g r o u p、sequence、c h o ic e、a l l等对数据相关元素进行约束的元素则会舍弃。
这样虽然可以描述X M L S c h e m a文档的数据结构,描述数据的组织方式,于开发人员理解X M L S c h e m a文档结构。
5结束语
使用传统的方式为X M L S c h e m a建立U M L模型的过程中会舍弃数据无关的元素,因此在描述X M L S c h e m a文 结构方。
其了开发人员不能快速
理解X M L S c h e m a文档结构,给开发过程带来障碍。
本文提出了一种以X M L S c h e m a元素为基础,使用U M L建模X M L S c h e m a文档方法。
该方法可以为X M L S c h e m a文档中包含的任意元素(a n y A t t r ib u t e除外)创建U M L类,并 依据的嵌系建立类之间的关系,的描述X M L S c h e m a文档结构。
实践表明在综合保障系统开发中推广使用该方法可以有效地帮助开发人员快速理解X M L S c h e m a文档结构,提高系统开发效率,进而提高自动化水平和数字化水平。
该方法具有通用性,可以推用到其它X M L应用领域。
参考文献:
[1] HUANG Long,YANG Yuhang.Transformation from XML
Schema to UML class diagram based on meta model [J]. Computer Engineering and Application,2010,46 (23): 59-60 (in
C h i n e s e).[黄陇,杨宇航.基于元模型的XML Schema到
U M L类图的转换[].计算机工程与应用,2010, 46 $3)
:
第40卷第1期纪斌,吴家菊,马永起,等:基于U M L建模X M L模式•115 -
59-60. *
[2] ChenXu, Yan Li, Li Weijun, et al. Reengineering fuzzy spa-
tiotemporal UML data model into fuzzy spatiotemporal XML model [J], IEEE Access, 2017 (6):17975-17987.
[3] XIONG Yonggang, TANG Huijia. Implementing transforma
tion from UML model to XML document based on XMI [J], Computer Applications and Software, 2010,27 (4):68-70 (in C h i n e s e).[熊永刚,唐慧佳.基于X M I的U M L模型到 X M L文档转换的实现[J],计算机应用与软件,2010,27 (4%:68-70. ]
[4] Noreddine G, Khaoula A, Mohamed B, A framework for
mapping UML class into XML data based on technical specification [C] //International Conference on Multimedia Computing and Systems, 2012:749-754.
[5] Salim FD,Price R, Krishnaswamy S, et al. UML documen
tation support for XML schema [C] //Australian Software Engineering Conference, 2004.
[6] LIU Hongxing, LU Yansheng, CHEN Ming. An XML
conceptual model-XUML [J],Computer Science, 2007,34
(1):88-91 (in C h i n e s e).[刘洪星,卢炎生,陈明.一种
X M L概念模型-XUML [J].计算机科学,2007, 34 (1): 88-91Z]
[7] WANG Zhongbo, LUO Xiling, QI Ming. Research and imple
mentation of flight information exchage model based on UML and XSD [J]. Computer Technology and Development, 2017,
27 (4):139-144 (in C h i n e s e).[王忠波,罗喜伶,齐鸣.基
于U M L和X S D的航班信息交换模型研究与实现[J].计算机 技术与发展,2017,27 (4):139-144.]
[8] Hannani A, Rosziati I. Reverse engineering:From XML to
UML for generation of software requirement specification
[C] //International Conference on Information Technology in
Asia, 2013:1-6.
[9] Michael JD, Kyle S, Michael LC, et al. A tool for efficiently
reverse engineering accurate UML class diagram [C] //IE E E International Conference on Software Maintenance and Evolution, 2016:607-609.
[10] Chamitha RN, Kaneeka V. UML generator-An automated
system for model driven development [C]//International Conference on Advances in ICT for Emerging Regions, 2016 :250-256.
[11] W3C. W3C XML Schema definition language (XSD) 1.1 Part 1:
Structures [E B/O L]. ) 2017-11-28 ]. https ://www. w3.
org/TR/xmlschema11-1/.
[12] W3C. W3C XML Schema definition language (XSD) 1.1 Part 2:
Datatypes [E B/O L]. [ 2017-11-28]. https://w w w. w3.
org/TR/xmlschema11-2/Z
(上接第108页)
[12] XIAOZhuoyu, HE Pei, LI Yan. Study on additionll rela
tionships based on design pattern?s roles [J]. Application Research of Computers, 2015, 32 (7):2042-2045 (in Chinese).
[肖卓宇,何锫,黎妍.基于设计模式角色的附加关系检测研 究)].计算机应用研究,2015, 32 (7):2042-2045.]
[13] NIE Kunming, LI Pan, ZHANG Li. An automatic software
product line derivation framework of ship prognostics and health management system [C]//National Conference on
Software and Applications, 2012 (in C h i n e s e).[暴坤明,李 盼,张莉.一种面向舰船P H M系统的软件产品线自动构建框 架[C] //全国软件与应用学术会议,2012.]
[14] YUAN Yarn, XIE Binhong, PAN Lihu, et al. Variability
modeling of coal mine safety monitoring and control field [J].
Industry and Mine Automation, 2017,43 (10):43-47 (in Chinese).[原雅茹,谢斌红,潘理虎,等.煤矿安全监控领 域可变性模型[J].工矿自动化,2017, 43 (0):43-47.]。