XML模式中扩展枚举列表的方法

本篇内容介绍了“XML模式中扩展枚举列表的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联是专业的太子河网站建设公司,太子河接单;提供成都网站建设、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行太子河网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

清单 1. 婚姻状况枚举列表 
 
 
 
 
 
 
 
 
 
 
 
 
假设一个公司要使用这些值,另外,还要支持它的重要贸易伙伴使用另一个值。CivilUnion 是一个扩展值,公司识别出该值不属于原始模式。但是从语义上来说,使用现有元素 —MaritalStatus — 也是可以的。公司要如何实现呢? 
回页首 
解决方案 1: 编辑原始模式使其包含新枚举值 
当然,编辑原始模式使其包含新枚举值是最直接的方法。保留模式的本地副本,然后编辑这些模式以支持公司使用的枚举值。 
优点:易于实现 
缺点: 
需要编辑原始模式,这些模式将逐渐改变,以至于无法控制。如果扩展一个先前存在的列表,那么创建者(贸易伙伴、协会等)可能要发布列表的新版本。您需要将编辑的内容传播到每个新版本中。 
手动编辑模式会导致意外的编辑错误。 
如果您不能(或不想)编辑原始模式,则需要一种替代方法。 
回页首 
解决方案 2: 创建新枚举列表并加入到原始列表中 
第二个选择是创建新枚举列表,并将其加入到原始枚举列表中。清单 1 显示原始婚姻状况列表。清单 2 显示最新创建的枚举列表。 
清单 2. 新婚姻状况枚举列表 
 
 
 
 
 
使用 标记将其与原始列表结合,如 清单 3 所示。 
清单 3. 将两个列表组合起来 
 
 
 
 
该解决方案仍然需要对模式进行编辑 — 即将元素 MaritalStatus 由 MaritalStatusType 类型转换为 MaritalStatusType_Union 类型。改动不大,但仍然有一些手动编辑工作。 
优点:不改变原始枚举列表。 
缺点: 
在设计阶段所有的值必须是已知的,防止后期绑定解决方案。 
需要 标记支持,但有时该标记无法用工具实现。 
回页首 
解决方案 3: 创建一个模式,并与原始枚举类型结合 
现在看一下有关眼睛颜色的人口数据用例。清单 4 显示这一列表。 
清单 4. Person Eye Color 枚举列表 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
接下来,创建采用新值的模式(一个正则表达式)。该模式是以 x: 为前缀的任意字符串。x: 是标准枚举列表和扩展列表之间的描绘程序。清单 5 显示这一模式。 
清单 5. 用于扩展的正则表达式 
 
 
 
 
 
最后,使用 标记结合列表与模式,如 清单 6 所示。 
清单 6. 枚举列表与扩展模式的结合 
 
 
 
 
同一节点拥有标准和扩展值。两个值很容易分离,而且都可以用解析器验证,如 清单 7 所示。 
清单 7. XML 实例样例 
Black 
x:Teal 
优点: 
同一元素可用于所有数据。 
用解析器对基本枚举列表进行验证。 
清晰地分隔扩展值。 
该解决方案允许在以后绑定新值。 
缺点: 
必须解析元素的内容,以确定是否已经被扩展。 
模式解析器必须支持正则表达式。 
需要 标记支持。 
回页首 
解决方案 4:使用单独的字段用于扩展 
在该解决方案中,枚举字段不会变化。

“XML模式中扩展枚举列表的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享名称:XML模式中扩展枚举列表的方法
文章URL:http://myzitong.com/article/gjpcci.html