Pregunta

Me necesidad de redefinir un documento XML y esquema para mi empresa. El documento en cuestión se divide en una serie de secciones que contienen cada uno la información sobre un medicamento, por ejemplo;

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

Creo firmemente que los nombres de los elementos deben modificarse para reflejar lo que el elemento es, por ejemplo <section> con un atributo que describe el contenido: <section displayName='dosage'>. No todos mis colegas están de acuerdo.

Es mi forma de pensar correcta y ¿alguien puede proporcionar principios rectores para la nomenclatura elemento que se han encontrado útiles en la práctica?

¿Fue útil?

Solución

Considere el caso de elderly y children. La etiqueta debe definir lo que es - en este caso, ambos son instrucciones de dosificación específico para un determinado tipo de persona. Pero el uso de children y elderly no se comunica esta información - no hay ninguna relación allí. Si por el contrario se tratara <instructions target="elderly">...</instructions>, se mantiene esa relación. Ambos son instructions para diferentes targets.

En las secciones dosage y administration, tanto de los que podría ser considerado como propiedades de la medicación. Lo que se hace aquí depende de la estructura de todo el documento y cómo se va a analizar. Me parece que dosage es muy distinta de administration. Si estaba definiendo esto como un objeto en un ERRAMIENTA, tendría que:

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

Ambos son diferentes propiedades, y no hay verdadera paralelo entre ellos (bueno, aparte de que los dos son propiedades de la medicación). No creo que sería útil para abstracto que más de lo que ya es, pero es algo que se podría argumentar de cualquier manera sobre la base de la estructura de todo el documento y cómo se va a utilizar.

Por ejemplo, si se va a imprimir una lista de pares de clave y valor, (por ejemplo, una de las claves es administration y ese valor es la información) para un montón de diferentes propiedades, a continuación, que es el camino a seguir. Pero dosage tiene una estructura distinta de administration, así que no creo que esa abstracción particular, sería útil. Si cada medicamento tiene un conjunto fijo de posibles propiedades (dosis, información de administración, etc) que todo ser tratadas de manera diferente, a continuación, en mi opinión, sería lógico utilizar distintas etiquetas para todos ellos.

En cuanto a los principios rectores generales, en general, creo que "¿cómo podría definir este documento como un objeto", y luego considerar lo que sería la serialización XML de ese objeto. Esto funciona para mí porque soy mucho más acostumbrado a trabajar con objetos, pero su experiencia puede variar. Y sin duda hay casos en los que no es el mejor enfoque - por ejemplo, si usted está realmente representa un documento , como HTML, entonces ese no es el camino a seguir. Pero si usted está usando XML para definir una estructura de datos regular, lo que debería por lo general el trabajo.

Otros consejos

He encontrado que por lo general es un poco más claro para que el XML definido como en el ejemplo que nos ha facilitado.

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

Como un ejemplo extremo de su nomenclatura propuesta que podría terminar con esto:

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

Por supuesto, al final todo depende de la aplicación específica, pero en general me gustaría probar a enities abstractas y las propiedades del mundo real a XML tanto como sea necesario, pero no más.

Así que en este ejemplo el elemento "sección" es un exceso de extracción.

creo que va un poco lejos. Sigo una regla, ¿tiene sentido semántico fuera de contexto? Sección podría tener sentido fuera de contexto, pero usted sabe que está perdiendo información semántica que es relevante. Entonces, ¿qué es lo que necesitamos saber acerca de ella? Que contiene información doosage. Así que tal vez dosageinfo sería mejor?

Siguiendo el mismo enfoque para ancianos y niños que asumiría estos elementos representan las personas mayores y los niños. Um ... no realmente. Si sus nombres reflejan lo que hacen, que serían algo más parecido a:

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

Dicho esto, esto no es ciertamente un método formal -. En realidad nunca he visto un método formal propuso

Mientras yo estoy aquí, y que tiene una importante experiencia con el manejo de los datos clínicos de diversas maneras, me gustaría también sugieren que tratar de obtener algo de su texto libre en datos XML formalizadas, incluso si usted tiene que utilizar lenguaje natural de análisis de recoger alguna de ella. Cualquier dato formalizados, los datos incluso obtenida por la IA tan largas como su adecuadamente representada como tal, puede hacer la consulta de la información mucho más fácil en el futuro. Puede que no sea relevante para su escenario, pero siento que vale la pena considerar.

Los datos en texto libre sólo es útil como información. Los datos en las relaciones es datos e información.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top