XML枚举-使用带空格的值并使用多选

XML枚举-使用带空格的值并使用多选,xml,xml-validation,Xml,Xml Validation,第一个问题写在上面:我能不能使用空格 <xs:simpleType name="Testing"> <xs:restriction base="xs:string"> <xs:enumeration value="my sample spaced value"/> <xs:enumeration value="my second spaced value"/> <xs:enumeration val

第一个问题写在上面:我能不能使用空格

<xs:simpleType name="Testing">
    <xs:restriction base="xs:string">
      <xs:enumeration value="my sample spaced value"/>
      <xs:enumeration value="my second spaced value"/>
      <xs:enumeration value="myThirdValue"/>
      <xs:enumeration value="myFourthValue"/>
    </xs:restriction>
  </xs:simpleType>

我发现的是:

但另一方面,它说它可以是任何简单的类型:

我可以通过w3c规范中的段落链接来解决这个问题吗

第二个问题是,当我选择多个答案时,它如何进行验证,因此输出如下:

<testing>myThirdValue myFourthValue</testing>
myThirdValue myFourthValue
我得到:

cvc枚举有效:值“myThirdValue myFourthValue”对于枚举“[my sample spaced Value,my second spaced Value,myThirdValue,myFourthValue]”无效。它必须是枚举中的值

当空格被用作分隔符并且我的值名中有空格时,它怎么能不疯狂呢

<testing>my sample spaced value my second spaced value</testing>
我的样本间隔值我的第二个间隔值
我必须指定一个模式才能解析多个值吗

谢谢

XMLDTD!=XML模式(XSD),因此链接到的so问题/答案不适用于您的问题

4.3.5.5枚举模式组件的约束

架构组件约束:枚举有效约束

如果{value}的任何成员不在{base的·value空间中,则为·error 类型定义}

因此,如果基类型是
xs:string
(如示例中所示),则值可以包含空格

(如果我正确阅读规范。测试似乎支持我的理解。)

其他例子

如果您的基本类型是xs:NMTOKEN,则您的值不能包含空格


如果您的基本类型是
xs:NMTOKENS
(复数),那么您的值可以包含空格。

谢谢您的回复,我在第一篇文章中提供了一些关于为什么它让我头疼的更多信息。@Wynarator-您可以使用
xs:list
来拥有多个值,但我不知道如果你的价值观有空间,你怎么能做到这一点。