千家信息网

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

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本篇内容介绍了"XML模式中扩展枚举列表的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!清单 1
千家信息网最后更新 2025年01月16日XML模式中扩展枚举列表的方法

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

清单 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模式中扩展枚举列表的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

模式 清单 原始 方案 解决方案 标记 支持 方法 元素 公司 内容 优点 婚姻 婚姻状况 正则 状况 类型 缺点 表达式 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 高速公路的网络安全 软件开发主管要求 软件开发系统前景 能够提供图书数据库的有 帝国时代4服务器错误 提取数据库数据进行报警操作 数据库输错了一行怎么重新开始 用hr查询当前登录数据库名 监控中视频管理服务器的作用 数据库和三级学的东西不一样 无锡智能软件开发技术指导 工厂物资管理数据库 数据库用户所见数据模式 在线访问代理服务器 steam 中国服务器 英雄联盟江苏省服务器 如何定义软件开发活动 海康 流存储管理服务器 网络安全公司沈阳 scsa网络安全工程师的待遇 游戏开发跟软件开发一样吗 闵行区营销软件开发报价表 香港免备案服务器租用 数据库er图和eer差别 价格在数据库的属性 软件开发技术选型什么意思 毕业10年了不开做软件开发 配置服务器ip要进系统吗 天启网络技术有限公司数据标注 上海管理网络技术服务哪家好
0