Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
元素或其他元素或文本的XSD_Xsd_Complextype - Fatal编程技术网

元素或其他元素或文本的XSD

元素或其他元素或文本的XSD,xsd,complextype,Xsd,Complextype,我需要以下构造的XSD: Expression := <FunctionCall> | <OperatorConstruct> | <Variable> | Constant_Text 表达式:=| | |常量|文本 换句话说,表达式类型由3种其他类型和一个文本组成。 我知道有一个xs:Choice元素,但我不知道如何编写'Or Text'部分。只需在Expression元素上使用mixed=true就可以输入文本和其他元素,但我只想将这四个元素中的一个限

我需要以下构造的XSD:

Expression := <FunctionCall> | <OperatorConstruct> | <Variable> | Constant_Text
表达式:=| | |常量|文本
换句话说,表达式类型由3种其他类型和一个文本组成。
我知道有一个
xs:Choice
元素,但我不知道如何编写'Or Text'部分。只需在Expression元素上使用mixed=true就可以输入文本和其他元素,但我只想将这四个元素中的一个限制在这四个元素中。

所以问题是,我可以定义什么样的xsd来允许三个元素中的一个或一个文本?

如果您想让XML模式验证您的结构,那么您必须将所有四个选择都放入元素中。表达式就是这样工作的,每个术语都有元素

或者您可以使用
mixed
并在XSD之外验证结构(使用XSLT或Schematron或您自己的解析代码)