In primo luogo sto iniziando a creare un formato / struttura XML standard per i nostri utenti. Gli obiettivi sono:
- XML che può essere utilizzato per più organizzazioni
- XML che può essere utilizzato per mappare i dati di sistema esterni ai nostri dati di sistema
- La struttura XML dovrebbe essere nelle migliori pratiche
- XML dovrebbe essere adattabile per cambiare
Quanto sopra sono gli obiettivi, quindi la nostra struttura iniziale, XML degli utenti, sarebbe simile a questa:
<users>
<user>
<firstName></firstName>
<lastName></lastName>
<email></email>
<!-- .. some user child node here -->
</user>
</users>
Quindi sto pensando a cosa succederebbe se questa struttura crescesse e potessi avere diversi oggetti associati all'utente come:
<users>
<user>
<firstName></firstName>
<lastName></lastName>
<email></email>
<element1>
<child1></child1>
</element1>
<element2>
<child1></child1>
<child2>
<innerChild1></innerChild1>
</child2>
</element2>
</user>
</users>
Quindi dovrei implementare urn
namespace per identificare in modo univoco lo stesso named <element>
. È qui che lo spazio dei nomi è utile.
Le mie domande sono:
- Devo implementare lo spazio dei nomi implementandolo sul campione XML iniziale?
- Quando utilizzare l'attributo anziché creare elementi come nodo figlio?
- Le migliori pratiche che potrei utilizzare per il nostro XML possono essere modificabili per cambiare?
- Quali sono le cose che dovrei impedire durante la creazione o la strutturazione di XML?
Nota: stiamo utilizzando XML anziché JSON perché la maggior parte dei nostri utenti utilizza XML.