2012-09-30 33 views
6

En un esquema XML (XSD) que estoy escribiendo, necesito definir un atributo que puede aparecer varias veces dentro de su elemento primario.Cómo agregar el mismo atributo varias veces a una etiqueta de elemento en XML

Solo para borrarlo con un ejemplo: el elemento principal representa eventos, y admite diferentes atributos como un título y una fecha de aparición, por ejemplo. Uno de los atributos llamados department es el departamento de organización. Un evento puede ser organizado por uno o muchos departamentos.

Quiero saber si XSD puede manejar varias instancias del mismo atributo en un elemento o si esto está más allá del alcance de XML Standard?

Respuesta

11

No puede. Los nombres de atributos son únicos por elemento.

Si necesita tener varios bits de datos con el mismo nombre, las soluciones habituales son una lista separada por espacios o elementos secundarios.

<event department="foo bar baz" /> 

o

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

Teniendo en cuenta el hecho de que el espacio separado las listas no son muy fáciles de manejar utilizando XSL (la mayoría de los usuarios no se sabe muy fuertemente en desarrollar XSL para saber cómo hacer esto) y esto hace no ayuda a que las expresiones XPath sean más legibles ... mis dos centavos. – Chucky

Cuestiones relacionadas