如何在XML中多次为元素标记添加相同的属性

9
在我编写的XML Schema(XSD)中,我需要定义一个属性,在其父元素内可以出现多次。
举个例子:父元素代表事件,并支持不同的属性,比如标题和发生日期。其中一个名为“department”的属性是组织部门。一个事件可能由一个或多个部门组织。
我想知道XSD是否可以处理元素中同一属性的多个实例,或者这是否超出了XML标准的范围?
1个回答

15

无法实现。每个元素的属性名称都是唯一的。

如果你需要在相同的名称下拥有多个数据位,通常的解决方案要么是使用空格分隔的列表,要么是使用子元素。

<event department="foo bar baz" />
或者
<event>
    <department>foo</department>
    <department>bar</department>
    <department>baz</department>
</event>

3
考虑到使用空格分隔的列表在 XSL 中不太容易管理(大多数用户实际上并不熟练于 XSL,不知道如何处理此类列表),而且这也不能使 XPath 表达式更易读...... 这是我的个人看法。 - Chucky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接