La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/XML/1297503-Diseno-documento-xml-agenda-telefonica.html

Diseño documento xml agenda telefonica

Diseño documento xml agenda telefonica

Publicado por Carlos (3 intervenciones) el 21/11/2011 19:53:50
Buenas tardes, estoy intentando diseñar un documento xml sobre una agenda telefonica, pero es q no tengo ni idea de como va por mas q he leido el temario. Si fueran tan amables de ayudarme y asi ver como se realiza el ejercicio y ver como se diseña el documento.

El enunciado de lo que me piden es este:

Diseñar un documento válido en XML que permita estructurar la información de una agenda de teléfonos, suponer que la información que podemos tener de una persona es su nombre y apellidos, su dirección y sus teléfonos, que pueden ser el teléfono de casa, el móvil y el teléfono del trabajo.

Muchas gracias!!

Diseño documento xml agenda telefonica

Publicado por Mukuykak (59 intervenciones) el 23/11/2011 06:39:25
Saludos, Carlos.

Este es uno de tantos posibles diseños del archivo XML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="iso-8859-1"?>
<agenda>
<contacto>
<nombre>Juan</nombre>
<apellido>Pérez</apellido>
<direccion>Calle 12. Ave. Del Silencio</direccion>
<telefonos>
<telcasa>11223344</telcasa>
<telmovil>22334455</telmovil>
<teltrabajo>33445566</teltrabajo>
</telefonos>
</contacto>
<contacto>
<nombre>Pedro</nombre>
<apellido>López</apellido>
<direccion>Calle 13. Ave. Del Silencio</direccion>
<telefonos>
<telcasa>44332211</telcasa>
<telmovil>55443322</telmovil>
<teltrabajo>66554433</teltrabajo>
</telefonos>
</contacto>
</agenda>


La primera línea indica que es un archivo xml e indica la versión y el tipo de caracteres
que puede soportar.
La segunda línea, <agenda>, es el nombre del nodo padre, el cuál contendrá todos los
demás nodos y, que a diferencia de los otros nodos que aparezcan, será irrepetible.
El nodo <contacto>, es en el que vamos a capturar los datos de cada contacto mediante los
siguientes nodos. Este nodo se puede repetir las veces necesarias por cada contacto que
tengas en la agenda.
Los nodos <nombre>, <apellido> y <direccion>, serán sencillos y contendrán la información
propia de cada uno.
El nodo <telefonos>, es un nodo que contendrá 3 nodos nuevos, los cuáles serán los posibles
números telefónicos que pueda tener.
Es un posible archivo; puedes mejorarlo aún
Que tengas un buen día.
=0)

Diseño documento xml agenda telefonica

Publicado por Carlos (3 intervenciones) el 23/11/2011 19:22:17
Muchas gracias. Entiendo más o menos el ejercicio, lo que no se es cómo se puede mejorar un documento xml, en que sentido puede mejorar. Otro ejercicio que nos han mandado es:

Diseñar un documento válido en XML que permita estructurar la información de las recetas de cocina de un restaurante y aplicarlo a la siguiente receta de cocina. Hay que hacerlo de modo que un sistema informático pueda realizar búsquedas por ingredientes, cantidad de comensales o nombre de la receta.

Sopa de cebolla (4 personas)



Ingredientes:

1 Kg. de cebollas.
2 l. de caldo de carne.
100 gr. mantequilla.
1 cucharada de harina.
100 gr. de queso emmental suizo o gruyére rallado.
Pan tostado en rebanadas.
Tomillo.
1 hoja de laurel.
Pimienta.

Proceso:

Pelar y partir las cebollas en rodajas finas.
Rehogarlas con la mantequilla, sal y pimienta a fuego lento hasta que estén transparentes sin dorarse.
Añadir la harina sin dejar de remover.
Ponerlo en una cazuela con el caldo, el tomillo y el laurel.
Dejar cocer a fuego lento durante unos 15 minutos.
Poner las rebanadas de pan encima, espolvorear el queso y gratinar al horno.

Se que vais a pensar que soy un gandul y pido demasiado, pero lo que pretendo al no tener ni idea es ver cómo es el ejercicio para aprender a hacerlo, no copiar y pegar y enviarselo al profesor ya que es un modulo elearning. En este ultimo ejercicio no se por dnd empezar ya que lo de realizar busquedas no se a que se refiere.

