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

Noo*_*bie 8 xml schema xsd

在我写的XML Schema(XSD)中,我需要定义一个可以在其父元素内多次出现的属性.

只是用一个例子来清除它:父元素代表事件,它支持不同的属性,例如标题和出现日期.其中一个属性department是组织部门.活动可以由一个或多个部门组织.

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

Que*_*tin 12

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

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

<event department="foo bar baz" />
Run Code Online (Sandbox Code Playgroud)

要么

<event>
    <department>foo</department>
    <department>bar</department>
    <department>baz</department>
</event>
Run Code Online (Sandbox Code Playgroud)

  • 鉴于事实是,使用XSL分隔列表并不是很容易管理(大多数用户并没有真正在XSL中发展出很多知识来知道如何做到这一点),这并没有帮助XPath表达式更易读...我的两分钱。 (2认同)