2012-03-18 53 views
1

假設我們有一些.xml包含,除其他事項外,MIDI音符數據文件。由於MIDI音符值必須是有限整數(它們不能是負數,並且必須小於或等於某個最大值,例如108),所以我們要設置一些.xsd文件來幫助驗證文件,同時強制使用有界整數規則。使用多個文件的單個元素聲明

是否有任何可用的機制,讓我執行的0108,或者甚至一個midi「類型」的界限,但以這樣的方式,這樣我只需鍵入它一次,並且只一次

包括下面的每一個模式文件中的每個MIDI元素的代碼片段是壞的所有原因很明顯 - 這是煩人的,容易出錯,難以維持等

<xs:element name="note"> 
    <xs:simpleType> 
     <xs:restriction base="xs:positiveInteger"> 
      <xs:maxExclusive value="108"/> 
     </xs:restriction> 
    </xs:simpleType> 
</xs:element> 

我怕我「M缺少一些基本的瞭解/術語,以便能夠得到一個答案,從谷歌先生這個問題。

+0

當你寫一個全功能的開源MIDI音序器,請讓我知道,我將使用它生活肯定的! :-) – dAm2K 2012-03-18 11:29:01

回答

2

是,聲明命名類型,然後引用它:

<xs:element name="note" type="NoteType"/> 

<xs:simpleType name="NoteType> 
    <xs:restriction base="xs:positiveInteger"> 
     <xs:maxExclusive value="108"/> 
    </xs:restriction> 
</xs:simpleType> 

你可以參考NoteType多次,因爲你需要。