2012-09-30 121 views
6

在我写的XML模式(XSD)中,我需要定义一个可在其父元素内多次出现的属性。如何多次将相同的属性添加到XML元素标记中

只是要用一个例子来清除它:父元素表示事件,并且它支持不同的属性,例如标题和发生日期等。其中一个名为department的属性是组织部门。一个事件可能由一个或多个部门组织。

我想知道XSD是否可以在元素中处理同一属性的多个实例,或者这超出了XML标准的范围?

回答

11

你不能。每个元素的属性名称是唯一的。

如果您需要在同一名称下具有多位数据,那么通常的解决方案是空格分隔列表或子元素。

<event department="foo bar baz" /> 

<event> 
    <department>foo</department> 
    <department>bar</department> 
    <department>baz</department> 
</event> 
+1

鉴于空格分隔列表是不是很容易使用XSL来管理(大多数用户并不真正大量开发XSL知道如何做到这一点),这确实不能帮助XPath表达式更具可读性......我的两分钱。 – Chucky

相关问题