我試圖在XSD中定義一個元素類型,爲此我想要一個可選屬性,如果存在可以包含浮點數或爲空(但仍然存在)。XSD:限制屬性爲xs:float或「」
即:
<xs:element name="MyElement">
<xs:complexType>
<xs:attribute name="optionalFloatAttribute" type="xs:float" use="optional"/>
</xs:complexType>
</xs:element>
需要「修復」,讓所有遵循XML: -
<MyElement/>
or
<MyElement optionalFloatAttribute=""/>
or
<MyElement optionalFloatAttribute="3.14159"/>
我可以看到這樣做的唯一方法是改變類型爲xs:string
,和用正則表達式使用xs:restriction
。但是這對我來說並不是很理想。有沒有更好的辦法?
而我有能夠支持這些XML的變化 - 程序和現有的XML是遺留的,我試圖回創建一個模式,以匹配我看到我們必須的無數變化視爲有效的XML。
我想你可以通過使用'complexType'做的屬性同樣的事情S'這是一個很好的答案,並解決了我的問題。 –