2

我是模式设计的新手。

我正在尝试为 XML 中的元素设置多个值,如下所示:

<EVENT>SYS_EVENT, TEMP_EVENT </EVENT>

EVENT 我使用列表、枚举等尝试了元素的各种模式设计。

但很不幸,它似乎对我不起作用。我尝试了空格而不是逗号,但它仍然设置单个值。

我真的很感激任何帮助。

我正在使用 Altova XMLSpy 进行架构设计。

<xs:element name="EVENT">
    <xs:simpleType>
        <xs:list>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="SYS_EVT"/>
                    <xs:enumeration value="CON_MGT_EVT"/>
                    <xs:enumeration value="PWR_MGT_EVT"/>
                    <xs:enumeration value="TEMP_EVT"/>
                    <xs:enumeration value="APP_MGT_EVT"/>
                    <xs:enumeration value="CFG_MGT_EVT"/>
                </xs:restriction>
            </xs:simpleType>
         </xs:list>
    </xs:simpleType>
</xs:element>
4

1 回答 1

2

您非常接近 - 只需进行两个简单的更改:

  1. 在列表成员之间使用空格,而不是逗号。
  2. 注意准确匹配拼写:SYS_ EVENT vs SYS_ EVT等。

所以,如果你保留你的 XSD 并改变你的 XML,

<EVENT>SYS_EVT TEMP_EVT</EVENT>

然后 XML 将根据您的 XSD 成功验证。

于 2016-12-08T02:04:38.393 回答