[XML] 使用 Regular expression 檢查 XML schema

[XML] 使用 Regular expression 檢查 XML schema

今天專案遇到一個問題,XML 的某個欄位平常是整數,

因此我們可以在 schema 裡用下面這樣的定義:

<xs:element type="xs:integer" name="Tag"/>

 

不過其實這欄位有可能有多個整數,用逗號隔開,

像是 1,2,3,因此我們的 schema validation 就失敗了~

要解決這個問題,得定義自己的一個 simpleType 來描述這個欄位~

像這種東西相當適合用 regular expression 來表示~

 

參考資料:

MSDN: XML Schema Regular Expressions

Regular Expression Tester

 

增加的新的 simpleType 與使用方法如下:

<xs:simpleType name="integer-list-or-empty">
<xs:restriction base="xs:string">
<xs:pattern value="([0-9]+(,[0-9]+)*)?" />
</xs:restriction>
</xs:simpleType>
<xs:element type="integer-list-or-empty" name="Tag"/>

 

用上面的 integer-list-or-empty 這個型態,

就能處理單個整數、多個整數,以及空值的情況囉~^^

 

(本頁面已被瀏覽過 208 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料