Home
Temas
Preguntas
Webs Amigas

Tecnología y Cultura
Sexo y Religión


Derechos Animales
Fotos Naturaleza
Ecología y Filosofía

Copyleft
Licencia de Creative Commons
Temas >> XML y Marcado
Lenguajes de Marcado
XML como lenguaje de marcado
XML es un metalenguaje, es decir, un lenguaje hecho para poder construir otros lenguajes con él. Con el tiempo se ha convertido en el formato preferido para almacenar datos semiestructurados.

http://www.w3.org/XML/

http://www.xml.com/

SGML es un meta-lenguaje complejo de implementar y con muchas funcionalidades; sus principales aplicaciones han sido todos los primeros *ML, principalmente HTML y VRML.

XML es un subconjunto de este lenguaje.

En términos fáciles:

http://www.xml.org/xml/xmlfaq.shtml

  • XML es una forma de poner información estructurada en un archivo.
  • XML se parece externamente a HTML, pero no lo es.
  • XML es texto, pero no para ser leído por un humano.
  • XML es una familia de tecnologías.
  • XML es verborreico, pero no importa porque se puede comprimir.
  • XML es nuevo, pero no tan nuevo, porque deriva de SGML.
  • XML es freeware.

Normalmente lo "fácil" lleva a confusiones. Seamos más precisos: XML describe un conjunto de documentos llamados "documentos XML" y da indicios de cómo debieran ser leídos esos documentos por ciertas aplicaciones. Un documento XML consiste de un conjunto de entidades, que son principalmente texto y marcas.

En un nivel lógico, un documento contiene:

  • Declaraciones (definen un elemento)
  • Elementos
  • Comentarios (ignorados)
  • Instrucciones de proceso (destinados a la aplicación que trata el documento, pero no parte de la información)
  • Referencias a caracteres

Al software que manipula el documento XML se le denomina procesador XML y puede estar dentro de otra aplicación.

Un documento se considera bien formado si es producido por una gramática parecida a ésta (simplificada):

Documento -> DeclaracionXML? DeclaracionElemento* elemento
DeclaracionXML -> <?xml version="x.x"?> DeclaracionElemento -> <!ELEMENT parrafo (#PCDATA|bold)*>
Elemento -> ElementoVacio | ComienzaElemento Contenido TerminaElemento
Contenido -> Texto? (Elemento Texto?)*

Normalmente, el espacio en blanco (tabs, más de un espacio, líneas en blanco) es omitido por las aplicaciones, pero no por el procesador.

Un procesador puede tomar un documento y contrastarlo contra una DTD (Document Type Definition). Una DTD es otro documento XML que contiene sólo declaraciones de elementos. Las siguientes condiciones deben cumplirse en tal caso:

  • El elemento raíz del documento es el mismo tipo de documento definido en la DTD
  • Los elementos permitidos como contenido de otro elemento se respetan
  • Los elementos no pueden tener atributos no declarados en la DTD

Normalmente, una DTD es necesaria si la proveniencia de los documentos no es controlada (ej.: documentos importados desde otro lugar), si se necesitan atributos con valores por omisión, o si no se sabe como debe ser tratado el espacio en blanco dentro del documento.

Es posible ver todo documento XML como un árbol:

  • La raíz es el elemento raíz
  • Los nodos internos son elementos o atributos
  • Los nodos externos (hojas) son texto o elementos vacíos.
  • Los hijos de un nodo elemento pueden ser elementos, texto o atributos
  • Los hijos de un nodo atributo sólo pueden ser texto
  • El orden de los hijos de un nodo es importante y debe ser conservado

En el ejemplo, hay un documento y su representación como árbol.


Un documento XML visto como un árbol.

<addressbook>
<person>
 <name>juan</name>
 <phone>5551122</phone>
</person>
<person>
 <name>pedro</name>
 <phone>2218899</phone>
</person>
</addressbook>

XML es la base para otras tecnologías.

(W3.org)

XML además de permitir la construcción de diversas aplicaciones XML (una aplicación XML es una DTD más una especificación de cómo debería comportarse la aplicación que recibe un documento según esa DTD), incluye varios grupos de trabajo además del grupo central.

XML Query

Éste es un lenguaje para realizar consultas sobre documentos estructurados.

XML Schema

Si bien las DTD permiten describir documentos, un schema es algo más restrictivo, más similar a un esquema de bases de datos en que el contenido de los elementos tiene asociado un tipo. Normalmente en XML el contenido siempre es texto. Un schema permitiría a un procesador validar el documento por inconsistencias de una forma más apropiada. Además, un schema permite crear un formulario de ingreso a partir de él, en cambio en una DTD no es posible hacer eso.

XML Linking

XML Link indica cómo se expresa la relación entre distintos documentos o elementos dentro de los documentos. Contiene una especificación, principalmente basada en atributos, que expresa cuales son los elementos de una relación entre nodos. XML Link establece una cierta racionalidad para guiar el desarrollo de otras tecnologías de marcado.

Alojamiento Web

ChaTo = Carlos Castillo, Ph.D.  :::  Acerca de este Sitio ChaTo = Carlos Castillo, Ph.D. ::: Acerca de este Sitio