Ho un formato di file xml simile a questo:
<topLevelTag>
<category name="foo">
<item attrib="value">ItemName</item>
<item attrib="value2">AnotherItem</item>
</category>
<category name="bar">
<item attrib="value">ItemName</item>
<item attrib="value2">AnotherItem</item>
</category>
</topLevelTag>
Il codice che analizza questo crea un'istanza di ItemName
e viene detto che è una categoria è, nel primo caso, "foo"
, e quindi crea una seconda istanza di ItemName
che ha associato la categoria "bar"
.
Il problema è che ho bisogno di riprogettare il sistema in modo che ogni Item
possa avere più di un Category.
Ma devo ancora essere in grado di creare anche più elementi. Ad esempio (utilizzando punti elenco anziché xml), potrebbe essere necessario creare le seguenti istanze:
-
%codice%
- Categoria principale -
ItemName
- Categoria secondaria -
"foo"
- Categoria principale -
-
%codice%
- Categoria principale -
"bar"
- Categoria secondaria -
ItemName
- Categoria principale -
-
%codice%
- Categoria principale -
"bar"
- Categoria secondaria -
"foo"
- Categoria principale -
-
%codice%
- Categoria principale -
ItemName
- Categoria secondaria -
"foo"
- Categoria terziaria -
"quux"
- ecc. (nessun limite)
- Categoria principale -
-
%codice%
- ecc.
- ecc. (nessun limite)
Come posso progettare il mio formato XML per incapsulare questa relazione molti-a-molti?
I am aware this question is on the borderline between StackOverflow and Programmers. I chose to put it here because it is a software architecture and design question. If not please let me know and I'll be happy to move it. Precedent one | Precedent two | Precedent three