我正在爲來自外部系統的xml創建一個模式。我有模擬這種類型的問題:如何在xml模式中對此進行建模?
<main>
...
<Foo TYPE="Numeric"/>
<Bar TYPE="Numeric">12.0</Bar>
...
</main>
我已創建一個類型擴展雙:
<xs:complexType name="myNumeric">
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="TYPE" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
....
<xs:element name="Foo" type="myNumeric" />
<xs:element name="Bar" type="myNumeric" />
然而,這還不夠好,當我嘗試驗證我得到一個錯誤抱怨的架構:''不是'double'的有效值。
任何提示?
謝謝
謝謝,這是偉大的,但它意味着我需要修改輸入XML。我不是在控制xml代,我想避免在可能的情況下對其進行預處理。 –
然後我想不出如何做到這一點,而不是延遲打印到下游進程,並將所有內容都作爲xs:字符串。這不是一個好的解決方案。 –