[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
增加的新的 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 這個型態,
就能處理單個整數、多個整數,以及空值的情況囉~^^
(本頁面已被瀏覽過 686 次)