Muchas gracias por todo!!

Diseño documento xml agenda telefonica

Publicado por jose (1 intervención) el 24/11/2011 17:21:37
Ese carlos!!! y por casualidad, tmb vas a preguntar como se hace este ejercicio?

- Diseñar un documento XML válido que permita estructurar la información para permitir su gestión informática de los alumnos de un modulo del ciclo formativo ASIR. Aplicarlo al módulo de Lenguajes de Marcas y Sistemas de Gestión de Información sabiendo que tiene asignadas 4 horas semanales y es de carácter obligatorio. El modulo se imparte entre el 15 de septiembre de 2010 y el 30 de junio de 2011. Hay matriculados dos alumnos:

ya de paso... hahaha

Diseño documento xml agenda telefonica

Publicado por Carlos (3 intervenciones) el 25/11/2011 18:34:48
El de la agenda no te lo copies al pie de la letra o almenos cambia los nombres, jejeje. El segundo ya lo tengo hecho, pero el tercero ni papa de por dnd empezar. La verdad es q no tengo pajolera idea de como hacerlo, y por los apuntes es q no me entero de anda. Esta asignatura es mas de ejercicios y de preguntar al profesor las cosas, pero a distancia la cosa se complica. A ver si me puedes echar un cable en el tercero o un ejemplo de como hacerlo, por lo menos q sepa como va la cosa. Un salduo Jose.

Diseño documento xml agenda telefonica

Publicado por liquid (1 intervención) el 07/12/2011 18:01:57
tomad colegas un regalito,jaja, aunque yo necesitaria el de la sopa de cebolla, estoy bastante perdido... tanks!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="iso-8859-1"?>
 <curso ciclo_formativo="DAM" modulo="Lenguajes de Marcas y Sistemas de Gestión"/>
 <modulo horas_semanales="4"/>
 <fecha_inicio dia="15" mes="sep" año="2010"></fecha_inicio>
 <fecha_final dia="30" mes="jun" año="2011"></fecha_final>
 <alumnos>
 <alumnoficha>
 <alumno nombre="Ana" apellido1="Fernandez" apellido2="Gutierrez"/>
 <nif>16965696L</nif>
 <telefono>789654321</telefono>
 <email>ana.fdezgtrrez@hotmail.com</email>
 <direccion tipo="Calle" nombre="El percebe" numero="13" ciudad="Santander" codigo_postal="39302"/>
 <falta_de_asistencia>sin datos</falta_de_asistencia>
 <notas>sin datos</notas>
 </alumnoficha>
 <alumnoficha>
 <alumno nombre="Pepito" apellido1="Grillo" apellido2=""/>
 <nif>98765432H</nif>
 <telefono>656566555</telefono>
 <email>yhyh@yahoo.com</email>
 <direccion tipo="Avenida" nombre="El pez" numero="5" ciudad="Suances" codigo_postal="39401"/>
 <falta_de_asistencia>No tiene ninguna</falta_de_asistencia>
 <notas>APTO</notas>
 </alumnoficha>
 
</alumnos>
 </curso>

Diseño documento xml agenda telefonica

Publicado por arapahoe (1 intervención) el 18/10/2012 19:19:49
gracias por los ejercicios

Diseño documento xml

Publicado por maria (7 intervenciones) el 25/11/2012 15:49:51
Hola

Hay algunas cosas que no entiendo:

Por ejemplo, porqué hay información que están dentro del menor que y mayor que? y otras que están fuera?

Porqué y cuando se ponen las comillas?? ""

Se podría poner por ej.

<alumno>ana gutierrez</alumno>
<dni>12345678A</dni>

Saludos y gracias

Diseño documento xml agenda telefonica

Publicado por maria (7 intervenciones) el 28/01/2013 18:52:19
Hola :)

Primero de todo, gracias por la aportación porque ahora entiendo mucho mejor el tema XML, aun así tengo algunas dudas y es que cuando cierras curso </curso> no entiendo porque no se cierra de la misma manera que se ha abierto:

<curso ciclo_formativo="DAM" modulo="Lenguajes de Marcas y Sistemas de Gestión"/> se abrió así,

pues pienso que se debería cerrar así:

</curso ciclo_formativo="DAM" modulo="Lenguajes de Marcas y Sistemas de Gestión"/>

