How to add the same attribute multiple times to an Element Tag in XML

14,940

You can't. Attribute names are unique per element.

If you need to have multiple bits of data under the same name, then the usual solutions are either a space separated list or child elements.

<event department="foo bar baz" />

or

<event>
    <department>foo</department>
    <department>bar</department>
    <department>baz</department>
</event>
Share:
14,940

Related videos on Youtube

Noobie
Author by

Noobie

Updated on October 19, 2022

Comments

  • Noobie
    Noobie over 1 year

    In an XML Schema (XSD) I am writing, I need to define an attribute which can occur multiple times inside its parent element.

    Just to clear it with an example : the parent element represent events, and it supports different attributes like a title and an occurrence date for instance. One of the attributes called department is the organizing department. An event may be organized by one, or many departments.

    I want to know if XSD can handle multiple instances of the same attribute in an element or if this is beyond the scope of XML Standard ?

  • Chucky
    Chucky about 11 years
    Given the fact that space separated lists are not very easy to manage using XSL (most users don't really develop heavily in XSL to know how to do this) and this does not help XPath expressions to be more readable... my two cents.