Foros del Web » Creando para Internet » HTML »

[SOLUCIONADO] Duda xml: Espacio de nombre.

Estas en el tema de Duda xml: Espacio de nombre. en el foro de HTML en Foros del Web. Buenas a todos tengo una duda y es que no se cuando se deben utilizar realmente los espacio de nombre, la teoria la tengo clara, ...
  #1 (permalink)  
Antiguo 08/11/2014, 08:02
 
Fecha de Ingreso: junio-2014
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Duda xml: Espacio de nombre.

Buenas a todos tengo una duda y es que no se cuando se deben utilizar realmente los espacio de nombre, la teoria la tengo clara, pero no se si en ocasiones en mejor ponerlo en Atributos o en Espacios de nombre.

Por ejemplo en:
Código:
EJEMPLO1

<empresa>
<usuario rango="Capitan" nombre="Juan"/>
<usuario rango="Sargento" nombre="Pablo"/>
</empresa>

EJEMPLO2

<empresa xmlns:capitan="C:\capitan" xmlns:sargento="C:\sargento">
<usuario capitan:nombre="Juan"/>
<usuario sargento:nombre="Pablo"/>
</empresa>
¿Cual estaría mejor formada de las dos?, Espero sus respuestas gracias :)
  #2 (permalink)  
Antiguo 08/11/2014, 13:24
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Duda xml: Espacio de nombre.

Hola,

Cita:
Iniciado por jamani18 Ver Mensaje
Buenas a todos tengo una duda y es que no se cuando se deben utilizar realmente los espacio de nombre, la teoria la tengo clara, pero no se si en ocasiones en mejor ponerlo en Atributos o en Espacios de nombre.
...
¿Cual estaría mejor formada de las dos?, Espero sus respuestas gracias :)
Antes de comenzar a explicarte detalladamente una historia que cuente una analogía de los espacios de nombre, las diferentes opciones y que, pensando, tu llegues a tus propias conclusiones, aunque al final te explique el por qué, mejor lo simplificamos, posiblemente no te interesa todo el detalle.

Los dos ejemplos que mostraste no son lo mismo, en el primer caso estarías definiendo con un attribute el rango del usuario como capitán, aunque aún así no significa que sea un capitán, hasta que tu le des ese significado con ese attribute en tus aplicaciones.

Al contrario que le des un significado semántico, por ejemplo:

<capitan nombre="Juan" apellido="Perez"/>

Adicionalmente, capitán podría heredar su definición de <usuario>.

Mientras que en el segundo caso estarías definiendo que el nombre está definido en el espacio de nombres de capitán, estás diciendo simplemente donde encontrar la definición de nombre.

Pero puede ser que el 'nombre' en un namespace esté definido como xs:string y en otro como xs:NCName, que seguramente no es lo que deseas en ese caso, inclusive podría ser que 'nombre' no tengan la misma definición, en uno sea simple y en el otro complejo, por lo que no podrías usarlo de esa forma.

<usuario capitan:nombre="Juan" sargento:apellido="Perez"/>
<usuario sargento:nombre="Pablo" capitan:apellido="Picazo"/>

En ese caso los dos usuario no tiene definido su nombre en el mismo lugar, por lo que el nombre no es 'compatible' entre Juan y Pablo, no son lo mismo porque están definidos en diferente lugar. Aunque al final eso lo puedes definir con el documento XSD, definir exactamente que es lo que se acepta en la definición de usuario.

Normalmente los namespaces sirven para diferenciar un conjunto específico, por ejemplo, todo lo reference a Microsoft podría tener el namespace com.microsoft; o todo lo referente a DocBook podría tener el namespace org.docbook. Por que 'nombre' para Microsoft podría ser una cosa y para DocBook otra.

Saludos,

ps:

Si conoces algún lenguaje de programación podrías hacer la analogía de los Packages en Java, los Namespaces en VB, C#, PHP. Otros no tiene namespaces como el caso de Javascript pero los puedes simular con una Class. En todos los casos te da un 'Scope' diferente de los nombres, las variables definidas a nivel global y su significado.
  #3 (permalink)  
Antiguo 11/11/2014, 16:44
 
Fecha de Ingreso: junio-2014
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Duda xml: Espacio de nombre.

Vale muchas gracias por la respuesta, creo que ya mas o menos capto la idea jejeje
  #4 (permalink)  
Antiguo 11/11/2014, 18:12
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Duda xml: Espacio de nombre.

Hola,

Cita:
Iniciado por jamani18 Ver Mensaje
Vale muchas gracias por la respuesta, creo que ya mas o menos capto la idea jejeje
Realmente es difícil explicar brevemente, como quise hacer. Pero en resumen, como no son lo mismo, en este caso no hay una mejor forma. Depende de lo que quieras hacer realmente.

Lo único es que, yo creo, que en ese caso en particular no debes aplicar namespaces, a menos que, realmente el nombre del capitan y el nombre del sargento sean diferentes cosas, por ejemplo uno sea un nombre y el otro un número.

Posiblemente tengas que profundizar mas en el tema con un blog, un tutorial o un libro.

Saludos,
  #5 (permalink)  
Antiguo 13/11/2014, 11:51
 
Fecha de Ingreso: junio-2014
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Duda xml: Espacio de nombre.

Si yo también creo que sería mas ideal si fuera como dices, para diferenciar un concepto que puede estar formado por números o palabras.

Un saludo.
  #6 (permalink)  
Antiguo 12/10/2015, 14:28
 
Fecha de Ingreso: octubre-2015
Mensajes: 1
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Duda xml: Espacio de nombre.

Aquí explica muy bien XML quiza te sirva [URL="http://www.rsdeveloper.net/2015/10/introduccion-xml-que-es-y-cuando.html"]http://www.rsdeveloper.net/2015/10/introduccion-xml-que-es-y-cuando.html[/URL]

Etiquetas: espacio, nombre, todo, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:55.