????

Diseño documento xml agenda telefonica

Publicado por Jose Manuel (18 intervenciones) el 28/01/2013 19:32:47
Hola:

XML no es un lenguaje al uso, pero tiene unas reglas que hay que cumplir y una de ellas es que toda etiqueta que se abre, se debe cerrar, siempre, de una manera concreta. La etiqueta de cierre es la misma que la de apertura, menos los atributos y con una barra inclinada, delante del nombre de la etiqueta.

Ejemplos:
1
2
3
4
5
6
7
8
9
10
11
Abre:
<curso ciclo_formativo="DAM" modulo="Lenguajes de Marcas y Sistemas de Gestión">
 
Cierra:
</curso>
 
Abre:
<usuario>
 
Cierra:
</usuario>


Cada etiqueta que se abre y se cierra da lugar a un elemento (un usuario, un curso, etc.). Estos elementos tienen un contenido, que pueden ser otras etiquetas y/o textos. A veces, estos elementos no tienen contenido y su sola presencia "es el contenido". Por ejemplo, la etiqueta <br /> de HTML, indica con su sola presencia un salto de línea. Parece que es una sola etiqueta, pero lo que ocurre, es que como no tiene contenido, se abre y se cierra en la misma etiqueta (nota la barra / antes del mayor que >). Otro ejemplo es la etiqueta
<img src="imagen.jpg" /> también de HTML. Su sola presencia, indica que en ese lugar debería ir una imagen.

Resumiendo, son reglas del lenguaje XML. Por otro lado, si la etiqueta de cierre incluye los atributos, estás repitiendo información y uno de los objetivos de XML es precisamente evitar repetir información.

Espero que al menos te oriente.

Saludos,

José Manuel
========================
http://www.orbisapientia.com

Diseño documento xml agenda telefonica

Publicado por maria (1 intervención) el 08/02/2022 19:20:55
<!DOCTYPE receta>

<receta>
<plato>Sopa de cebolla</plato>

<comensales>4</comensales>

<ingrediente cantidad="1" unidad="Kg." nombre="cebollas" />
<ingrediente cantidad="2" unidad="litros" nombre="caldo de carne" />
<ingrediente cantidad="100" unidad="gramos" nombre="mantequilla" />
<ingrediente cantidad="1" unidad="cucharada" nombre="harina" />
<ingrediente cantidad="100" unidad="gramos" nombre="queso emmental suizo o gruyére rallado" />
<ingrediente cantidad="" unidad="" nombre="Pan tostado en rebanadas" />
<ingrediente cantidad="" unidad="" nombre="Tomillo" />
<ingrediente cantidad="1" unidad="hoja" nombre="Laurel" />
<ingrediente cantidad="" unidad="" nombre="Pimienta" />

<proceso>
<paso>Pelar y partir las cebollas en rodajas finas.</paso>
<paso>Rehogarlas con la mantequilla, sal y pimienta a fuego lento hasta que estén transparentes sin dorarse.</paso>
<paso>Añadir la harina sin dejar de remover.</paso>
<paso>Ponerlo en una cazuela con el caldo, el tomillo y el laurel.</paso>
<paso>Dejar cocer a fuego lento durante unos 15 minutos.</paso>
<paso>Poner las rebanadas de pan encima, espolvorear el queso y gratinar al horno.</paso>
</proceso>
</receta>

Diseño documento xml agenda telefonica

Publicado por Cristina (1 intervención) el 09/01/2012 13:21:06
Saludos, no se en que comunidad autonoma estais haciendo este ciclo formativo, seria interesante saberlo, asi igual podemos ir intercambiando informacion. Os acabo de encontrar de pura casualidad.
Acabo de recibir la corrección de este ejercicio y me gustaria saber como se podría plantear siguiendo las indicaciones que se me dan.

En su dia, yo presente el ejercicio tal cual lo planteasteis vosotros aquí y el tutor me ha hecho la siguiente puntualización:


Declaración nombre, apellidos, dirección y telefono mejorable mediante elementos hijos o atributos apropiados y anidamiento similar a elemento telefono.


Alguna sugerencia? Gracias de antemano

PD: Si lo considerais más oportuno, podeis contestarme a nivel particular por correo electrónico

Diseño documento xml agenda telefonica

