为 XML 中的元素设置多个值

Set multiple values for an element in XML

我是模式设计的新手。

我正在尝试为 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>

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

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

因此,如果您保持 XSD 不变并更改 XML,

<EVENT>SYS_EVT TEMP_EVT</EVENT>

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