Estructura de datos XML hosted by albertomagana.Chat about what's on your mind. More about public chats. |
Estructura de un documento XML
| La tecnología XML busca dar solución al problema de expresar información estructurada de la manera más abstracta y reutilizable posible. Que la información sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene un árbol de pedazos de información. Ejemplos son un tema musical, que se compone de compases, que están formados a su vez con notas. Estas partes se llaman elementos, y se las señala mediante etiquetas. |
![]() | Una etiqueta consiste en una marca hecha en el documento, que señala una porción de este como un elemento, un pedazo de información con un sentido claro y definido. Las etiquetas tienen la forma <nombre>, donde nombre es el nombre del elemento que se está señalando. |
A continuación se muestra un ejemplo para entender la estructura de un documento XML:
<?xml version=“1.0″ encoding=“ISO-8859–1″ ?>
<!DOCTYPE Edit_Mensaje SYSTEM “Lista_datos_mensaje.dtd”
[<!ELEMENT Edit_Mensaje (Mensaje)*>]>
<Edit_Mensaje>
<Mensaje>
<Remitente>
<Nombre>Nombre del remitente</Nombre>
<Mail> Correo del remitente </Mail>
</Remitente>
<Destinatario>
<Nombre>Nombre del destinatario</Nombre>
<Mail> Correo del destinatario</Mail>
</Destinatario>
<Texto>
<Parrafo>
Este es mi documento con una estructura muy sencilla no contiene atributos ni entidades….
</Parrafo>
</Texto>
</Mensaje> </Edit_Mensaje>
Aquí está el ejemplo de código del DTD del documento “Edit_Mensaje”:
<?xml version=“1.0″ encoding=“ISO-8859–1″ ?>
<!-- Este es el DTD de Edit_Mensaje —!>
<!ELEMENT Mensaje (Remitente, Destinatario, Asunto, Texto)*>
<!ELEMENT Remitente (Nombre, Mail)>
<!ELEMENT Nombre (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Destinatario (Nombre, Mail)>
<!ELEMENT Nombre (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Asunto (#PCDATA)>
<!ELEMENT Texto (Parrafo)>
<!ELEMENT Parrafo (#PCDATA)>
Elementos en XML
El constructor fundamental en un documento XML es el elemento. Un elemento es sencillamente un par de etiquetas de inicio y finalización coincidentes y todo el texto que aparece entre ellas.
Los documentos XML deben tener un único elemento raíz que abarque el resto de elementos en el documento. Además, los elementos en un documento XML se deben anidar adecuadamente.
Por ejemplo:
<cuenta> … <saldo> … </saldo> … </cuenta> está anidado adecuadamente, mientras que <cuenta> … <saldo> … </cuenta> … </saldo> no está adecuadamente anidado.
Aunque el anidamiento adecuado es una propiedad intuitiva, la debemos definir más formalmente. Se dice que el texto aparece en el contexto de un elemento si aparece entre la etiqueta de inicio y la etiqueta de finalización de dicho elemento.
![]() | Las etiquetas están anidadas adecuadamente si toda etiqueta de inicio tiene una única etiqueta de finalización coincidente que está en el contexto del mismo elemento padre. |
Nótese que el texto puede estar mezclado con los subelementos de otro elemento. |
<cuenta> Esta cuenta se usa muy rara vez por no decir nunca. <número-cuenta> C-102 </número-cuenta> <nombre-sucursal> Navacerrada </nombre-sucursal> <saldo> 400 </saldo> </cuenta> …
Como con otras características de XML, esta libertad tiene más sentido en un contexto de procesamiento de documentos que en el contexto de procesamiento de datos y no es particularmente útil para representar en XML datos más estructurados como son el contenido de las bases de datos. La capacidad de anidar elementos con otros elementos proporciona una forma alternativa de representar información.
Las representaciones anidadas se usan ampliamente en las aplicaciones de intercambio de datos XML para evitar las reuniones. Por ejemplo, una aplicación de envíos almacenaría la dirección completa del emisor y receptor de una forma redundante en un documento de envío asociado con cada envío mientras que una representación normalizada puede requerir una reunión de registros de envío con una relación compañía-dirección para obtener la información de la dirección. Además de los elementos, XML especifica la noción de atributo. Por ejemplo, el tipo de una cuenta se puede representar como un atributo.
…
<cuenta tipo-cuenta = «corriente»>
<número-cuenta> C-102 </número-cuenta>
<nombre-sucursal> Navacerrada </nombre-sucursal>
<saldo> 400 </saldo>
</cuenta>
…
Los atributos de un elemento aparecen como pares nombre = valor antes del cierre « >» de una etiqueta. Los atributos son cadenas y no contienen marcas. Además,los atributos pueden aparecer solamente una vez en una etiqueta dada, al contrario que los subelementos, que pueden estar repetidos.
Nótese que en un contexto de construcción de un documento es importante la distinción entre subelemento y atributo; un atributo es implícitamente texto que no aparece en el documento impreso o visualizado. |
Sin embargo, en las aplicaciones de bases de datos y de intercambio de datos de XML esta distinción es menos relevante y la elección de representar los datos como un atributo o un subelemento es frecuentemente arbitraria. Puesto que los documentos XML se diseñan para su intercambio entre aplicaciones se tiene que introducir un mecanismo de espacio de nombres para permitir a las organizaciones especificar nombre únicos globalmente para que se usen como marcas de elementos en los documentos. La idea de un espacio de nombres es anteponer cada etiqueta o atributo con un identificador de recursos universal (por ejemplo, una dirección Web).
Por ello, por ejemplo, si Banco Principal deseara asegurar que los documentos XML creados no duplican las etiquetas usadas por los documentos de otros socios del negocio, se puede anteponer un identificador único con dos puntos a cada nombre de etiqueta. El banco puede usar un URL Web como el siguiente:
http://www.BancoPrincipal.com
como un identificador único. El uso de identificadores únicos largos en cada etiqueta puede ser poco conveniente, por lo que el espacio de nombres estándar proporciona una forma de definir una abreviatura para los identificadores.
El elemento raíz (banco) tiene un atributo xmlns:BP, que declara que BP está definido como abreviatura para el URL dado anteriormente. Se puede usar entonces la abreviatura en varias marcas de elementos:
<banco xmlns:BP = «http://www.BancoPrincipal.com»> … <BP:sucursal> <BP:nombresucursal> Centro </BP:nombresucursal> <BP:ciudadsucursal> Brooklyn </BP:ciudadsucursal> </BP:sucursal> … </banco>
Un documento puede tener más de un espacio de nombres, declarado como parte del elemento raíz. Se pueden asociar entonces elementos diferentes con espacios de nombres distintos. Se puede definir un espacio de nombres predeterminado mediante el uso del atributo xmlns en lugar de xmlns:BP en el elemento raíz. Los elementos sin un prefijo de espacio de nombres explícito pertenecen entonces al espacio de nombres predeterminado. Algunas veces se necesitan almacenar valores que contengan etiquetas sin que sean interpretadas como etiquetas XML. XML permite esta construcción para ello:
<![CDATA[<cuenta> … </cuenta>]]>
Debido a que el texto <cuenta> está encerrado en CDATA, se trata como datos de texto normal, no como una etiqueta. El término CDATA viene de datos de carácter (character data en inglés).
| Referencias: Recopilacion de datos realizada por José Alberto Magana Hernandez de: http://es.wikipedia.org/wiki/XML | Contacto:
|
![]() | Mi perfil en Orkut: http://www.orkut.com/Profile.aspx?uid=13866738906166718639 |
ing.albertomagana@gmail.com | |
http://www.myspace.com/josealbertomagana |
Competencias:
Gracias a la realización de este trabajo, aprendí una forma de integrar algunas de las tecnologías actuales en un trabajo para hacerlo lo más agradable e informativo posible, también conocí las diferentes técnicas que se pueden usar para interesar a los alumnos en algún tema especifico.


Nótese que el texto puede estar mezclado con los subelementos de otro elemento.

Mi perfil en Orkut: