2011-04-26 52 views
0

我需要爲下面的結構的XSD:XSD的元素或OtherElement或文本

Expression := <FunctionCall> | <OperatorConstruct> | <Variable> | Constant_Text 

換句話說,表達式類型由其他3種類型與文本之間進行選擇的。
我知道有一個xs:Choice元素,但我無法弄清楚如何編寫「或文本」部分。在Expression元素上簡單地使用mixed = true可以輸入文本和其他元素,但是我想限制這四個元素中的一個。
所以問題是,我可以定義哪些xsd允許三個元素之一或文本?

回答

1

如果您希望您的結構通過XML Schema進行驗證,則必須將所有四個選項設置爲元素。 MathML表達式以這種方式工作,每個術語都有元素。

或者您可以使用mixed並驗證XSD之外的結構(使用XSLT或Schematron或您自己的解析代碼)。