2011-06-02 67 views
3

有沒有辦法定義一個常量值並在前面的XSD中使用該常量?我有一個共同的價值,我想用於各種xs:元素標籤的maxOccurs屬性。與其他語言中的常量一樣,如果MyConst的值有變化,我想在一個地方進行更改。如何在XSD中定義常量

<!-- Can I do this? --> 
<ConstantValue id="MyConst" value="10"/> 
... 
<xs:element name="sandwich_meat" type="xs:string" minOccurs="0" maxOccurs="MyConst"/> 
<xs:element name="sandwich_name" type="xs:string" minOccurs="0" maxOccurs="MyConst"/> 

回答

1

不,這是不允許的。然而,你可以在你的XSD頂部的某個地方定義你自己的類型(固定值),並使用該類型作爲元素。

1

這是不可能用普通模式,但也許XML entities會做的伎倆?

0

你可以嘗試定義有限制的簡單類型:

<xs:simpleType name="AConstantHere"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="CONSTANT_VALUE_HERE"/> 
    </xs:restriction> 
    </xs:simpleType> 

它允許只有一個值。