|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. INTRODUCCIÓNXML(Lenguaje Extensible de Marcas) es un subconjunto de
SGML, el cual es un metalenguaje (leng. q ofrece la posibilidad de
definir otros lenguajes. Ej. HTML fué concebido a partir de este
estándar). Bueno, ¿y HTML?. Con este lenguaje manejaremos documentos .xml (en lugar
de los archiconocidos .html ó .htm).
Lo desglosaré en los siguientes apartados. 2. COMPONENTES DE UN DOCUMENTO XML2.1. ComentariosLos comentarios en los documentos XML empiezan por <!-- y acaban por -->. <!-- Esto es comentario <ñññññ-d#dd --> 2.2.. Secciones CDataLe indican al parser que ignore todos los caracteres de marcas que se encuentren en el interior de esta/s sección/es. (ed, son como comentarios a lo bestia) Ej. <![CDATA[ 2.3. ElementosSon las etiquetas más frecuentemente utilizadas dentro de un documento XML. Ejs: <nombre id="surname">Perez</nombre>
Sintaxis: &xxx; donde xxx es el nombre de la entidad, y , &xxx; es la manera de referirse a la entidad. Ej: é ----> Representa al símbolo é. Existe una referencia a entidades "especial", denominada referencia a caracteres. Ej: & <!-- Ampersand --> Tambien se pueden crear constantes (ó macros) para que no nos tengamos q acordar de los nºs. <!ENTITY amp "&"> Para referenciarlo: & 3. DECLARACIONES DE TIPO DE DOCUMENTO (DTD's)3.1. IntroducciónXml tiene una ventaja que se puede convertir en un inconveniente: cada persona/autor puede crear sus propias etiquetas. Sin embargo, "B" puede hacerlo así: Las 2 versiones son igual de correctas pero son diferentes; si extrapolamos esto a muchas marcas, entonces la lectura y/o modificación de documentos por diferentes personas puede ser un caos. (y como me enseñaron a mí en la universidad, "no es plan" que hagas una aplicación que sólo entiendas tú, de forma q si se quiere modificar, la empresa te tiene q pedir de rodillas a ti q lo hagas). a) En las DTD's podemos hacer 4 tipos de declaraciones:
Las trataré una a una en los siguientes apdos. b) No las veo en este tutorial. 3.2. Declaraciones de tipo de elementoEstas declaraciones establecen qué elementos pueden formar parte del documento y cuales pueden formar parte de su interior (los elementos se anidan unos dentro de otros). Sintaxis:
Ejs: <!ELEMENT nombre (#PCDATA)> NOTA: Luego podemos hacer una redefinición de los subelementos si queremos. Además de esto, tambien podemos indicar que existen varias alternativas; para ello se usa el símbolo | (relción OR). Ej: <!ELEMENT apellidos (#PCDATA|(ape1,ape2))>> B) <apellidos> <ape1> Perez </ape1> <ape2> López </ape2> </apellidos> 3.3. Declaraciones de listas de atributosYa hemos visto como denotar los elementos q puede tener el documento. Pero, ¿qué pasa con los atributos (si es q tienen) de todos y acada uno de los elementos? Todas las definiciones de atributos empezarán por: <!ATTLIST Cada atributo está formado por 3 partes:
Las posibilidades para describir el tipo de un atributo(campo) y el valor por defecto del mismo las podeis ver en las siguientes tablas:
NOTA: El valor para los atributos acabados en S (ej. IDEREFS) será una lista de valores separados por espacios en blanco.
EJ: <!ATTLIST cliente Al ser numcli de tipo ID indicamos q no puede haber 2 clientes con idéntico numcli. 3.4. Declaración de entidadesExisten 3 tipos de entidades q podemos definir en nuestras DTD's: 1. Entidades internas Tambien llamadas macros ó constantes de texto, las entidades internas son las q se asocian a una cadena de caracteres. Se referencian única y exclusívamente desde el fichero. NOTAS:
2. Entidades externas Sirven para referenciar su contenido ó valor desde otros ficheros, los cuales pueden ser binarios (ej,, una imagen jpg) o de texto( ej. fichero xml). Si fuera binario, la referencia se sustituiría por el texto siempre y cuando éste forme parte de un atributo cualquiera del fichero. 3. Entidades de parámetros Son especiales xq sólo pueden aparecer en las DTD's. Se usa % para preceder al nombre de la entidad tanto en su definición como en su referencia. Ej: Antes de saber manejar entidades con parámetros: <!ELEMENT motos EMPTY> Después de saber manejar entidades con parámetros: <!ENTITY %items "a CDATA #REQUIRED b CDATA #REQUIRED c CDATA #REQUIRED"> 3.5. Declaraciones de notaciónSe usan para indicar el tipo de los ficheros binarios referenciados mediante las referencias a entidades externas . Ej: <!NOTATION GIF87A SYSTEM "GIF"> 3.6 Uso de las Dtd'sRecordad que el uso de DTD's no es obligatorio pero si necesario(al menos, desde mi punto de vista). A la hora de usar una DTD, podemos elegir (del mismo modo que en JavaScript ó ASP) bien incrustarla dentro del propio documento, ó bien vincularla a un archivo externo. Ejs:
Por otra parte es importante que sepas que ya hay estandares definidos por empresas, colectivos, equipos de investigación, etc... 4. Documentos XML válidos ó bien formados.Un documento bien formado es el que sigue las reglas básicas de XML para diseño de documentos. Todos los documentos XML han de estar bien formados, si bien no es obligatorio q sean válidos (aunq si es recomendable). |
D:\Documents and Settings\Administrator\amaya\1\tut_XML.html