CONCEPTO DE XML

octubre 17, 2011 carla522
Etiquetas: , , ,

XML proviene de eXtensible Markup Language (“Lenguaje de Marcas Extensible”). Se trata de un metalenguaje (un lenguaje que se utiliza para decir algo sobre otro lenguaje) extensible de etiquetas que fue desarrollado por el Word Wide Web Consortium (W3C), un consorcio internacional que elabora recomendaciones para la Word Wide Web.

El XML es una adaptación del SGML (Standard Generalized Markup Language), un lenguaje que permite la organización y el etiquetado de documentos. Esto quiere decir que el XML no es un lenguaje en sí mismo, sino un sistema que permite definir lenguajes de acuerdo a las necesidades. El XHTML, el MathML y el SVGson algunos de los lenguajes que el XML está en condiciones de definir.

Las bases de datos, los documentos de texto, las hojas de cálculo y las páginasweb son algunos de los campos de aplicación del XML. El metalenguaje aparece como un estándar que estructura el intercambio de información entre las diferentes plataformas.

Los expertos nombran varias ventajas que derivan de la utilización del XML. Es extensible (se pueden añadir nuevas etiquetas tras el diseño del documento), su analizador es estándar (no requiere de cambios para cada versión del metalenguaje) y facilita el análisis y procesamiento de los documentos XML creados por terceros.

Entre los lenguajes creados con XML, se destacan el XSL (Extensible Stylesheet Language) y el XLINK (que intenta trascender las limitaciones de los enlaces de hipertexto en HTML).

La validez de los documentos (es decir, que su estructura sintáctica se encuentre desarrollada correctamente) depende la relación especificada entre los distintos elementos a partir de una definición o documento externo.

EJEMPLOS:

La estructura de un archivo XML es muy similar a la estructura en HTML solo que con la gran diferencia de que nosotros nombramos las etiquetas para asi poder almacenar información que nos interesa para después lograr un acceso a esta, un ejemplo simple seria como se muestra a continuación:

<?xml version=» 1.0 » encoding=» UTF-8 » standalone= » yes «?>
<ficha>
<nombre> Gabriel </nombre>
<apellido> Molina </apellido>
<direccion> Alfredo Vargas #36 </direccion>
</ficha>

Siguiendo este ejemplo de estructura básica de XML podemos generar una base de datos en este sistema.

Veamos un ejemplo muy sencillo de un pequeño lenguaje de etiquetas para definir documentos FAQ:

<?xml version=»1.0″ encoding=»UTF-8″ standalone=»no»?>
<!DOCTYPE FAQ SYSTEM «FAQ.DTD»>
<FAQ>
<INFO>
<TITULO> WINDOWS98? SOLO SI ME OBLIGAN! </TITULO>
<AUTOR> Fernando Damián Lorenzo García </AUTOR>
<EMAIL> Fer@yahoo.es </EMAIL>
<VERSION> 1.0 </VERSION>
<FECHA> 20.MAYO.99 </FECHA>
</INFO>
<PART NO=»1″>
<Q NO=»1″>
<QTEXT>¿Por qué tengo que instalar W95?</QTEXT>
<A> A mi también me parece una buena pregunta.</A>
</Q>
<Q NO=»2″>
<QTEXT>Y de que me vale?</QTEXT>
<A>Otra ingeniosa pregunta.</A>
</Q>
</PART>
</FAQ>

Para el lenguaje de marcas mostrado arriba tenemos el siguiente DTD:

<!ELEMENT FAQ (INFO, PART+)>
<!ELEMENT INFO (TITULO, AUTOR, EMAIL?, VERSION?, FECHA?)>
<!ELEMENT TITULO (#PCDATA)>
<!ELEMENT AUTOR (#PCDATA)>
<!ELEMENT EMAIL (#PCDATA)>
<!ELEMENT VERSION (#PCDATA)>
<!ELEMENT FECHA (#PCDATA)>
<!ELEMENT PART (Q+)>
<!ELEMENT Q (QTEXT, A)>
<!ELEMENT QTEXT (#PCDATA)>
<!ELEMENT A (#PCDATA)>
<!ATTLIST PART NO CDATA #IMPLIED TITLE CDATA #IMPLIED>
<!ATTLIST Q NO CDATA #IMPLIED>

Veamos ahora un ejemplo de código XML para una librería virtual:

<?xml version=»1.0″?>
<libro>
<titulo> Cien años de soledad </titulo>
<disponible tiempo=»24″ unidad=»horas»/>
<autor> Gabriel García Márquez </autor>
<formato> Rústica </formato>
<publicacion>1967 </publicacion>
<precio cantidad=»9.99″ moneda=»euro»/>
<descuento cantidad=»5″/>
<enlacelibro href=»/exec/ISBN/84-473-0619-4″/>
</libro>

Su DTD correspondiente:

<!ELEMENT autor ( #PCDATA ) >
<!ELEMENT descuento EMPTY >
<!ATTLIST descuento cantidad CDATA #REQUIRED >
<!ELEMENT disponible EMPTY >
<!ATTLIST disponible tiempo CDATA #REQUIRED >
<!ATTLIST disponible unidad CDATA #REQUIRED >
<!ELEMENT enlacelibro EMPTY >
<!ATTLIST enlacelibro href CDATA #REQUIRED >
<!ELEMENT formato ( #PCDATA ) >
<!ELEMENT libro ( titulo | disponible | autor | formato | publicacion | precio | descuento | enlacelibro )* >
<!ELEMENT precio EMPTY >
<!ATTLIST precio cantidad CDATA #REQUIRED >
<!ATTLIST precio moneda CDATA #REQUIRED >
<!ELEMENT publicacion ( #PCDATA ) >
<!ELEMENT titulo ( #PCDATA ) >

Entry Filed under: Uncategorized

Deja un comentario

Trackback this post  |  Subscribe to comments via RSS Feed

Entradas recientes

Archivos

Categorías

Meta