麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > XML > 正文

在XML模式中擴展枚舉列表

2024-09-05 20:56:08
字體:
來源:轉載
供稿:網友
在列表中添加新值是一種常見而且必要的需求。模式設計者通常希望在系統架構中構建一種添加附加值的方法,并且該附加值在設計階段是未知的。模式設計者如何創建一個可擴展、易于實現的枚舉值列表?本文將介紹幾種實現這一目標的方法。
模式設計者和實現人員需要一種擴展 XML 模式中現有枚舉列表的方法。不幸的是,XML 模式規范不允許在這些列表的創建過程中(參閱 參考資料)進行擴展。設計階段所選的值是固定的,而且都是可用的。盡管有這樣的限制,人們仍使用各種替代方案來實現列表擴展。很多使用現有的不能改變的模式的客戶經常提出這一要求。他們希望在添加新功能的同時保持向后兼容性。本文中,您將會看到模式設計者如何克服障礙實現該功能。
枚舉列表 是特定數據點的一組指定值。例如,您也許通過固定的值列表查看國家代碼,包括 DE(德國)、US(美國)和 JP(日本)。根據給定的值集,當一個新國家被識別出時,如 TL(東帝汶)或者 BA(波斯尼亞及黑塞哥維那),該怎么辦?使用以前的名稱列表的客戶必須改變實現來容納新值。
當使用 XML 模式對數據建模時,枚舉值被顯式列出。因此,國家代碼列表依次包含各個枚舉值。經常需要識別列表中的新值,而且必須將其容納到列表中,模式設計者試圖找到一種擴展列表的方法,實際上,是將這種方法構建到設計中,允許添加在設計時未知的附加值。
創建可擴展的枚舉列表
在尋找這一問題的解決方案時,受到四個關鍵標準的影響:
首先,要在設計階段之后擴展列表。不管是快速建立一個新的貿易伙伴還是建立時間關鍵型的新數據字段,在關鍵時刻進行擴展是一項實際需求。
其次,能夠在解析器中驗證值對于簡化實現是非常關鍵的。
第三,在單個周期內完成解析和驗證是至關重要的。這就避免了像 Genericode 解決方案一樣,在一個單獨的周期和解析器中進行驗證。對于某些設置來說,添加新技術需求會導致成本太高或者太耗時。
最后,解決方案必須能夠向后兼容原始的模式。不兼容的列表更改不能稱為擴展。
有些人認為根本就不應該擴展枚舉列表。數據建模人員也許認為如果想讓模型包含更多數據、擴展模型,那么可以根據產品創建模式 — 實際上,在需要時創建更大的模型并減少限制。如果能夠控制原始模式和數據模型,這樣做是可以的,這種方法也許是理想的方法。但是,如果您需要在設計階段之后進行實際擴展,這樣的方法是行不通的。
還有人認為擴展枚舉列表的關鍵是不使用 XML 模式驗證解析器。Genericode(參閱 參考資料)建議在第二層對枚舉列表進行驗證,脫離初始的 XML 模式解析器驗證過程。這種理論是正確的,而且這種方法的應用會越來越廣泛。但是,如果要在一個解析周期內完成,這種解決方案是無法做到的。在某些情況下,不可能執行第二個驗證周期。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美三级欧美成人高清www | 在线看免费观看av | 91网站免费在线观看 | 中文字幕一区在线观看视频 | 久久精品亚洲欧美日韩精品中文字幕 | 综合在线视频 | 亚洲日韩中文字幕一区 | 亚洲精品成人久久久 | 男女羞羞视频在线免费观看 | 久久亚洲网 | 在线成人免费视频 | 亚洲特黄a级毛片在线播放 久久久入口 | 日产精品一区二区三区在线观看 | 激情亚洲一区二区 | 黄色av网站免费 | 欧美成人一区二区三区 | 久久精品一区二区三 | 国产精品白嫩白嫩大学美女 | 亚洲码无人客一区二区三区 | 久久99精品久久久久久小说 | 亚洲综合视频一区 | 日韩中文字幕一区二区三区 | 一区二区久久精品66国产精品 | 黄色免费播放网站 | sm高h视频 | 福利一区二区三区视频在线观看 | 成人男女啪啪免费观看网站四虎 | 国产一级毛片国产 | 成人午夜在线免费观看 | 欧美性生视频 | 日本黄色免费片 | 亚洲午夜天堂吃瓜在线 | 久久精品亚洲一区 | 国产精品久久久乱弄 | 国产精品自拍片 | 欧美激情精品久久久久久黑人 | 日本爽快片100色毛片视频 | 日本一区免费看 | 黄色免费在线电影 | 国产流白浆高潮在线观看 | 日本欧美一区二区三区在线观看 |