Domanda

Ho bisogno di ridefinire un documento XML e lo schema per la mia azienda. Il documento in questione è diviso in una serie di sezioni che contengono ciascuno informazioni su un farmaco, per esempio;

<dosage>overview of dose info
   <elderly>doses for elderly patients</elderly>
   <children>doses for children</children>
</dosage>
<administration>info about administering the med...</administration>

Sono fermamente convinto che i nomi degli elementi devono essere modificati per riflettere ciò che l'elemento è per esempio <section> con un attributo che descrive il contenuto: <section displayName='dosage'>. Non tutti i miei colleghi sono d'accordo.

E 'il mio pensiero corretto e chiunque può fornire i principi guida per elemento nomenclatura che hanno trovato utili nella pratica?

È stato utile?

Soluzione

Si consideri il caso di elderly e children. Il tag deve definire che cosa è - in questo caso sono entrambi istruzioni di dosaggio specifici per un certo tipo di persona. Ma usando children e elderly non comunica queste informazioni - non c'è alcuna relazione lì. Se invece fosse <instructions target="elderly">...</instructions>, quel rapporto viene mantenuta. Entrambi sono instructions per diversi targets.

Per le sezioni dosage e administration, sia di quelli potrebbe essere considerato proprietà del farmaco. Quello che fai qui dipende dalla struttura dell'intero documento e come sarà analizzato. Mi sembra che dosage è molto diverso da administration. Se si dovesse definire questo come un oggetto in un OOL, si avrebbe:

class Medication
{
    Dictionary<string, string> dosageInstructions; //or <PersonType, string>, preferably
    string administrationInfo;
}

Entrambi questi sono diverse proprietà, e non c'è alcuna reale parallelo tra di loro (beh, diverso da quello che sono entrambe le proprietà del farmaco). Non credo che sarebbe utile a astratto che non più di quanto lo sia già, ma è qualcosa che potrebbe essere sostenuto in entrambi i casi in base alla struttura di tutto il documento e come sta andando per essere utilizzato.

Per esempio, se avete intenzione di stampare una lista di coppie chiave-valore, (per esempio, una chiave è administration e che il valore è l'info) per un gruppo di diverse proprietà, allora questo è il modo di andare. Ma dosage ha una struttura diversa da administration, quindi non credo che quel particolare astrazione sarebbe utile. Se ogni farmaco ha un insieme fisso di possibili proprietà (dosaggio, informazioni amministrazione, ecc), che saranno tutti essere trattati in modo diverso, a mio parere sarebbe logico utilizzare i tag distinti per tutti loro.

Per quanto riguarda i principi guida generali, io di solito penso "come mi definirei questo documento come un oggetto", quindi prendere in considerazione quale sarebbe stata la serializzazione XML di quell'oggetto. Questo funziona per me, perché io sono molto più abituato a lavorare con gli oggetti, ma la vostra situazione potrebbe essere diversa. E ci sono certamente casi in cui questo non è l'approccio migliore - per esempio, se si sta veramente che rappresenta un documento , come HTML, che poi non è la strada da percorrere. Ma se si sta utilizzando XML per definire una struttura di dati regolare, dovrebbe in genere di lavoro.

Altri suggerimenti

Ho trovato che in genere è un po 'più chiara di avere l'XML definito come nell'esempio che hai fornito.

<dosage>
   <elderly>doses for elderly patients</elderly>
   <children>doses for children</children>
</dosage>
<administration>info about administering the med...</administration>

Per fare un esempio estremo del vostro nomenclatura proposta si potrebbe finire con questo:

<field name="dosage">
    <field name="elderly">doses for elderly patients</field>
    <field name="children">doses for children</field>
</field>

Naturalmente, alla fine tutto dipende dalla specifica applicazione, ma in generale mi avrebbe cercato di enities e proprietà astratte dal mondo reale a XML, per quanto è necessario, ma non di più.

Quindi in questo esempio elemento "sezione" è un overabstraction.

penso che sta andando un po 'lontano. Seguo una regola di, ha senso semantica fuori dal contesto? Sezione potrebbe avere senso fuori dal contesto, ma si sa che stai perdendo informazione semantica che è rilevante. Così che cosa abbiamo bisogno di sapere su di esso? Che contiene informazioni doosage. Quindi, forse, dosageinfo sarebbe meglio?

In seguito lo stesso approccio per anziani e bambini che avrebbero assunto questi elementi rappresentano gli anziani ei bambini. Uhm ... non proprio. Se i loro nomi riflettono ciò che fanno, sarebbero qualcosa di più simile a:

<dosageinfo>
<dosage recipient="elderly">Blah</dosage>
<dosage recipient="children"></dosage>
</dosageinfo>

Detto questo, questo non è certamente un metodo formale -. Non ho mai realmente visto un metodo formale proposto

Mentre io sono qui, e avere una significativa esperienza con la gestione di dati clinici in vari modi, mi piacerebbe anche suggerire di cercare di ottenere un po 'del vostro testo libero in dati XML formalizzati, anche se si deve utilizzare linguaggio naturale Parsing a raccogliere un po '. Tutti i dati formalizzati, i dati anche AI-estrapolò fintanto che la sua adeguatamente rappresentati in quanto tale, può fare l'interrogazione delle informazioni molto più facile in futuro. Potrebbe non essere rilevante per lo scenario, ma mi sento vale la pena di prendere in considerazione.

Dati in testo libero è utile solo come informazione. I dati nelle relazioni è di dati e informazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top