Publicado por Jose (4 intervenciones) el 16/10/2012 20:24:45
Madre mía muchas gracias por esto, estoy perdidísisisismo, me queda el de el recetario y no dan mucho plazo para hacer las tareas.
Si al final lo conseguiste me gustaría saber si podrías darme aunque fuera una idea porque este comienzo de curso ya me está estresando, este módulo me parece complicadillo, veremos que pasa.
Un saludo y suerte a todos

Diseño documento xml agenda telefonica

Publicado por Jose Manuel (18 intervenciones) el 18/10/2012 10:46:00
Marchando un sopa de cebolla xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?xml version="1.0" encoding="utf-8"?>
<recetas>
	<receta nombre="Sopa de cebolla">
		<ingredientes>
			<ingrediente nombre="cebollas">
				<cantidades>
					<cantidad comensales="4">1 kilogramo</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
			<ingrediente nombre="caldo de carne">
				<cantidades>
					<cantidad comensales="4">2 litros</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
			<ingrediente nombre="mantequilla">
				<cantidades>
					<cantidad comensales="4">100 gramos</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
			<ingrediente nombre="harina">
				<cantidades>
					<cantidad comensales="4">1 cucharada</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
			<ingrediente nombre="queso emmental suizo o gruyere rayado">
				<cantidades>
					<cantidad comensales="4">100 gramos</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
			<ingrediente nombre="pan tostado en rebanadas">
				<cantidades>
					<cantidad comensales="4">1 rebanada x persona</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
			<ingrediente nombre="tomillo">
				<cantidades>
					<cantidad comensales="4">1 cucharadita</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
			<ingrediente nombre="laurel">
				<cantidades>
					<cantidad comensales="4">1 hoja</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
			<ingrediente nombre="pimienta">
				<cantidades>
					<cantidad comensales="4">1 cucharadita</cantidad>
					<cantidad comensales="X">X</cantidad>
				</cantidades>
			</ingrediente>
		</ingredientes>
		<procesos>
			<proceso>
				Pelar y partir las cebollas en rodajas finas.
			</proceso>
			<proceso>
				Rehogar las cebollas con la mantequilla, sal y pimienta a fuego lento hasta que estén transparentes sin dorarse.
			</proceso>
			<proceso>
				Añadir la harina sin dejar de remover.
			</proceso>
			<proceso>
				Ponerlo en una cazuela con el caldo, el tomillo y el laurel.
			</proceso>
			<proceso>
				Dejar cocer a fuego lento durante unos 15 minutos.
			</proceso>
			<proceso>
				Poner las rebanadas de pan encima, espolvorear el queso y gratinar al horno.
			</proceso>
		</procesos>
	</receta>
</recetas>


Claro está que es mejorable, de hecho, sin darle una gran pensada, se podría poner otro atributo al elemento cantidad que indique la unidad de media de la cantidad. Es que eso es XML, estructurar cualquier información de forma jerárquica y clara. Cada unidad de información viene a ser un elemento XML y lo que tenemos que hacer es preguntarnos esto: esa unidad de información, ¿depende de otra?, ¿se puede repetir?, ¿que propiedades tiene (color por ejemplo, etc., que serían los atributos)?

Bueno espero haber podido ayudar al personal que de eso se trata. !Un saludo!

José Manuel
http://www.orbisapientia.com

Diseño documento xml agenda telefonica

Publicado por Jose (4 intervenciones) el 20/10/2012 23:43:39
Muchas gracias, me va a ayudar mucho, que conste que voy a compararlo con lo que llevo hecho e intentar entenderlo, porque si no, menudo curso que me espera.

Gracias de nuevo.

Diseño documento xml agenda telefonica

Publicado por Domingo (2 intervenciones) el 21/10/2012 13:24:12
Creo que estás en el mismo curso que yo Y también estoy más perdido que un pulpo en un garaje. Un saludo.

Diseño documento xml agenda telefonica

Publicado por Jose (4 intervenciones) el 21/10/2012 00:50:15
Muchas gracias, tengo una duda:

Podrías explicarme el por qué de la linea que pone :

<cantidad comensales="X">X</cantidad>

No entiendo su función.

Un saludo.

Diseño documento xml agenda telefonica

Publicado por Jose Manuel (18 intervenciones) el 21/10/2012 19:05:42
Hola Jose:

