2009-10-29 54 views
2

我有一個表示文件版本編號的XML屬性。Xml模式限制。表示版本號的「x.x」屬性值的模式

文件版本由兩個字節的字段內部標識,因此理論上版本可以從0.1到255.255。

有什麼方法可以將它表示爲XML模式中的模式限制或任何其他類型的限制嗎?

注意:問題不在於限制格式爲三個數字,一個點和另外三個數字。問題是不允許值大於255 ...

回答

3

認爲這應該做的伎倆(沒有機會來檢查我害怕)...

<xs:simpleType name="version"> 
    <xs:restriction base="xs:string"> 
     <xs:pattern value="([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])[.]([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"/> 
    </xs:restriction> 
</xs:simpleType> 
-1

這比我想象的要容易得多。當最大最小值變得更容易時,我專注於模式限制。

<xs:restriction base="xs:double"> 
    <xs:maxInclusive value="255.255" /> 
    <xs:minInclusive value="0.1" /> 
</xs:restriction> 

允許包含0.1到255.255的值。

+0

我不知道這會做你想要什麼?它不會允許,例如,0.256,因爲它小於255.255? – 2009-10-29 14:45:17