1 00:00:00,170 --> 00:00:04,990 En este vídeo vamos a ver un poco la diferencia entre atributos y valores en un XML. 2 00:00:05,950 --> 00:00:13,349 En la tarea de la unidad 1, en la parte de las recetas, ha habido mucha gente que todos los valores los ha puesto como atributos. 3 00:00:13,849 --> 00:00:21,109 No está mal, está bien. Lo que pasa es que en función de lo que queramos conseguir, a veces conviene ponerlos de una manera o de otra. 4 00:00:21,230 --> 00:00:24,329 Vamos a ver si con este vídeo lo podemos dejar un poquito más claro. 5 00:00:26,870 --> 00:00:32,189 Los valores como atributos, como os digo, no es incorrecto, pero sí puede acarrear a veces ciertos problemas en el diseño. 6 00:00:32,189 --> 00:00:42,570 Como veis aquí en la parte izquierda, tenemos puestos los datos España y Francia y la capital Madrid-París como atributos directamente sin valores en el XML. 7 00:00:43,450 --> 00:00:50,570 Y esta parte de la derecha sería la misma versión pero poniendo cada valor como una etiqueta diferente para el nombre y para la capital. 8 00:00:51,570 --> 00:00:53,829 ¿Cómo diferenciamos o cómo hacer una forma u otra? 9 00:00:53,829 --> 00:00:58,689 Bien, pues al contrario que en los valores, los atributos los tenemos limitados 10 00:00:58,689 --> 00:01:04,250 En atributos no podemos contener valores múltiples, no pueden contener una estructura de árbol 11 00:01:04,250 --> 00:01:08,230 y tampoco se pueden expandir fácilmente para los futuros cambios 12 00:01:08,230 --> 00:01:12,269 ¿Qué debemos hacer con los atributos? ¿Para qué sirven realmente? 13 00:01:12,269 --> 00:01:18,590 Pues para guardar los metadatos, los datos que nos dan información sobre los datos finales 14 00:01:18,590 --> 00:01:22,489 y los datos en sí mismos se deben grabar como elementos 15 00:01:22,489 --> 00:01:29,629 Por ejemplo, aquí tenemos relativo al ejemplo que teníamos en la unidad 16 00:01:29,629 --> 00:01:37,829 Cómo hacer el puré de verduras teniendo como ingrediente la cantidad, la unidad y el nombre como atributos 17 00:01:37,829 --> 00:01:40,209 Y luego realmente como elementos nada 18 00:01:40,209 --> 00:01:44,950 Si lo vemos en un parser, aquí que tenemos los tenemos como atributos 19 00:01:44,950 --> 00:01:47,310 No nos muestra absolutamente nada en el ingrediente 20 00:01:47,310 --> 00:01:51,650 En cambio aquí que está hecho cada uno con su etiqueta, sí que nos lo muestra 21 00:01:51,650 --> 00:01:53,689 ¿Cómo lo haría yo en este caso? 22 00:01:54,810 --> 00:01:59,209 En este caso yo lo que haría sería poner el nombre y la cantidad como etiquetas diferentes 23 00:01:59,209 --> 00:02:02,310 para que veáis que el parser sí que nos lo muestra 24 00:02:02,310 --> 00:02:09,050 y dejar como atributos, por ejemplo, en este caso, un identificador para cada ingrediente 25 00:02:09,050 --> 00:02:10,710 eso sí lo pondría como atributo 26 00:02:10,710 --> 00:02:14,289 Resumiendo, ¿cuándo los utilizaría? 27 00:02:15,229 --> 00:02:20,550 Pues yo utilizaría elementos o valores cuando esta información es esencial en el XML 28 00:02:20,550 --> 00:02:25,169 cuando la información va a ser procesada por una persona para que sea más visual 29 00:02:25,169 --> 00:02:29,530 y si deseo guardar la información de una forma más estructurada 30 00:02:29,530 --> 00:02:34,370 y sobre todo si el elemento va a ser modificado en función del valor de uno de sus atributos 31 00:02:34,370 --> 00:02:38,050 si hay dos valores que son como atributos, por ejemplo tenemos edad y fecha 32 00:02:38,050 --> 00:02:42,969 si los dos son atributos uno no se puede modificar en función del otro 33 00:02:42,969 --> 00:02:44,449 en cambio si son valores, sí 34 00:02:44,449 --> 00:02:46,669 ¿Cuándo utilizaría atributos? 35 00:02:46,669 --> 00:02:55,889 Pues cuando bien los datos son secundarios o bien solamente van a ser usados por programas, si son usados por programas dan igual si lo hacéis de una manera o de otra. 36 00:02:56,830 --> 00:03:00,129 La máquina generalmente va a mirar donde nosotros le mandemos. 37 00:03:01,189 --> 00:03:12,469 Si la información también la queremos moldar de una forma un poco más abreviada, como habéis visto, si ponemos todo como atributo lo ponemos en una sola línea y nos queda un XML un poco más corto. 38 00:03:12,469 --> 00:03:14,930 Y sobre todo si el elemento no va a ser modificado. 39 00:03:14,930 --> 00:03:21,669 Espero que con esto más o menos os haya quedado un poco claro de cuándo utilizar valores o cuándo utilizar atributos 40 00:03:21,669 --> 00:03:27,789 aunque ya os digo, si queréis poner todos los valores como atributos no está mal, a veces un poco extraño pero no está mal 41 00:03:27,789 --> 00:03:35,889 Si tenéis alguna duda podéis ponerla en los foros y seguimos comentando y si no, me podéis escribir también