Bueno la linea <cantidad comensales="X">X</cantidad> es un ejemplo. Intentaba explicar con ello que el elemento cantidad se puede repetir la veces que se necesiten, según la cantidad de comensales. Ejemplo: a 2 comensales, 100 de cantidad; a 4 comensales 200 de cantidad; a 5 250 de cantidad, a X comensales, X de cantidad...

De esta forma, la cantidad de cada ingrediente puede variar en función de los comensales que existan, facilitando su búsqueda.

Espero haberme explicado bien. Saludos.

Jose Manuel
=================
http://www.orbisapientia.com

Diseño documento xml agenda telefonica

Publicado por Jose (4 intervenciones) el 02/11/2012 16:32:36
Muchas gracias, más o menos creo que me he enterado.

Saludos y suerte con vuestra página.

Diseño documento xml

Publicado por maria (7 intervenciones) el 25/11/2012 15:55:53
Hola

Cuando se pone: <?xml version="1.0" encoding="utf-8"?>

Y cuando esto: <?xml version="1.0" encoding="iso-8859-1"?>

Gracias
Imágen de perfil de xve

Diseño documento xml

Publicado por xve (21 intervenciones) el 25/11/2012 22:20:05
Es para determinar la codificación de caracteres del contenido. Si por ejemplo, la codificación que tu utilizas es iso-8859-1 y no lo indicas, o indicas utf-8, los acentos, eñes, etc... se verán erróneamente.

te recomiendo que abras un nuevo hilo para las nuevas preguntas!!

Diseño documento xml agenda telefonica

Publicado por Ignacio (2 intervenciones) el 21/10/2012 18:39:36
Muchas gracias por la ayuda. Yo tb estoy en ese curso. http://www.orbisapientia.com ¿es tu web? Un saludo.

Diseño documento xml agenda telefonica

Publicado por Jose Manuel (18 intervenciones) el 21/10/2012 19:12:21
Hola Ignacio:

Si, es mi web y de otras personas más, que se me enfadan! jajaja. En el diseño hay una persona, el desarrollo está siendo mio (poco a poco y aún queda bastante), y en los contenidos hay varios. Yo soy el que está haciendo los cursos de desarrollo web y relacionados. Espero que os guste si la visitáis, aunque como digo, aún queda mucho por hacer, contenidos sobre todo.

Saludos,

Jose Manuel
====================
http://www.orbisapientia.com

Diseño documento xml agenda telefonica

Publicado por maria (7 intervenciones) el 25/11/2012 15:53:42
Es correcto así también??


<?xml version="1.0" enconding="iso-8859-1"?>

<receta>

<sopa de cebolla>

<ingredientes>

1kg de cebollas
2l de caldo
100gr de mantequilla
1 cucharada de harina
100gr de queso emmental suizo o gruyere rallado
pan tostado en rebanadas
tomillo
1 hoja de laurel
pimienta

</ingredientes>

<proceso>

Pelar y partir las cebollas en rodajas finas.
Rehogarlas con la mantequilla, sal y pimienta a fuego lento hasta que estén transparentes sin dorarse.
Añadir la harina sin dejar de remover.
Ponerlo en una cazuela con el caldo, el tomillo y el laurel.
Dejar cocer a fuego lento durante unos 15 minutos.
Poner las rebanadas de pan encima, espolvorear el queso y gratinar al horno

</proceso>

</sopa de cebolla>

</receta>

Saludos y gracias

Diseño documento xml agenda telefonica

Publicado por Jose Manuel (18 intervenciones) el 25/11/2012 16:51:42
Hola María:

No sería correcto en primer lugar porque una etiqueta xml no debe tener espacios en el nombre. Por otro lado, una etiqueta no debe ser en principio la información en sí (salvo excepciones), sino más bien un identificador para la información que contiene. Además, para realizar búsquedas, la información estructurada de esta manera, la dificulta.

En cuanto a los ingredientes, si los pones así, no estructuras y diferencias cada ingrediente en particular, su cantidad y en qué se mide esa cantidad. A la hora de buscar la información sería mucho más complicado encontrarla y, buscar, es la acción que se pretende en todo tipo de almacenamiento de información.

Espero que te sirva y saludos,

José Manuel
=====================
http://www.orbisapientia.com