2012-09-30 2 views
6

In einem XML-Schema (XSD), das ich schreibe, muss ich ein Attribut definieren, das innerhalb seines übergeordneten Elements mehrmals vorkommen kann.So fügen Sie einem Element-Tag in XML das gleiche Attribut mehrfach hinzu

Nur um es mit einem Beispiel zu löschen: Das Elternelement repräsentiert Ereignisse und es unterstützt verschiedene Attribute wie einen Titel und ein Vorkommensdatum zum Beispiel. Eines der Attribute, das department genannt wird, ist die organisierende Abteilung. Eine Veranstaltung kann von einer oder mehreren Abteilungen organisiert werden.

Ich möchte wissen, ob XSD mehrere Instanzen des gleichen Attributs in einem Element behandeln kann oder wenn dies außerhalb des Bereichs von XML Standard ist?

Antwort

11

Sie können nicht. Attributnamen sind für jedes Element eindeutig.

Wenn Sie mehrere Datenbits unter demselben Namen benötigen, sind die üblichen Lösungen entweder eine durch Leerzeichen getrennte Liste oder untergeordnete Elemente.

<event department="foo bar baz" /> 

oder

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

In Anbetracht der Tatsache, dass der Raum getrennten Listen sind nicht sehr einfach XSL zu verwalten verwenden (die meisten Anwender nicht wirklich schwer in XSL entwickeln zu wissen, wie dies zu tun), und dies tut XPath Ausdrücke nicht besser lesbar zu sein ... meine zwei Cent. – Chucky

Verwandte Themen