Documentos XML bien formados

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Documentos XML bien formados"

Transcripción

1 Documentos XML bien formados En los Unidades anteriores ya hemos visto de forma generalizada que una de las características que diferencian al XML del SGML es la posibilidad de no utilizar DTD. En una DTD definimos cómo va a ser un tipo de documento; es decir, definimos los elementos, atributos y entidades que lo van a formar, cómo se estructuran y relacionan. Por tanto, si en la elaboración de nuestros documentos XML no utilizamos ninguna, el parser no puede proporcionarnos información sobre la validez de ese documento; dicho de otro modo, no nos puede indicar que los elementos y atributos que utilizamos son los correctos y si encuentran en el orden adecuado.simplemente nos indicará si ese documento está bien formado o no, es decir, si respeta las reglas sintácticas del lenguaje XML. Según la especificación, un objeto de texto es un documento XML bien formado si: Tomado como un todo, cumple la regla denominada "document". Respeta todas las restricciones de buena formación dadas en la especificación. Cada una de las entidades analizadas que se referencia directa o indirectamente en el documento está bien formada. A lo largo de los próximas dos unidades vamos a estudiar con más detalle esta definición, de manera que tengamos claro cómo tiene que ser un documento de texto para ser aceptado por un parser como un documento XML bien formado. La regla "document" Cumplir la regla "document" antes mencionada significa: 1. Que contiene uno o más elementos. 2. Hay exactamente un elemento, llamado raíz, o un elemento documento del cual ninguna parte aparece en el contenido de ningún otro elemento. 3. Para el resto de elementos, si la etiqueta de comienzo está en el contenido de algún otro elemento, la etiqueta de fin está en el contenido del mismo elemento. Es decir, los elementos delimitados por etiquetas de principio y final se anidan de forma adecuada mutuamente. El siguiente ejemplo no es un documento XML bien formado, Mi primer documento XML ya que no contiene ningún elemento y, por tanto, está incumpliendo la regla número 1. En cambio, <p>mi primer documento XML</p>

2 sí que lo es, al contener al menos el elemento "p". La principal razón por la que el procesador comprueba los elementos es para determinar si el documento tiene estructura de datos que pueda extraer. Un documento que carece de elementos no tiene estructura de datos. Un documento con al menos un elemento tiene estructura de datos. En cambio, <p>mi primer documento XML</p> <p>mi primer documento XML</p> no es un documento XML bien formado al incumplir la regla número 2, según la cual sólo puede existir un único elemento raíz. Aunque escrito de la siguiente manera sí que es correcto, <documento> <p>mi primer documento XML</p> <p>mi primer documento XML</p> </documento> al convertirse el elemento "documento" en el elemento raíz, ser único y no formar parte del contenido de ningún otro elemento. En cambio, el siguiente ejemplo, <documento> <p>mi primer <destacar>documento XML</p></destacar> <p>mi primer documento XML</p> </documento> es incorrecto al incumplir la regla 3, ya que la etiqueta inicio del elemento "destacar" está dentro del contenido del elemento "p", pero su etiqueta final está fuera. La forma correcta sería la siguiente: <documento> <p>mi primer <destacar>documento XML</destacar></p> <p>mi primer documento XML</p> </documento> Ejercicio: Documento XML que incumple la regla Document Para practicar, vamos a realizar varios ejercicios durante el curso. En este, deberéis indicar qué partes de la regla "document" incumple el siguiente documento: <libro> <titulo>el Quijote</titulo> <libro>

3 <titulo>el Lazarillo de Tormes</titulo> <autor>anonimo <libro></autor> <libro> Solución: Incumple las reglas 2 y 3. La regla 2 porque el elemento raíz libro existe más de una vez. La regla 3 porque el elemento autor empieza dentro del elemento libro pero en cambio termina fuera. Sintaxis correcta y restricciones de buena formación Además de las reglas anteriormente mencionadas, para escribir documentos XML bien formados tenemos que conocer perfectamente la sintaxis del lenguaje XML y algunas restricciones que la especificación impone. Es como en cualquier lenguaje tenemos que conocer la sintaxis de cómo se escriben los elementos, atributos y entidades, y,si las incumplimos, el "parser" nos dará un error de mala formación. Algunas de estas reglas ya las hemos visto en el capítulo anterior: cómo se escriben las etiquetas de inicio y final, cómo se escriben las etiquetas de elementos vacios, cómo tenemos que escribir los atributos etc. y es evidente que si no seguimos estas reglas el parser nos dará error. En el siguiente ejemplo: Documento XML mal formado. Miscelánea de errores, <?xml version="1.0"?> <documento> <p>mi Primer <destacar importancia=1>documento XML</destacar></p] <p>comienza con la etiqueta <documento></p> <p>a continuacion colocamos un elemento sin contenido</p> <imagen fichero="imagen.gif"> </documento> nos encontramos con cuatro errores: El valor del atributo "importancia" no está entrecomillado. En HTML es posible no entrecomillar el valor de los atributos, pero en XML es obligatorio. Tendríamos que haber escrito:...<destacar importancia="1">documento XML</destacar>... La etiqueta final, del elemento "p", está mal cerrada. En lugar del carácter "]", tendríamos que poner el símbolo mayor que ">".

4 <p>mi Primer <destacar importancia=1>documento XML</destacar></p> Estamos utilizando el símbolo menor que "<" sin que forme parte de la definición de una etiqueta. Al ser un carácter reservado, tendríamos que escribirlo como la entidad predefinida <. <p>comienza con la etiqueta <documento></p> Estamos escribiendo el elemento vacío "imagen" de forma incorrecta. Al ser un elemento sin contenido tendríamos que haberlo escrito con una etiqueta de elemento vacío: <imagen fichero="imagen.gif"/> o también de la siguiente manera: <imagen fichero="imagen.gif"></imagen> Ambas son correctas, aunque es recomendable la primera. Por tanto, el ejemplo anterior bien escrito: Documento XML bien formado <?xml version="1.0"?> <documento> <p>mi Primer <destacar importancia="1">documento XML</destacar></p> <p>comienza con la etiqueta <documento></p> <p>a continuacion colocamos un elemento sin contenido</p> <imagen fichero="imagen.gif"/> </documento> Otras reglas que debemos tener en cuenta son: El XML es sensible a la utilización de mayúsculas y minúsculas. En el siguiente ejemplo: <p>mi primer documento XML</p> <P>Mi primer documento XML</P> los elementos "p" y "P" son diferentes. Hay que tener mucho cuidado con esta regla, ya que su incumplimiento es habitual y suele ser la causa de la mayor parte de los errores. Es recomendable antes de empezar a escribir un documento XML establecer un criterio al respecto. El nombre de la etiqueta de inicio y final debe ser el mismo.

5 El siguiente ejemplo es incorrecto <p>mi primer documento XML</P> ya que al hacer diferencia entre mayúsculas y minúsculas, el parser no entiende ambas etiquetas como del mismo elemento. Ningún nombre de atributo puede aparecer más de una vez en la misma etiqueta de inicio o de elemento vacío. El siguiente ejemplo es incorrecto:...<destacar importancia="1" importancia="2">documento XML</destacar>... Un consejo; si utilizais el bloc de notas recordad que para que funcione todo el tinglado debeis guardar los ficheros con extensión ".xml". El bloc de notas procurará por todos los medios que los ficheros se guarden con extensión ".txt". Para conseguir que guarde el fichero con la extensión que deseamos, cuando tengamos la ventana de diálogo escogeremos en el desplegable "Todos los ficheros (*.*)" y pondremos el nombre del fichero con la extensión entre comillas dobles en el campo correspondiente. Ejercicio: Documento XML no valido Reescribir el siguiente ejemplo para que sea un documento XML bien formado. <?xml version="1.0"?> <libros> <libro id="quijote"> <titulo>el Quijote</titulo> <autor nombre=cervantes nombre=cervantes> <descripcion>es el m<ejor libro de cervantes.</descripcion> </libro] </Libros> Solución: Aprovecharemos este ejercicio para ver que el IE5 es una estupenda herramienta para comprobar que nuestros documentos son documentos XML bien formados. Por ejemplo, si abrimos el enunciado de este ejercicio observaremos cómo nos va indicando de forma muy clara los errores que tiene. En primer lugar, nos indica que el valor del atributo nombre no está entrecomillado.

6 En segundo lugar, nos indica que se produce un error por tener duplicado el nombre del atributo nombre. En tercer lugar, ya nos indica un error que no resulta tan claro, aunque nos debe resultar fácil adivinar que se produce porque estamos utilizando el símbolo menor que "<" sin que forme parte de la definición de una etiqueta. Al ser un carácter reservado, tendriamos que escribirlo como la entidad predefinida <..Las Entidades Todavía no hemos hablado mucho de las entidades,pero, como veremos más adelante, resultan muy importantes en la elaboración y mantenimiento eficiente de nuestros documentos XML. Una de sus funcionalidades es la de permitirnos elaborar un documento XML en "trozos"; es decir, tendremos un único documento XML, pero éste físicamente se encontrará dividido en varios ficheros. Por el momento no vamos a profundizar más en este aspecto, pero lo que hay que tener en cuenta es que para el parser se trata de un único documento XML y que, por tanto, sus diferentes partes, aún encontrándose en ficheros distintos, deben verificar las reglas de buena formación descritas anteriormente. Documentos XML válidos. Las DTD Un documento XML válido es un objeto de texto que,además de ser un documento XML bien formado, sigue las reglas de una DTD específica. Pero veamos qué es exactamente una DTD.. Que es una DTD? Una DTD (Document Type Definition) es un conjunto de reglas para definir un documento XML y etiquetarlo adecuadamente. En una DTD definimos los "componentes" de un documento XML y cómo se relacionan y estructuran.

7 Es importante tener en cuenta que una DTD no es más que una interpretación de un texto. Si tenemos un conjunto de documentos de texto que queremos convertir en documentos XML, en primer lugar debemos abstraer y generalizar los elementos de que se componen y cómo están estructurados. La declaración práctica de estos elementos y las reglas que los componen será la DTD de ese tipo de documentos. Evidentemente, esta abstracción y la forma de implementarla depende del autor que la elabore y,por tanto, es subjetiva, por lo que es posible que para un mismo documento se elaboren diferentes DTD. La siguiente porción de texto es una DTD: Ejemplo de DTD para HTML simple <!ELEMENT mihtml (c1 parrafo)*> <!ELEMENT c1 (#PCDATA)> <!ELEMENT parrafo (#PCDATA negrita)*> <!ELEMENT negrita (#PCDATA)> Como podemos observar, en la práctica no es más que un conjunto de declaraciones. Cada declaración empieza con la cadena "<!" y termina con la cadena "mayor que" ">". A continuación del símbolo de admiración viene una de las palabras reservadas del XML para especificar el tipo de objeto que se quiere definir, seguido del nombre del objeto declarado y los parámetros asociados. <!objeto_declarado nombre_de_objeto parametros_asociados> El XML soporta cinco tipos de declaraciones: DOCTYPE ELEMENT ATTLIST ENTITY NOTATION de las cuales DOCTYPE, ELEMENT y ATTLIST serán estudiadas con más detalle en esta unidad. Declarando la DTD Las declaraciones que forman la DTD pueden estar definidas en los siguientes lugares: Dentro del propio documento XML. En algún fichero externo que luego referenciamos desde el documento XML. Aunque esto no significa que se tengan que definir en su totalidad en alguno de estos lugares. Las declaraciones que la forman puede estar en parte en el fichero externo y en parte en el propio documento XML. Por tanto, hay que tener cuidado y no considerar simplemente como DTD el fichero externo, sino el conjunto de todas las declaraciones DTD, tanto las externas como las internas.

8 La declaración de una DTD empieza con la declaración DOCTYPE seguida del nombre de un elemento, que debe corresponder con el que definamos en la DTD, como el elemento raíz (Elemento documento). <!DOCTYPE nombre_de_tipo_de_documento... En nuestro ejemplo tendría el siguiente aspecto: <!DOCTYPE mihtml... A partir de aquí, dependiendo de si las declaraciones de la DTD, son exclusivamente internas, externas o mixtas, cambiará lo que tenemos que colocar en los puntos suspensivos. La DTD en el interior del documento XML En el caso de que las declaraciones de la DTD sean exclusivamente interiores, la declaración DOCTYPE tiene el siguiente aspecto: <!DOCTYPE nombre_de_tipo_de_documento [declaracions que forman la DTD]> quedando en nuestro ejemplo de la siguiente manera: <?xml version="1.0"?> <!DOCTYPE mihtml [ <!ELEMENT mihtml (c1 parrafo)*> <!ELEMENT c1 (#PCDATA)> <!ELEMENT parrafo (#PCDATA negrita)*> <!ELEMENT negrita (#PCDATA)> ]> <mithml>... </mithml> es decir, a la expresión de partida abrimos un corchete '[' realizamos las declaraciones, en las que definimos elementos, atributos, entidades, etc., y cerramos la declaración con la expresión "]>". No es demasiado frecuente que una DTD sea declarada en su totalidad dentro del documento XML La DTD exterior al documento XML En este caso, el conjunto de las declaraciones DTD irán en un fichero externo, por lo que parece normal que a la declaración DOCTYPE tendremos que indicarle de alguna manera donde se encuentra este fichero. Esto se realiza añadiendo a la expresión inicial las palabras clave SYSTEM o PUBLIC. En el caso de que sea "SYSTEM",a continuacion indicamos el identificador de sistema, que no es más que una URI (Indenficador Universal de Recursos, una forma ampliada del URL) donde se encuentra el fichero que contiene la DTD. Suponiendo que hemos guardado las declaraciones de la DTD en un fichero mihtml.dtd que se encuentra en el mismo directorio que el fichero XML,la declaración tendría el siguiente aspecto:

9 <!DOCTYPE mihtml SYSTEM "mihtml.dtd"> <mihtml>... </mihtml> En el caso de utilizar PUBLIC estaremos indicando que, además del identificador de sistema, identificamos la DTD con un identificador público (unívoco). <!DOCTYPE mihtml PUBLIC "-//Joaquin Bravo//DTD HTML Ciberaula//EN" "mihtml.dtd"> <mihtml>... </mihtml> De esta manera el procesador XML ya se encargará de convertir dicho identificador en un URI. Esta equivalencia posiblemente se obtenga en un fichero que suele denominarse "catalógo de entidades" que es donde se establece tal relación. En el caso de que no se pueda establecer esta relación utilizará el identificador de sistema. Cabe destacar que esta última característica depende mucho de las aplicaciones XML que utilicemos y debemos tener en cuenta qué formato de catálogos maneja y si los maneja. La ventaja de trabajar con DTD declaradas en ficheros externos es evidente, si tenemos en cuenta que esa misma DTD puede ser utilizada para múltiples documentos XML. La modificación de esta DTD sólo implicaría realizar modificaciones en un único fichero y no en todos los documentos XML que la utilizan. La DTD con declaraciones interiores y exteriores Es posiblemente la forma más habitual de trabajar con las DTD. En la declaración externa de la DTD se definen los elementos, atributos y entidades que formarán ese tipo de documento, y en la declaración interna se definen algunas características propias de ese documento que no van a aparecer en otros del mismo tipo. La forma de indicarlo en la declaración DOCTYPE es una mezcla de las formas anteriores. Se define como una DTD externa, pero en lugar de cerrar con el símbolo mayor que ">" abrimos el símbolo "[" para poder definir declaraciones de DTD internas y cerramos con la expresión "]>". Por ejemplo, esta forma de trabajar es muy utilizada para la declaración de entidades (en un capítulo posterior se estudia en detalle el tema de las entidades) particulares de ese documento. Imaginemos que estamos escribiendo un documento XML en el que una cadena de texto se repite constantemente y queremos evitarnos el tener que escribirla cada vez. Este problema lo podemos solucionar de la siguiente manera: <!DOCTYPE mihtml SYSTEM "mihtml.dtd" [ <!ENTITY texto "En un lugar de la mancha" ]> <mihtml> <p>&texto;</p>

10 <p>&texto;</p> <p>&texto;</p> <p>&texto;</p> </mihtml> También se puede utilizar para añadir nuevos elementos, listas de atributos, etc.. Imaginemos que queremos añadir texto en cursiva dentro del elemento parrafo en un documento XML basado en nuestra mihtml, y sólo queremos que funcione en este documento. Y lo haremos creando un nuevo elemento que denominamos cursiva <!DOCTYPE mihtml SYSTEM "mihtml.dtd" [ <!ELEMENT parrafo (#PCDATA negrita cursiva)*> <!ELEMENT cursiva (#PCDATA)> ]> <mihtml> <parrafo>texto en <cursiva>cursiva</cursiva></parrafo> </mihtml> Evidentemente, hemos tenido que redefinir el elemento parrafo para que en su contenido contemple el elemento cursiva. Hay que tener en cuenta que se procesan antes las declaraciones internas que las externas. Definición de los elementos El XML no tiene elementos predefinidos. Cuando nos ponemos a escribir un documento XML, no disponemos del H1, A o del IMG del HTML. Podemos utilizar nuestros propios elementos, los cuales se definen en la DTD. Esto lo realizamos mediante la declaración ELEMENT cuya sintaxis es la siguiente: <!ELEMENT nombre_elemento (especificacion del contenido)> Especificación del contenido En esta parte de la declaración indicamos cúal va a ser el contenido de ese elemento. Como ya hemos visto en capítulos anteriores tenemos cuatro posibilidades: Que no tenga contenido. Que esté formado sólo por texto. Que esté formado únicamente por elementos. Que tenga un contenido mixto de texto y elementos. Sin contenido Esto se determina colocando la palabra clave EMPTY en la declaración del contenido. Son elementos

11 que no tienen contenido y su valor suele estar determinado por los atributos. Es el caso de los elementos IMG, HR, BR, etc., del HTML. Si a nuestro ejemplo de minihtml queremos añadirle la posibilidad de trabajar con imágenes, como un elemento sin contenido cuyas propiedades especificaremos en los atributos, y que éstas puedan aparecer en cualquier lugar del documento, tendremos que añadir las siguientes declaraciones: <!ELEMENT mihtml (c1 parrafo imagen)*>... <!ELEMENT imagen EMPTY> Luego en el XML lo tendremos que escribir de la siguiente manera: <imagen...atributos... /> Contenido formado sólo por texto Esto lo conseguimos colocando la palabra clave #PCDATA en la espeficicación del contenido. De esta manera estamos indicando que dentro de ese elemento no puede haber ningún otro elemento y que, por tanto, sólo nos encontraremos texto. En nuestro ejemplo es el caso del elemento negrita. <!ELEMENT negrita (#PCDATA)> Este elemento en XML se escribirá:...<negrita>texto</negrita>... Contenido formado sólo por elementos En este caso en la especificación del contenido sólo debemos indicar los nombres (identificadores genéricos) de otros elementos. Posiblemente éstos estén relacionados mediante los indicadores de aparición y conectores de grupo que explicamos más adelante. En nuestro ejemplo es el caso del elemento mihtml en cuya declaración indicamos que estará formado por los elementos: c1, para e imagen. <!ELEMENT mihtml (c1 parrafo imagen)*> Este elemento en XML se escribirá por ejemplo: <mihtml> <parrafo>...</parrafo> <parrafo>...</parrafo> </mihtml> Contenido mixto También es posible combinar los dos últimos casos y declarar la especificación de contenido, de manera que un elemento tenga texto y otros elementos. En nuestro ejemplo es el caso del elemento para, que puede estar formado de texto y de elementos

12 negrita. <!ELEMENT parrafo (#PCDATA negrita)*> Como podemos observar, no tenemos más que combinar la palabra clave #PCDATA con los nombres de los elementos que contendra. Este elemento en XML se escribirá por ejemplo: <parrafo>esto es un <negrita>parrafo</negrita></parrafo> o <parrafo>esto es un parrafo</parrafo> Posiblemente, el nombre de contenido mixto no sea el más adecuado, ya que como vemos en el ejemplo el modelo de contenido mixto no significa que siempre deban incluirse tanto elementos como texto. También es posible indicar que un elemento puede contener cualquier elemento o carácter. Esto se consigue mediante la palabra clave ANY. Es muy poco utilizado, aunque puede ser muy útil durante el proceso de creación de una DTD cuando todavía no tenemos muy claro cuál será el contenido de un elemento. Conectores de grupo El modelo de contenido puede contener más de un elemento y,por tanto, se necesita información adicional que especifica el orden en el que aparecen. Para ello utilizamos los contectores de grupo. En el XML hay dos posibles conectores de grupo:, indica que deben aparecer en ese orden. indica que sólo uno de los componentes puede aparecer. Si nos fijamos en nuestro ejemplo, utilizamos esencialmente el conector mediante el cual indicamos que el autor del documento XML puede elegir entre un elemento u otro. Por ejemplo, en: <!ELEMENT mihtml (c1 parrafo imagen)*> estamos indicando que dentro del elemento mihtml el autor puede poner o el elemento c1, o el elemento parrafo, o el elemento imagen. Es decir, que los siguientes ejemplos son todos válidos. <mihtml> <parrafo>...</parrafo> </mihtml> <mihtml> <c1>...</c1> </mihtml>

13 <mihtml> <imagen/> </mihtml> Otro tema es el indicador,* que nos indica que ese modelo de contenido se puede repetir y que, por tanto, esos tres elementos pueden aparecer tantas veces como quieran. En cambio el conector "," establece una secuencia que debe seguirse. Imaginemos que en nuestro pequeño HTML queremos incluir la posibilidad de tener listas ordenadas y que éstas puedan estar ordenadas. Si al elemento lista ordenada lo identificamos mediante el elemento lo y a sus entradas "items" mediante el elemento item, su declaración en la DTD quedaría de la siguiente manera: <!ELEMENT lo (item, (lo item)*)> <!ELEMENT item (#PCDATA)> Mediante el conector,, estamos indicando que dentro de un lo en primer lugar debe haber un item y que luego puede venir otro "item" o empezar otra lista. Un texto XML que se ajuste a esta definición podría ser: <lo> <item>texto</item> <item>texto</item> <lo> <item>texto</item> <item>texto</item> </lo> </lo> Indicadores de aparición Se utilizan para indicar cuántas veces puede aparecer el elemento referenciado en el modelo de contenido. Hay tres indicadores de aparición: + Indica que puede haber una o más apariciones del elemento.? Indica que puede haber a lo más una o ninguna aparición del elemento. * Indica que el elemento puede estar ausente, una o más veces. Como ya hemos explicado, dentro del elemento mihtm, los elementos c1, parrafo o elemento imagen pueden aparecer en el orden que quieran, pero tantas veces como quieran, o incluso ninguna. Esta última característica la indicamos mediante el indicador *. Pero imaginemos que queremos que el primer elemento de una lista ordenada no sea siempre el elemento item, sino que queremos permitir que sea lo. En tal caso podríamos definir el elemento de la siguiente manera: <!ELEMENT lo (item?, (lo item)*)> Donde con item? estamos indicando que puede aparecer 0 o 1 veces y que, por tanto, el siguiente ejemplo es válido.

14 <lo> <lo> <item>texto</item> <item>texto</item> </lo> </lo> Aunque en este caso conseguiríamos el mismo efecto definiendo el elemento de la siguiente manera: <!ELEMENT lo (lo item)*>.añadiendo atributos a los elementos Del mismo modo que los elementos, los atributos se declaran en la DTD utilizando una sintaxis bastante similar. En este caso se realiza mediante el término ATTLIST, que en el comienzo de una declaración indica que es una especificación de una lista de atributos. <!ATTLIST nombre_elemento nombre_atributo tipo valor_defecto> Como podemos observar, la primera muestra indica el elemento sobre el cual se van a definir los atributos y, a continuación, viene una tripla de datos en los que indicamos: El nombre del atributo El tipo Y su valor por defecto. Esta tripla se puede repetir tantas veces como queramos dentro de la declaración, es decir, podemos declarar una lista de atributos, de ahí su nombre. Un ejemplo de definición de atributos para nuestro elemento imagen podría ser: <!ATTLIST imagen direccion CDATA #REQUIRED alineacion (izquierda, centrada, derecha) "izquierda"> Tipo Una utilidad importante de los atributos es que mediante el tipo podemos hacer cumplir al elemento obligaciones léxicas o semánticas. Las obligaciones léxicas son por ejemplo "este atributo debe contener sólo números" y las semánticas son "este atributo debe contener el nombre de una entidad declarada". Evidentemente estas obligaciones son muy útiles, ya que nos permiten garantizar la integridad de algunos de los valores de los atributos, pero la verdad es que son bastante limitadas y en muchas ocasiones insuficientes. Los tipos de atributos pueden ser: CDATA NMTOKEN NMTOKENS

15 ENUMERADOS NOTATION ID IDREF IDREFS ENTITY ENTITYS En teoria las posibilidades son muchas, aunque luego en la práctica sin duda alguna los más utilizados son los CDATA y el ID. CDATA Es el tipo de atributo más sencillo.mediante su utilización estamos indicando que el valor del atributo debe ser de tipo carácter. Es, por tanto, de todos los tipos el que menos obliga. Al especificar el atributo direccion de nuestro elemento imagen: <!ATTLIST imagen direccion CDATA #REQUIRED... estamos indicando que el valor del atributo dirección puede llevar cualquier tipo de carácter. ID Mediante este tipo de atributo identificamos de forma unívoca un elemento del documento XML. Su valor debe ser único en el documento. Imaginemos que queremos identificar de forma unívoca los elementos c1, de manera que luego sean fácilmente identificables y referenciables. Esto lo tendríamos que indicar: <!ATTLIST c1 id ID #REQUIRED... IDREF Está estrechamente ligado al tipo de atributo ID, y mediante su utilización estamos indicando que hacemos referencia al valor de algún atributo ID. NMTOKEN Estos atributos se parecen en parte a los atributos CDATA. La principal diferencia es que sólo aceptan lo caracteres. ENUMERADOS Ofrecen al usuario la posibilidad de elegir entre un número reducido de valores. Es el caso, por ejemplo, del atributo alineacion en el elemento imagen: <!ATTLIST imagen

16 ... alineacion (izquierda, centrada, derecha) "izquierda"> Donde estamos indicando que los únicos valores permitidos para el atributo alineacion son: izquierda, centrada y derecha. Valor por defecto La última parte de la especificación sirve para indicar al parser cómo debe interpretar la ausencia de atributo. Ya hemos visto que en este lugar podemos indicar, el valor que puede tener por defecto. Pero en el caso de que esto no sea así,indicamos al parser cómo debe interpretar la ausencia de atributo con las siguientes palabras reservadas: #REQUIREDestamos indicando que es obligatorio colocar un valor en el atributo. #IMPLIED, indicamos que el valor para ese atributo es opcional, puede tener o no tener. #FIXED, estamos fijando el valor del atributo y el documento no será válida si a ese atributo le damos un valor diferente al especificado. Escribiendo nuestras propias DTD Vamos a escribir unas DTD complejas que nos servirán de ejemplo para futuros desarrollos. Cada una se corresponderá con un tipo de documento, de los que distinguiremos cuatro, por lo que trabajaremos con cuatro DTD diferentes. Tres las elaboraremos nosotros: articulo.dtd bookmark.dtd novedades.dtd y una cuarta, que nos permitirá escribir las FAQs; utilizaremos la QAML.dtd, que ya está desarrollada. En la próxima unidad empezaremos describiendo en detalle el proceso de elaboración de una DTD para escribir artículos y, en los siguientes, explicaremos de forma más breve el resto de las DTD. DTD de artículos En la elaboración de una DTD podemos diferenciar tres pasos: El proceso de abstracción de los elementos que forman un tipo de documento y las relaciones que existen entre ellos. Plasmación de este proceso de abstracción en una DTD. Validación de la DTD y verificación práctica de que se ajusta a nuestras necesidades. Estructura lógica del tipo de documento artículo

17 La primera parte es sin duda alguna la más complicada y posiblemente la más importante. Es el momento en el cual vamos a estructurar la información que luego representaremos mediante una DTD. No es un problema de conocer el XML o de saber las DTD. Es sobretodo una cuestión de tener clara la información con la que vamos a trabajar, qué elementos la componen,qué características tienen y cómo vamos a organizarla. Un artículo a un nivel general está formado por dos partes bien diferenciadas: el contenido del artículo y la metainformación sobre el artículo. La metainformación no es más que la información relativa al contenido del documento, como su título, autor, tamaño del archivo, fecha de creación, historial de los cambios, palabras clave, y demás información asociada. En nuestro caso vamos a utilizar: título autor palabras clave resumen En esta parte podríamos poner mucha más información, toda la que creamos que nos puede hacer falta. Toda esta información nos puede resultar útil, por ejemplo,para la búsqueda y gestión de estos documentos. En la parte de contenido tendremos que identificar los elementos que nos permitan representar esos contenidos. Si tomamos como ejemplo este tutorial, que puede considerarse como una generalización de nuestro documento artículo, observamos que la información está organizada en bloques de texto (párrafos, listas, tablas) e imágenes. Y que además estos bloques están organizados estructuralmente en capítulos y subcapítulos Esta estructura para nuestros artículos será igual: representaremos la información mediante elementos párrafos, listas, imágenes, etc. y la organizaremos en subcapitulo1es y subsubcapitulo1es. En nuestro caso utilizaremos exactamente los siguientes elementos: párrafos

18 listas, tanto ordenadas como desordenadas imágenes código, ya que nuestros artículos (al menos en el ejemplo que desarrollamos) serán sobre temas informáticos. Y estructuralmente toda la información anterior podrá estar organizada en subcapitulo1es. También debemos tener en cuenta qué elementos pueden existir dentro de esos bloques de texto. Podríamos querer destacar parte del contenido del texto, porque es el nombre de una función o el nombre de un autor; podríamos querer poner referencias a otro documentos u otros direcciones, etc. En nuestro caso, utilizaremos exactamente los siguientes: Un elemento mediante el cual destacaremos parte del contenido Enlaces Hasta el momento ya hemos visto qué elementos pueden formar nuestro documento artículo y cómo

19 están organizados. Pero nos falta por ver un detalle muy importante: que propiedades tienen. Por ejemplo, tenemos el elemento imagen mediante el cual nos será posible incluir imágenes en nuestro artículo. Algunas propiedades posibles son: el fichero en el que se encuentra la imagen, qué dimensiones tendrá, cuál será su tamaño, etc. Nuestro ejemplo será sencillo, y los únicos elementos que tendrán propiedades serán los elementos enlace e imagen. El enlace tendrá una propiedad mediante la cual indicaremos la ubicación del recurso destino y otra mediante la cual describiremos el recurso. La imagen tendrá una propiedad mediante la cual indicaremos la ubicación del fichero que la contiene y otra mediante la cual describiremos el recurso. Representación en una DTD de esta estructura lógica Ya tenemos una representación abstracta de la estructura de un tipo de documento artículo y,por tanto,ya estamos en condiciones de escribir una DTD que represente dicha estructura. Lo primero es elegir el nombre del elemento raíz, que denominaremos articulo. Por tanto, el documento XML tendrá el siguiente aspecto: <articulo>... </articulo> y en nuestra DTD: <!ELEMENT articulo (metainfo, cuerpo)> donde indicaremos que está formado por los elementos metainfo y cuerpo obligatorios y en ese orden. El elemento metainfo estará formado por los elementos titulo, autor, pclave, y resumen. <!ELEMENT metainfo (titulo, autor, pclaves?, resumen?)> Donde indicaremos que los elementos pclaves y resumen son optativos. El contenido del elemento titulo sólo puede ser texto: <!ELEMENT titulo (#PCDATA)> El contenido del elemento autor serán los elementos nombre, , url. De esta manera permitimos incluir más información sobre el autor del artículo, <!ELEMENT autor (nombre, ?, url?)>

20 aunque solo es obligatorio el elemento nombre. El contenido de estos tres elementos es simplemente texto: <!ELEMENT nombre (#PCDATA)> <!ELEMENT (#PCDATA)> <!ELEMENT url (#PCDATA)> El elemento pclaves, que no es obligatorio, tiene como contenido sólo texto: <!ELEMENT pclaves (#PCDATA)> Y el elemento resumen, que tampoco es obligatorio, está formado sólo por texto: <!ELEMENT resumen (#PCDATA)> A continuación pasamos a describir los elementos del elemento contenido, que identificaremos mediante la etiqueta cuerpo. El elemento cuerpo empezará por un elemento titulo seguido de subcapitulo1es, aunque puede ser que el autor comience el artículo por alguno de los elementos que hemos englobado como bloques de texto e imágenes. <!ELEMENT cuerpo (titulo, (para imagen lds lo codigo)*,subcapitulo1*)> Mediante el elemento para representaremos los párrafos. <!ELEMENT para (#PCDATA destacar enlace)*> Su contenido, además de texto, es el elemento destacar y enlace. Y el elemento imagen: <!ELEMENT imagen EMPTY> <!ATTLIST imagen direccion CDATA #REQUIRED> descripcion CDATA #REQUIRED> Será un elemento vacio. Sus características están determinadas en el valor de sus atributos: direccion, donde indicaremos la localización del fichero que contiene la imagen. Es obligatorio. descripcion, donde escribiremos una descripción de la imagen. Es obligatorio. Mediante el elemento lds indicamos las listas desordenadas las cuales pueden estar formadas por los elementos de entrada de lista o por otras listas: <!ELEMENT lds (il, (il lds lo)*)>

21 Y el elemento lo indicará listas ordenadas: <!ELMENT lo (il, (il lds lo)*)> Mediante el elemento il indicamos los elementos que forman la lista, y cuyo contenido es el siguiente: <!ELEMENT il (#PCDATA destacar enlace)*> Mediante el elemento codigo indicamos que lo que vamos a escribir es código. <!ELEMENT codigo (#PCDATA)> Su contenido sólo es texto. El artículo podrá estar dividido en subcapitulo1es. Vamos a limitar las subcapitulo1es posibles a dos niveles. Las de primer nivel las identificaremos mediante el elemento subcapitulo1 y las de segundo nivel mediante el elemento subcapitulo11. Aunque esta estructuración no es obligatoria. <!ELEMENT cuerpo (titulo, (para imagen lds lo codigo)*,subcapitulo1*)> <!ELEMENT subcapitulo1 (titulo, (para imagen lds lo codigo)*, subcapitulo11*)> <!ELEMENT subcapitulo11 (titulo, (para imagen lds lo codigo)*)> Las subcapitulo1es deben comenzar por el elemento titulo y van a estar identificadas de forma unívoca por un atributo id. <!ATTLIST subcapitulo1 id ID #REQUIRED> <!ELEMENT subcapitulo11 (titulo, (para imagen lds lo codigo)*)> <!ATTLIST subcapitulo11 id ID #REQUIRED Hay que tener claro que cuanto más identificados tengamos los elementos y más información tengamos sobre cada uno,mejor;.más acciones podremos realizar posteriormente sobre el documento. En nuestro caso,por sencillez, sólo identificaremos mediante un atributo de tipo ID las subcapitulo1es. Pero en los próximos capítulos, que veremos la DTD para escribirlas FAQS, o la DTD del WML,comprobaremos quw como todos los elementos están identificados mediante el atributo de ID. Y, por último, sólo nos faltan definir los elementos en línea que como ya hemos visto aparecen en los elementos para y il. Mediante el elemento destacar, resaltaremos texto. <!ELEMENT destacar (#PCDATA)>

22 Su contenido sólo puede ser texto. Mediante el elemento enlace podremos hacer referencia a un recurso externo. <!ELEMENT enlace (#PCDATA)> Su contenido sólo puede ser texto y será precisamente el ancla del enlace. Sus atributos coinciden con las del elemento imagen, teniendo la misma funcionalidad. <!ATTLIST imagen direccion CDATA #REQUIRED> descripcion CDATA #REQUIRED> DTD de bookmarks En este apartado vamos a escribir una DTD que nos permitirá estructurar y mantener en formato XML nuestras direcciones preferidas. Para hacernos una idea de los elementos que nos permiten definir una dirección podemos dar una vuelta por algunos de los buscadores más conocidos y observar qué información suelen presentar sobre una dirección. Si por ejemplo visitamos Altavista, observaremos que al presentarnos una dirección nos ofrece la siguiente información: Por tanto, una dirección la podríamos representar mediante los siguientes elementos: Título de la dirección URL de la dirección Descripción Idioma del contenido de la dirección. A los cuales nosotros añadiremos también un elemento valoración, que nos permitirá indicar nuestro criterio sobre una dirección. Un borrador de documento XML, mediante el cual representamos una dirección, podría ser: <direccion> <titulo>...</titulo>

23 <url>...</url> <descripcion>...</descripcion> <idioma>...</idioma> <valoracion>...</valoracion> </direccion> Y ordenándolo un poco: <direccion idioma="" valoracion=""> <titulo>...</titulo> <url>...</url> <descripcion>...</descripcion> </direccion> Ejercicio: Escribir DTD para el elemento direccion. Escribir una pequeña DTD que se ajuste al XML anterior. Teniendo en cuenta que: El contenido de los elementos titulo, url y descripcion: Sólo pueden ser texto. Tienen que aparecer en ese orden. Y el único elemento no obligatorio es la descripción. Los atributo idioma son obligatorios. El atributo valoracion sólo puede tener valores entre 1 y 5 y por defecto su valor es 1. El atributo idioma sólo puede tener los valores esp y ing. Solución: La solución es: <!ELEMENT direccion (titulo, url, descripcion?)> <!ATTLIST direccion valoracion ( ) "1" idioma (esp ing) #REQUIRED> <!ELEMENT titulo (#PCDATA)> <!ELEMENT url (#PCDATA)> <!ELEMENT descripcion (#PCDATA)> Ahora lo que nos falta es crear unos elementos que nos permitan agrupar las direcciones en grupos (al estilo de las carpetas de Windows), de manera que las podamos tener ordenadas en conjuntos y subconjuntos. Es decir, de una forma similar a ésta: <bookmark> <titulo>mis direcciones favoritas</titulo> <descripcion>direcciones favoritas.</descripicion>...direcciones... <grupo id="deporte">

24 <titulo>deportes</titulo>...direcciones... <grupo id="futbol"> <titulo>futbol</titulo>...direcciones... </grupo> </grupo>...direcciones <bookmark> Ejercicio: Escribir la DTD de bookmarks Ampliar la mini DTD que hemos escrito para una dirección, de manera que nos permita agrupar las direcciones en grupos y subgrupos al estilo del Explorador de Windows. Solución: El elemento raíz se llamara bookmark y está formado por los siguiente elementos: Un elemento metainfo al estilo de la DTD de artículos. Por un elemento titulo. Por un elemento descripcion optativo que sólo puede aparecer una vez. Y a continuación aparecerán direcciones o grupos de direcciones. Las carpetas se llamarán grupo y podran contener otros elementos grupo y por supuesto direcciones. Cada grupo tendrá un atributo id que lo identifique de forma unívoca. Su primer elemento es el elemento titulo. Luego puede estar formado indistamente por direcciones o grupos de direcciones. Como mínimo, en el caso de que no tenga otro grupo, deberá tener al menos una dirección. Ésta sería la DTD: <!ELEMENT bookmark (metainfo,titulo,descripcion?,(direccion grupo)+)> <!--...Aqui va desarrollado el elemento metainfo... --> <!ELEMENT descripcion (#PCDATA)> <!ELEMENT grupo (titulo,(direccion grupo)+)> <!ATTLIST grupo id ID #REQUIRED> <!ELEMENT direccion (titulo, url, descripcion?)> <!ATTLIST direccion valoracion ( ) "1" idioma (esp ing) #REQUIRED> <!ELEMENT url (#PCDATA)> DTD completa

25 Mínimo XML para la DTD de bookmarks Escribir el documento XML mínimo que se ajuste a la DTD para "bookmarks". Solución: Sólo tenemos que fijarnos en los elementos de la DTD que sean obligatorios. <?xml version="1.0" encoding="iso "?> <!DOCTYPE bookmark SYSTEM "bookmark.dtd"> <bookmark> <metainfo> <titulo>mis direcciones favoritas</titulo> <autor> <nombre>joaquin Bravo Montero</nombre> </autor> </metainfo> <titulo>mis direcciones favoritas</titulo> <direccion idioma="esp"> <titulo>programacion en castellano</titulo> <url> </direccion> </bookmark> NOTA: Visualizar el documento XML, por ejemplo en el IE5 y observar qué pasa con el atributo valoracion. minimobookmark.xml Bookmark en XML sobre el tema seleccionado. Escribir en XML un documento bookmark sobre el tema seleccionado. Solución: En el bookmark se recogen interesantes direcciones sobre WML y WAP. La DTD de novedades Mediante esta DTD crearemos los documentos XML en los que registraremos las novedades que se vayan produciendo en nuestro web. En cada novedad indicaremos: El título de la novedad La url La fecha Y una breve descripción Ejercicio: DTD para las novedades

26 Escribir una DTD que nos permita escribir en un documento XML las novedades que se produzcan en nuestro web. Solución: Una DTD para escribir novedades podría ser perfectamente: <!ELEMENT novedades (novedad+)> <!ELEMENT novedad (titulo, url, descripcion?)> <!ATTLIST novedad fecha CDATA #REQUIRED> <!ELEMENT titulo (#PCDATA)> <!ELEMENT url (#PCDATA)> <!ELEMENT descripcion (#PCDATA)> novedades.dtd Ejercicio: Documento XML de novedades Escribir un documento XML que se ajuste a la DTD de novedades. Solución: Este es el documento XML de novedades de mi web sobre WML DTD. Entidades Hasta el momento hemos asociado un documento XML con un único fichero, pero esto no tiene porque ser así. El XML nos permite organizar el contenido de un documento XML de forma mucho más flexible. Por ejemplo,si tenemos un libro en formato XML éste no tiene porque incluirse en un único fichero;si queremos, cada capítulo puede estar en un fichero. Lo que permite esta flexibilidad se denomina entidad. Una entidad es una unidad de almacenamiento que puede contener cualquier cosa: desde una cadena de caracteres hasta un fichero,un gráfico,y que,por tanto,nos permite dividir el documento XML en varios objetos de almacenamiento.después la aplicación XML que tenga que trabajar con ese documento XML tratará ese conjunto de objetos como un único objeto XML. Las ventajas que las entidades nos proporcionan son evidentes: Facilita la creación y el mantenimiento de documentos XML, al permitirnos trabajar sobre partes de éstos. Permite que varias personas trabajen sobre diferentes partes de un documento XML. Reusabilidad. Estas entidades pueden ser utilizadas en otros documentos XML. etc.

27 .DTD. Entidades Todas las declaraciones de entidades,independientemente del tipo que sean, utilizan la misma sintaxis: <!ENTITY nombre "contenido"> donde nombre es el identificador de la entidad y el contenido es su contenido o una referencia a éste..tipos de Entidades Debido a que las entidades XML pueden hacer tantas cosas, existen muchas variedades de entidades. Esto no significa que existan siete u ocho tipos diferentes con nombre sencillos. Existen tres propiedades que definen el tipo: Dependiendo de si la entidad debe ser analizada o no por el parser, una entidad se puede clasificar como analizada o no analizada. Dependiendo de si el contenido de la entidad es interno o externo es decir de si su contenido aparece en la declaración o no, la entidad se puede clasificar como interna o externa. Dependiendo de si se utiliza en la DTD o en el documento se clasifica como paramétrica o general. Pero las entidades pueden pertenecer a varios de estos tipos y, por ejemplo, tener una entidad general interna analizada. Las posiblidades de combinación son, por tanto ocho, pero tres de ellas imposibles, por lo que el número de entidades posible es cinco. Entidad general interna analizada. Entidad general externa analizada. Entidad general externa no analizada. Entidad parámetro interna. Entidad parámetro externo. En principio puede parecer un poco complicado, pero veamos cada caso por separado con algunos ejemplos concretos y vereis que en el fondo todo es muy sencillo..entidad general interna analizada. Son las más sencillas de todas y son básicamente abreviaturas totalmente definidas en la sección de declaración de tipo de documento.

28 En este ejemplo, <?xml version="1.0"?> <!DOCTYPE ejemplo [ <!ENTITY nomclub "Club de Usuarios de Internet"> ]> <ejemplo> En el &nomclub; realizamos cursos sobre Internet. </ejemplo> declaramos la entidad nomclub en la línea: <!ENTITY nomclub "Club de Usuarios de Internet"> y luego la utilizamos colocando el nombre de la entidad entre los símbolos & y ; La consecuencia de su utilización es que cuando el parser lea el documento cambiará la llamada a la entidad &nomclub; Esta entidad es: General al ser definida en un documento XML. Interna al aparecer su contenido en la declaración. Este tipo de entidades es muy utilizado también cuando es necesario emplear algún carácter que el juego de caracteres que hemos definido en el atributo encoding de la declaración XML no soporta. Por ejemplo, si quisiéramos colocar el símbolo del copyright podriamos hacerlo de la siguiente mamera: <?xml version="1.0"?> <!DOCTYPE ejemplo [ <!ENTITY copy " "> ]> <ejemplo> Ciberaula. </ejemplo>.entidad general externa analizada En este caso la declaración no lleva implícito el contenido de la entidad. Lleva un identificador externo que indicará a la aplicación XML dónde se encuentra el contenido de la entidad. Este identificador externo es la palabra SYSTEM seguida de la dirección (URI) donde se encuentra el recurso. <?xml version="1.0"?> <!DOCTYPE libro [ <!ENTITY capitulo1 SYSTEM "capitulo1.xml">

29 ]> <libro> &capitulo1; </libro> En este ejemplo, si el contenido del documento capitulo1.xml es: <?xml version="1.0"?> <capitulo> <para>este es el primer capitulo</para> </capitulo> Las posibilidades de esta forma de trabajar son enormes, ya que: Esta misma entidad podría ser utilizada desde múltiples documentos XML. Permite que diferentes autores desarrollen diferentes partes de un documento XML de forma independiente,no teniéndose que preocupar del conjunto del documento XML. Ejercicio: Reescritura de XML Volver a escribir el XML de bookmarks,de manera que cada dirección sea una entidad externa. Ejercicio: Tenemos que definir cada direccion en un fichero XML y luego en la declaración XML indicar dónde se encuentran estos ficheros. En el ejemplo sobre direcciones de WML y WAP, el fichero XML quedaría de la siguiente manera: <?xml version="1.0" encoding="iso "?> <!DOCTYPE bookmark SYSTEM "bookmark.dtd" [ <!-- Metainformacion --> <!ENTITY meta SYSTEM "wapdev_meta.xml"> <!-- Direcciones --> <!ENTITY wapfacil SYSTEM "wapdev/wapfacil.xml"> <!ENTITY wmlclub SYSTEM "wapdev/wmlclub.xml"> <!ENTITY asphtml SYSTEM "wapdev/asphtml.xml"> <!ENTITY cestacompra SYSTEM "wapdev/cestacompra.xml"> ]> <bookmark> &meta; <titulo>información general sobre WAP</titulo> <descripcion>recopilación de direcciones sobre WAP y WML.</descripcion> <grupo id="doc-portales"> <titulo>tutoriales</titulo> &wapfacil; &wmlclub;

30 </grupo> <grupo id="articulos"> <titulo>artículos</titulo> &asphtml; &cestacompra; </grupo> Los nuevos ficheros XML con las direcciones han sido creados en el subdirectorio wapdev. Fijaros que también se ha definido fuera el elemento metainfo Hay que destacar que para el parser de XML sigue siendo una única entidad. Fijaros como el IE5 lo muestra completo..entidad parámetro Como ya hemos dicho,las entidades XML se clasifican según puedan usarse en una DTD o en el documento. Las entidades que sólo pueden utilizarse en la DTD se denominan entidades parametro. Están diseñadas para contener listas de atributos y modelos de contenido. Nos ayudarán a organizar y agilizar la creación de las DTD, y hacerla más eficiente y consistente. Si nos fijamos en la DTD de artículos existen,elementos con un modelo de contenido idéntico en su totalidad o parte de éste. Por ejemplo los elementos cuerpo, seccion y seccion1 <!ELEMENT cuerpo (titulo, (para imagen lds lo codigo)*,seccion*)> <!ELEMENT seccion (titulo, (para imagen lds lo codigo)*, seccion1*)> <!ATTLIST seccion id ID #REQUIRED> <!ELEMENT seccion1 (titulo, (para imagen lds lo codigo)*)> tienen en común. (para imagen lds lo codigo)* Lo que nos permiten las entidades paramétrícas es definir este modelo de contenido como una entidad y luego hacer referencia a ella tantas veces como sea necesario. De esta manera si necesitamos modificar estos elementos, tendremos que hacerlo sólo una vez, en un único lugar, y no tener que ir elemento por elemento realizando la modificación. Las entidades paramétricas tienen un identificador especial en su declaración que las diferencia de las generales. Este indicador es el símbolo de tanto por ciento (%), y se usa precediendo al nombre. <!ENTITY % nombre "contenido">

31 También cambia la forma de referenciarla. En lugar de colocar el nombre entre el & y ; se coloca entre % y el ;. Por tanto, en nuestro ejemplo podemos crear la siguiente entidad paramétrica: <!ENTITY % bloques "para imagen lds lo codigo"> y describir el modelo de contenidos de los elementos cuerpo, seccion y seccion1 de la siguiente manera: <!ELEMENT cuerpo (titulo, (%bloques;)+,seccion*)> <!ELEMENT seccion (titulo, (%bloques;)+, seccion1*)> <!ATTLIST seccion id ID #REQUIRED> <!ELEMENT seccion1 (titulo, (%bloques;)+)> Esto también lo podemos hacer con listas de atributos. Por ejemplo, los elementos imagen y enlace tienen los mismos atributos. <!ATTLIST imagen direccion CDATA #REQUIRED descripcion CDATA #REQUIRED> Por tanto, podríamos definir esta lista de atributos dentro de una entidad paramétrica. Ejercicio: Reescribir la DTD de artículos utilizando entidades. Reescribir la DTD de artículos redefiniendo modelos de contenidos y listas de atributos iguales como entidades paramétricas. Solución: Creamos una entidad bloques para declarar el modelo de contenido que se repite en los elementos cuerpo, seccion y seccion1. <!ENTITY % bloques "para imagen lds lo codigo"> Creamos una entidad enlinea para declarar el modelo de contenido que se repite en los elementos para y il. <!ENTITY % enlinea "enlace destacar"> Y creamos una entidad att.elementos.enlace para declarar la lista de atributos que se repite en los elementos enlace e imagen. <!ENTITY % att.elementos.enlace " direccion CDATA #REQUIRED descripcion CDATA #REQUIRED">

LENGUAJE DE MARCAS Y SISTEMAS DE GESTIÓN DE LA INFORMACIÓN - XML

LENGUAJE DE MARCAS Y SISTEMAS DE GESTIÓN DE LA INFORMACIÓN - XML TEMA 2.- DTD (Document Type Definition) 1. DTD DTD es un estándar que nos permite definir una gramática que deben cumplir nuestros documentos XML para considerarlos válidos. Una definición DTD para n documentos

Más detalles

2. DTD. (Document Type Definition)

2. DTD. (Document Type Definition) 2. DTD (Document Type Definition) Contenidos Validación y definición de documentos DTD: Document Type Definition Declaraciones de tipo Elemento Modelos de contenido Declaraciones de lista de Atributos

Más detalles

X M L QUÉ ES XML. Un documento puede ser correcto a dos niveles bien formado y válido. DOCUMENTO BIEN FORMADO

X M L QUÉ ES XML. Un documento puede ser correcto a dos niveles bien formado y válido. DOCUMENTO BIEN FORMADO X M L QUÉ ES XML XML es un metalenguaje que permite crear otros lenguajes. Proporciona una serie de reglas para que podamos definir las etiquetas y sus atributos. El conjunto de reglas de un lenguaje se

Más detalles

DOCUMENT TYPE DEFINITION (DTD)

DOCUMENT TYPE DEFINITION (DTD) DOCUMENT TYPE DEFINITION (DTD) ENSAYO POR: Viridiana Figueroa Soria Contenido QUE ES DTD?... 3 COMO SE HACE UNA DECLARACION EN EL DOCUMENTO... 3 LA FUNCION DE LOS DTD... 3 Declaraciones Tipo Elemento...

Más detalles

Validación de XML JUAN CARLOS CONDE RAMÍREZ WEB-TECHNOLOGIES

Validación de XML JUAN CARLOS CONDE RAMÍREZ WEB-TECHNOLOGIES Validación de XML JUAN CARLOS CONDE RAMÍREZ WEB-TECHNOLOGIES Objetivos Comprender qué es la validación XML y su importancia. Identificar la diferencia ente un XML bien formado y un XML válido. Entender

Más detalles

Tema IV. XML III. Document Type Definitions

Tema IV. XML III. Document Type Definitions Tema IV. XML III. Document Type Definitions Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Documentos XML con DTDs 3.Declaraciones i. ELEMENT ii. ATTLIST iii.entity 4.Limitaciones

Más detalles

XML básico. Fundamentos de la Web Semántica. Qué es XML? XML básico. Documento XML. Pablo R. Fillottrani. Entidades. Elementos y Atributos

XML básico. Fundamentos de la Web Semántica. Qué es XML? XML básico. Documento XML. Pablo R. Fillottrani. Entidades. Elementos y Atributos XML básico XML básico Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre 2013 XML es un acrónimo por extended Markup Language XML es una

Más detalles

XML Bien Formado. <nombre> José </nombre> y también puede ser un elemento el siguiente:

XML Bien Formado. <nombre> José </nombre> y también puede ser un elemento el siguiente: XML Bien Formado Hasta ahora hemos visto por qué XML tiene sentido para la comunicación de datos. Ahora vamos a ver como crear nuestros propios documentos XML. Para crear un documento XML, debemos conocer

Más detalles

SISTEMAS WEB. Facultad de Estadística e Informática

SISTEMAS WEB. Facultad de Estadística e Informática SISTEMAS WEB Bibliografía A. Rodríguez, Publicación en Internet y Tecnología XML, Alfa-Omega Ra-Ma, Madrid. España, 2004 World Wide Web Consortium (W3C). Abril 2000. XML Schema. Consultado el 1 de marzo

Más detalles

Componentes de XML. 30/10/06 J. Manuel Alcazar Donaire

Componentes de XML. 30/10/06 J. Manuel Alcazar Donaire Componentes de XML XML se basa en el concepto de que un documento se compone de una serie de entidades (objetos) Cada entidad contiene uno o más elementos Cada elemento está caracterizado por cero o más

Más detalles

Contenidos Antecedentes Lenguaje XML DTDs Espacios de nombres XML. Jose Emilio Labra Gayo. Octubre Jose Emilio Labra Gayo XML

Contenidos Antecedentes Lenguaje XML DTDs Espacios de nombres XML. Jose Emilio Labra Gayo. Octubre Jose Emilio Labra Gayo XML Contenidos Antecedentes Lenguaje DTDs Espacios de nombres Octubre 2006 Contenidos Antecedentes Lenguaje DTDs Espacios de nombres Contenidos Antecedentes Unicode y URIs Lenguaje DTDs Espacios de nombres

Más detalles

Tecnología XML. Unidad: 3 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Tecnología XML. Unidad: 3 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Tecnología XML Unidad: 3 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Repaso XML DTD Entidades Concepto Tipos Internas Externas Espacio

Más detalles

DTDs Declaraciones de tipo de documentos. Departamento de Informática Universidad de Oviedo

DTDs Declaraciones de tipo de documentos. Departamento de Informática Universidad de Oviedo DTDs Declaraciones de tipo de documentos Departamento de Informática Universidad de Oviedo Documento válido Se puede incluir una declaración del tipo de documento

Más detalles

1.- CREACIÓN DE CONSULTAS.

1.- CREACIÓN DE CONSULTAS. 1.- CREACIÓN DE CONSULTAS. Una consulta permite efectuar preguntas acerca de la información almacenada en las tablas. En una consulta se pueden obtener datos de una tabla e incluso de varias tablas, por

Más detalles

LENGUAJES DE MARCAS. Unidad 2. DOCUMENTOS XML.

LENGUAJES DE MARCAS. Unidad 2. DOCUMENTOS XML. LENGUAJES DE MARCAS Unidad 2. DOCUMENTOS XML. Índice de contenido 1. El lenguaje de marcas XML 2. XML, HTML, XHTML 3. Estructura del documento XML 4. Codificación de los documentos 5. Elementos 6. Atributos

Más detalles

TEMA 6 LENGUAJE XML. 1 Negocios y Dirección

TEMA 6 LENGUAJE XML. 1 Negocios y Dirección TEMA 6 LENGUAJE XML 1 Negocios y Dirección 6.- Lenguaje XML XML (Extensible Markup Language) es un lenguaje de marcado (definido por el Web Consortium) que especifica una sintaxis para definir lenguajes

Más detalles

HIPERVÍNCULOS, LINKS O ENLACES HTML. ETIQUETA <A>. ATRIBUTOS HREF, TARGET Y TITLE. TIPOS DE HIPERVÍNCULOS. ANCLAS O ANCHORS (CU00717B)

HIPERVÍNCULOS, LINKS O ENLACES HTML. ETIQUETA <A>. ATRIBUTOS HREF, TARGET Y TITLE. TIPOS DE HIPERVÍNCULOS. ANCLAS O ANCHORS (CU00717B) APRENDERAPROGRAMAR.COM HIPERVÍNCULOS, LINKS O ENLACES HTML. ETIQUETA . ATRIBUTOS HREF, TARGET Y TITLE. TIPOS DE HIPERVÍNCULOS. ANCLAS O ANCHORS (CU00717B) Sección: Cursos Categoría: Tutorial básico

Más detalles

3.1 Tipos de DTDs. ! Si queremos validar un documento XML (para comprobar si cumple las normas de un dialecto) tendremos que validarlo contra el DTD.

3.1 Tipos de DTDs. ! Si queremos validar un documento XML (para comprobar si cumple las normas de un dialecto) tendremos que validarlo contra el DTD. 3.1 Tipos de DTDs Introducción (I)! El DTD es un documento que nos permite definir un dialecto XML.! DTD " Document Type Definition! Si queremos validar un documento XML (para comprobar si cumple las normas

Más detalles

Sistema de Gestión y almacenamiento de archivos en el Campus Virtual

Sistema de Gestión y almacenamiento de archivos en el Campus Virtual Sistema de Gestión y almacenamiento de archivos en el Campus Virtual Página 1 de 15 GESTIÓN DE ARCHIVOS Dentro del Campus Virtual vamos a tener distintas formas de seleccionar y gestionar los archivos.

Más detalles

Orígenes de XML Marcado de documentos

Orígenes de XML Marcado de documentos Lenguaje XML Orígenes de XML Marcado de documentos Orígenes: Industria de la Publicación Uso de marcas = indica cómo componer documento para impresión Ejemplo de corrección tipográfica Fuente: http://recursos.cnice.mec.es/bancoimagenes

Más detalles

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE Microsoft Word SALOMÓN CCANCE Microsoft Word 2013 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE UNIDAD 15: ESQUEMAS Mediante la opción Combinar correspondencia Word 2013 nos permite

Más detalles

DTD (Document Type Defini0on)

DTD (Document Type Defini0on) DTD (Document Type Defini0on) DTD (Document Type Defini0on) Conjunto de reglas estándar que deben cumplir un documento XML de un determinado 0po Pueden ser vistos como plan0llas o como gramá0cas Representados

Más detalles

Manual de OpenOffice Impress

Manual de OpenOffice Impress Manual de OpenOffice Impress. Capítulo 4. Trabajando con diagramas, esquemas y plantillas 1 Manual de OpenOffice Impress Capítulo 4: Trabajando con diagramas, esquemas y plantillas Este material es una

Más detalles

Práctica: OpenOffice IV Aplicar estilos e insertar. un índice de contenidos

Práctica: OpenOffice IV Aplicar estilos e insertar. un índice de contenidos Práctica: OpenOffice IV Aplicar estilos e insertar un índice de contenidos Cuando un documento de texto es muy extenso y contiene varios apartados es muy difícil crear un índice temático que nos muestre

Más detalles

Extensible Markup Language

Extensible Markup Language Extensible Markup Language Documentos XML 2 XML permite expresar información estructurada de la manera más abstracta y reutilizable posible. La información estructurada se compone de partes bien definidas,

Más detalles

CÓMO UTILIZAR EL NUEVO SITIO WEB DE LA XARXA

CÓMO UTILIZAR EL NUEVO SITIO WEB DE LA XARXA CÓMO UTILIZAR EL NUEVO SITIO WEB DE LA XARXA 1. Utilización de la interfaz... 3 1.1 El buscador... 3 1.2 Menú Asociación... 4 1.3 Menú Actividades... 5 1.4 Menú Eventos... 5 1.5 Menú Blog... 6 1.6 Menú

Más detalles

En este ejercicio vamos a ver los componentes que forman parte de la. pantalla de composición de un correo electrónico, cómo se compone un

En este ejercicio vamos a ver los componentes que forman parte de la. pantalla de composición de un correo electrónico, cómo se compone un CORREOS EN OUTLOOK. En este ejercicio vamos a ver los componentes que forman parte de la pantalla de composición de un correo electrónico, cómo se compone un correo y cómo se envía. Hemos de saber identificar

Más detalles

Introducción a EBSCOhost. support.ebsco.com

Introducción a EBSCOhost. support.ebsco.com Introducción a EBSCOhost support.ebsco.com Bienvenido a su recurso de tutoría sobre la plataforma EBSCOhost. En este, tutorial estaremos echándole un vistazo al sistema de búsqueda EBSCOhost. De igual

Más detalles

QUÉ ES Y PARA QUÉ SIRVE EL LENGUAJE CSS (CASCADING STYLE SHEETS HOJAS DE ESTILOS EN CASCADA)? (DV00203A)

QUÉ ES Y PARA QUÉ SIRVE EL LENGUAJE CSS (CASCADING STYLE SHEETS HOJAS DE ESTILOS EN CASCADA)? (DV00203A) APRENDERAPROGRAMAR.COM QUÉ ES Y PARA QUÉ SIRVE EL LENGUAJE CSS (CASCADING STYLE SHEETS HOJAS DE ESTILOS EN CASCADA)? (DV00203A) Sección: Divulgación Categoría: Lenguajes y entorno Fecha revisión: 2029

Más detalles

QUÉ ES UNA HOJA DE ESTILOS? Una hoja de estilo en cascada (CSS) es un conjunto de reglas en las que definimos el formato que va a tomar un

QUÉ ES UNA HOJA DE ESTILOS? Una hoja de estilo en cascada (CSS) es un conjunto de reglas en las que definimos el formato que va a tomar un QUÉ ES UNA HOJA DE ESTILOS? Una hoja de estilo en cascada (CSS) es un conjunto de reglas en las que definimos el formato que va a tomar un determinado elemento de una página web. Siglas CCS significa "Cascading

Más detalles

1. Introducción a HTML

1. Introducción a HTML Introducción a HTML 1. Introducción a HTML 1. Introducción a HTML Qué es HTML? El HTML (Hyper Text Markup Language) es un lenguaje que sirve para escribir hipertexto, es decir, documentos de texto estructurado,

Más detalles

Identificar cuál es la estructura de una página Web y sus principales secciones. Desarrollar una página Web en un editor.

Identificar cuál es la estructura de una página Web y sus principales secciones. Desarrollar una página Web en un editor. MÓDULO 2. Introducción Después de conocer los conceptos básicos sobre el lenguaje de programación HTML, en este módulo identificaremos la estructura de una página Web y lo haremos revisando el lenguaje

Más detalles

TEST TICO 2º BACHILLERATO

TEST TICO 2º BACHILLERATO TEST TICO 2º BACHILLERATO UNIDAD: DISEÑO Y EDICIÓN PÁGINAS WEB CON HTML (COMPLETO) Cada pregunta consta de 3 opciones, siendo solo una respuesta la correcta. Calificación: Respuesta correcta: +1 Respuesta

Más detalles

La opción Numeración y viñetas la encontramos en la cinta de opciones, dentro de la Ficha Inicio, en el grupo de opciones de Párrafo.

La opción Numeración y viñetas la encontramos en la cinta de opciones, dentro de la Ficha Inicio, en el grupo de opciones de Párrafo. Numeración y viñetas 1 La opción Numeración y viñetas la encontramos en la cinta de opciones, dentro de la Ficha Inicio, en el grupo de opciones de Párrafo. Esta serie de comandos, permiten organizar una

Más detalles

TUTORIAL BÁSICO DEL PROGRAMA XNVIEW

TUTORIAL BÁSICO DEL PROGRAMA XNVIEW ASESORES DE NNTT TUTORIAL BÁSICO DEL PROGRAMA XNVIEW Versión 1.92 (4-2-2008) Nota: es perfectamente válido para versiones anteriores. TUTORIAL BÁSICO DEL PROGRAMA XNVIEW... 2 INSTALACIÓN DEL PROGRAMA...

Más detalles

Cómo crear entradas?:

Cómo crear entradas?: Cómo crear entradas?: Vamos a empezar a publicar en nuestro blog, para ello hacemos clic en el enlace que aparece en nuestro escritorio. Nos aparecerá un editor de texto con los siguientes elementos: 1.

Más detalles

Fundamentos de las tecnologías de la información

Fundamentos de las tecnologías de la información Fundamentos de las tecnologías de la información la guerra de los formatos Diego Martín 2016 1 Definiciones W3C HTML CSS XML Introducción histórica HTML vs XML JSON XML vs JSON DTDsy XML SCHEMAs Qué formato

Más detalles

Combinar correspondencia

Combinar correspondencia ESTÁNDAR DESEMPEÑO ESTÁNDAR DESEMPEÑO BÁSICO Interpreta la tecnología y sus manifestaciones (artefactos, procesos, productos, servicios y sistemas) como elaboración cultural, que ha evolucionado a través

Más detalles

Incluir imágenes en el blog

Incluir imágenes en el blog Incluir imágenes en el blog 1. DÓNDE ENCONTRAR IMÁGENES GRATUITAS L as imágenes son un elemento fundamental en un blog, tanto para personalizarlo (por ejemplo, poniendo una imagen en la cabecera del blog)

Más detalles

MICROSOFT WORD. Algunas opciones avanzadas

MICROSOFT WORD. Algunas opciones avanzadas MICROSOFT WORD Algunas opciones avanzadas Insertar notas al pie Las notas al pie son notas aclaratorias sobre un texto, al final del mismo, o al final de una página Para añadirlas, nos colocamos en la

Más detalles

Lenguajes de marcado.

Lenguajes de marcado. -1- 1. Objetivos fundamentales: Ø Se trata de ofrecer una visión a nivel práctico de los lenguajes de marcado y de presentación utilizados para la publicación de documentos en la web. Ø La práctica se

Más detalles

Tema IV. XML II. XML Bien Formado

Tema IV. XML II. XML Bien Formado Tema IV. XML II. XML Bien Formado Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Componentes XML 3.Reglas de los Elementos 4.Referencias Índice 1.Introducción 2.Componentes

Más detalles

INTRODUCCIÓN AL XML. Antes de ser lanzado el XML, ya existían otros lenguajes de marcas, como por ejemplo el HTML,

INTRODUCCIÓN AL XML. Antes de ser lanzado el XML, ya existían otros lenguajes de marcas, como por ejemplo el HTML, INTRODUCCIÓN AL XML XML son las siglas de Extensible Markup Language, una especificación/lenguaje de programación desarrollada por el W3C. XML es una versión de SGML, diseñado especialmente para los documentos

Más detalles

COLUMNAS INSERTAR COLUMNAS

COLUMNAS INSERTAR COLUMNAS COLUMNAS El texto con el que trabajamos puede estar dividido en diferentes columnas, esto nos puede ser útil en el momento de editar algún tipo de boletín, listas o cualquier tipo de documento. Si nosotros

Más detalles

Práctica 4 Manejo Avanzado de Bison

Práctica 4 Manejo Avanzado de Bison Práctica 4 Manejo Avanzado de Bison Tareas 1. Estudia la información sobre trazas en el Capítulo 8 - Depurando Su Analizador del manual de Bison (bison.pdf). 2. Realiza el ejercicio propuesto. 3. Elabora

Más detalles

TABLAS DE CONTENIDOS E ÍNDICES

TABLAS DE CONTENIDOS E ÍNDICES 1 TABLAS DE CONTENIDOS E ÍNDICES Introducción Los índices y tablas de contenidos sirven para ayudar al lector a encontrar lo que está buscando. Word llama tabla de contenido a lo que conocemos simplemente

Más detalles

XML para FP : Introducción

XML para FP : Introducción Supongamos que tenemos una tienda de pinturas, en la cual, mediante un software nos vamos en cargar de almacenar (sin valernos de un gestor de base datos) la información referente a los pedidos que se

Más detalles

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS DREAMWEAVER UNO- PRÁCTICAS DOC RAUL MONROY PAMPLONA

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS DREAMWEAVER UNO- PRÁCTICAS DOC RAUL MONROY PAMPLONA Metas de comprensión cuarto periodo Comprende sus responsabilidades a la hora de formular sus propuestas como soluciones a problemas reales que impliquen el uso de las tecnologías de información y la gestión

Más detalles

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE Microsoft Word SALOMÓN CCANCE Microsoft Word 2013 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE UNIDAD 19: SEGURIDAD 19.1. Introducción Hoy en día todo el mundo tiene claro que es imprescindible

Más detalles

La ventana del Explorador de Windows 7

La ventana del Explorador de Windows 7 La ventana del Explorador de Windows 7 Al abrir tu Explorador de Windows te encontrarás con una ventana similar a la de la imagen. Puede que el aspecto cambie un poco ya que la podemos configurar a nuestro

Más detalles

TECNOLOGÍA E INFORMÁTICA

TECNOLOGÍA E INFORMÁTICA TECNOLOGÍA E INFORMÁTICA GRADO: SÉPTIMO 01 02 TEMA: INSERTAR O CREAR TABLAS INDICADOR DE DESEMPEÑO: Utiliza la opción de crear tablas en Microsoft Word para agregar, editar y presentar la información tabulada.

Más detalles

OpenOffice Writer I. PROCESADOR de TEXTOS

OpenOffice Writer I. PROCESADOR de TEXTOS OpenOffice Writer I PROCESADOR de TEXTOS Índice del curso 1. Qué es OpenOffice writer... 3 Introducción... 3 Descripción del entorno de trabajo de OpenOffice Writer... 3 2. Primeros pasos... 4 Crear un

Más detalles

Manual de ayuda de la herramienta de comunicación privada Correo Interno

Manual de ayuda de la herramienta de comunicación privada Correo Interno Manual de ayuda de la herramienta de comunicación privada Correo Interno Contenido Introducción... 3 Configuración del bloque... 3 Gestión del bloque... 4 Lista de contactos... 8 Creación y envío de nuevos

Más detalles

UTILIDAD DE CSS EN DESARROLLOS WEB JUNTO A HTML Y JAVASCRIPT. APLICAR ESTILOS. EJEMPLO SENCILLO. (CU00732B)

UTILIDAD DE CSS EN DESARROLLOS WEB JUNTO A HTML Y JAVASCRIPT. APLICAR ESTILOS. EJEMPLO SENCILLO. (CU00732B) APRENDERAPROGRAMAR.COM UTILIDAD DE CSS EN DESARROLLOS WEB JUNTO A HTML Y JAVASCRIPT. APLICAR ESTILOS. EJEMPLO SENCILLO. (CU00732B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde

Más detalles

TEHUACÁN EMEC 308 DESARROLLO DE DIBUJO ASISTIDO POR COMPUTADORA Tercera parte

TEHUACÁN EMEC 308 DESARROLLO DE DIBUJO ASISTIDO POR COMPUTADORA Tercera parte Tercera parte Paso 10. Procedemos a crear un nuevo dibujo en AutoCAD al que llamaremos Lámina 3.dwg generando el tamaño de área de trabajo correspondiente (A3 o A4), margen señalado y tabla de datos correspondiente.

Más detalles

DTD (Document Type Definition ) y validación.

DTD (Document Type Definition ) y validación. DTD y validación Tema 3 APUNTES BÁSICOS DEL TEMA 3 DTD (Document Type Definition ) y validación. Índice de contenido 1.Introducción...2 2.Declaración/definición del DTD...3 2.1.Definición interna...3 2.2.Definición

Más detalles

Unidad 6: DTD. JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012

Unidad 6: DTD. JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012 Unidad 6: DTD JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012 Guíon del tema Qué es un DTD? Declaración de DTD Declaración de Elementos Declaración

Más detalles

Validación de un XML

Validación de un XML Validación de un XML 32 Introducción Se dice que un XML está bien formado cuando esta escrito sintácticamente de forma correcta Como se puede validar sintácticamente un XML? Document Type Definition (DTD)

Más detalles

4º ESO INFORMÁTICA TEMA 7: LENGUAJE HTML ACTIVIDADES. A continuación abriéremos el bloc de notas: Inicio>Programas>Bloc de notas.

4º ESO INFORMÁTICA TEMA 7: LENGUAJE HTML ACTIVIDADES. A continuación abriéremos el bloc de notas: Inicio>Programas>Bloc de notas. 4º ESO INFORMÁTICA TEMA 7: LENGUAJE HTML ACTIVIDADES FECHA LÍMITE: 13 de mayo Práctica 1: Lo primero que vamos a hacer es crear en nuestro pendrive una carpeta que llamaremos WEBnuestronombre como por

Más detalles

Ubuntu Server 12.10 HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu.

Ubuntu Server 12.10 HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu. Ubuntu Server 12.10 HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu. Instalación De Ubuntu 10.04 LTS Server Este manual se

Más detalles

OpenOffice.org Writer El procesador de texto. [Seleccionar fecha] [Escribir el nombre de la compañía] Lourdes Luengo

OpenOffice.org Writer El procesador de texto. [Seleccionar fecha] [Escribir el nombre de la compañía] Lourdes Luengo OpenOffice.org Writer El procesador de texto [Seleccionar fecha] [Escribir el nombre de la compañía] Lourdes Luengo 2 Para abrir esta aplicación nos vamos a: APLICACIONES >>> OFICINA >>> OpenOffice.org

Más detalles

CAPÍTULO 4: XML Introducción

CAPÍTULO 4: XML Introducción CAPÍTULO 4: XML En el proyecto que hemos realizado, XML (extensible Markup Language) es la sintaxis que subyace en la información que transmitimos. Dicho de otro modo, la información que nos intercambiamos

Más detalles

ENCABEZADOS HTML <h1> A <h6>, PÁRRAFOS <p>, APLICAR ESTILOS Y ETIQUETA <pre> DE TEXTO PREFORMATEADO. EJEMPLOS (CU00715B)

ENCABEZADOS HTML <h1> A <h6>, PÁRRAFOS <p>, APLICAR ESTILOS Y ETIQUETA <pre> DE TEXTO PREFORMATEADO. EJEMPLOS (CU00715B) APRENDERAPROGRAMAR.COM ENCABEZADOS HTML A , PÁRRAFOS , APLICAR ESTILOS Y ETIQUETA DE TEXTO PREFORMATEADO. EJEMPLOS (CU00715B) Sección: Cursos Categoría: Tutorial básico del programador

Más detalles

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE Microsoft Word SALOMÓN CCANCE Microsoft Word 2013 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE UNIDAD 16: DOCUMENTOS MAESTROS 16.1. Introducción Un documento maestro es un documento

Más detalles

NORMAS DE ESTILO EDICIONES UNIVERSIDAD SAN JORGE

NORMAS DE ESTILO EDICIONES UNIVERSIDAD SAN JORGE NORMAS DE ESTILO EDICIONES UNIVERSIDAD SAN JORGE 1] Formato para presentación de artículos en libros colectivos El archivo se presentará en formato Word (en.doc). El título, centrado, encabezará el artículo,

Más detalles

Manual de Herramientas. Carpetas, Etiquetas Y Libros. Pág. 1

Manual de Herramientas. Carpetas, Etiquetas Y Libros. Pág. 1 Manual de Herramientas Carpetas, Etiquetas Y Libros 1 2 CARPETAS El recurso Carpeta permite al profesor mostrar un grupo de archivos relacionados dentro de una única carpeta. Se puede subir un archivo

Más detalles

Programación Aplicada II Ing. Héctor Abraham Hernández. Enlaces HTML Objetivo: Agregar todo tipo de enlaces a los documentos HTML

Programación Aplicada II Ing. Héctor Abraham Hernández. Enlaces HTML Objetivo: Agregar todo tipo de enlaces a los documentos HTML Programación Aplicada II Ing. Héctor Abraham Hernández Guía #3 Fecha: 31/01/2011 Enlaces HTML Objetivo: Agregar todo tipo de enlaces a los documentos HTML Un enlace puede ser fácilmente detectado en una

Más detalles

Introducción y características.

Introducción y características. 2.8.1. Introducción y características. XML Schema se encarga de definir la estructura de documentos XML que estén asignados a dicho esquema y los tipos de datos válidos para cada elemento y atributo. De

Más detalles

Guía de obtención e instalación del Certificado digital de usuario emitido por CamerFirma

Guía de obtención e instalación del Certificado digital de usuario emitido por CamerFirma Guía de obtención e instalación del Certificado digital de usuario emitido por CamerFirma - 1 - Contenido 1. Cómo se obtiene el certificado digital de Ciudadano de Camerfirma?... 3 Paso 1. Solicitud del

Más detalles

ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO

ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO UNIDAD DIDÁCTICA ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO Los objetivos de este tema son: 1. Aprender a crear un nuevo libro de trabajo de Excel para empezar a trabajar. 2. Saber cómo guardar los cambios

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Descubre este programa creado bajo licencia GPL v.2 que permite la sincronización de archivos y carpetas...

Descubre este programa creado bajo licencia GPL v.2 que permite la sincronización de archivos y carpetas... Descubre este programa creado bajo licencia GPL v.2 que permite la sincronización de archivos y carpetas... es un programa creado bajo licencia GPL v.2 que permite la sincronización de archivos y carpetas

Más detalles

Tecnologías XML y Web Semántica. Departamento de Informática Universidad de Oviedo

Tecnologías XML y Web Semántica. Departamento de Informática Universidad de Oviedo Tecnologías XML y Web Semántica Departamento de Informática Universidad de Oviedo Sesión 1 Lenguaje XML Departamento de Informática Universidad de Oviedo Esquema de la Sesión (9-11h) Primera parte: Introducción

Más detalles

Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para Tecnología de la Información.

Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para Tecnología de la Información. Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para Tecnología de la Información. 1 Introducción Como ya sabes las bases de datos (BD) son la mejor forma de almacenar y trabajar con

Más detalles

TUTORIAL CÓMO INTEGRAR VALERY CONTABILIDAD CON VALERY 3 PROFESIONAL?

TUTORIAL CÓMO INTEGRAR VALERY CONTABILIDAD CON VALERY 3 PROFESIONAL? TUTORIAL CÓMO INTEGRAR VALERY CONTABILIDAD CON VALERY 3 PROFESIONAL? La información contenida en este documento representa el punto de vista actual de CYBERNETIX SERVICIOS VENEZUELA en los temas discutidos

Más detalles

XML Schema. Definición y validación

XML Schema. Definición y validación XML Schema. Definición y validación Está claro que XML es una revolución dentro de la tecnología. Un dicho dice, lo bueno si sencillo, dos veces bueno. En concepto de XML es muy sencillo aunque poco a

Más detalles

Word 2010 Manejo de archivos

Word 2010 Manejo de archivos Word 2010 Manejo de archivos Contenido CONTENIDO... 1 MANEJO DE ARCHIVOS... 2 WORD WEB APPS MANEJO DE ARCHIVOS... 7 1 Manejo de archivos Word nos permite crear un nuevo documento en blanco de las siguientes

Más detalles

Programación en Internet

Programación en Internet Departamento de Lenguajes y Sistemas Informáticos Programación en Internet Diseño de un CSS para la página de la asignatura http://www.dlsi.ua.es/asignaturas/pi/ Departamento de Lenguajes y Sistemas Informáticos

Más detalles

COMBINAR CORRESPONDENCIA

COMBINAR CORRESPONDENCIA COMBINAR CORRESPONDENCIA Microsoft Office Word nos provee una herramienta muy útil que nos permite incluir en un documento, datos que se encuentran almacenados en otro lugar. De esta forma logramos obtener

Más detalles

5.CREACIÓN DE TABLAS.

5.CREACIÓN DE TABLAS. 5.CREACIÓN DE TABLAS. Cómo se crea una tabla?. Para crear las tablas será necesario usar una nueva etiqueta: TABLE, que significa, en inglés, tabla. Esta etiqueta consta de instrucción de inicio,, e instrucción

Más detalles

Índice. Índice... 2 Presentación... 3 Botón Office... 6 Ficha Inicio... 10

Índice. Índice... 2 Presentación... 3 Botón Office... 6 Ficha Inicio... 10 Índice Índice... 2... 3 Botón Office... 6 Ficha Inicio... 10 2 Como ya comentamos al ver el Word el año pasado, el Excel también se encuentra en todas las versiones que ha habido del paquete ofimático

Más detalles

TRABAJO CON DOCUMENTOS LARGOS

TRABAJO CON DOCUMENTOS LARGOS UNIDAD DIDÁCTICA TRABAJO CON DOCUMENTOS LARGOS Los objetivos de este tema son: 1. Aprender a crear tablas de contenidos e índices de un documento. 2. Conocer cómo utilizar las referencias cruzadas en un

Más detalles

CURSO MOODLE Curso

CURSO MOODLE Curso EDITAR NUESTRO PRIMER MOODLE CURSO MOODLE Curso 2012-2013 Accedemos al curso que hemos creado con el nombre Prueba desde la plataforma educastur. Una vez creado el curso, en cuanto entremos en la plataforma

Más detalles

C. E. I. P. LAS VIÑAS Bollullos del Cdo. (Huelva) Centro TIC. TEMA 13: Formato

C. E. I. P. LAS VIÑAS Bollullos del Cdo. (Huelva) Centro TIC. TEMA 13: Formato C. E. I. P. LAS VIÑAS Bollullos del Cdo. (Huelva) Centro TIC TEMA 13: Formato Formato Qué podemos hacer con un documento para mejorar su presentación?. A todas las variantes u opciones que podamos emplear

Más detalles

Organizar y clasificar los marcadores

Organizar y clasificar los marcadores Organizar y clasificar los marcadores Joan Padrós Rodríguez P08/93134/01541 FUOC P08/93134/01541 Organizar y clasificar los marcadores Índice Introducción... 5 1. Almacenamiento y clasificación de los

Más detalles

Primer Script sencillo

Primer Script sencillo SCRIPTS El lenguaje para describir páginas, HTML, queda limitado a la hora de definir cualquier tipo de interactividad. Necesitamos aprender algún lenguaje nuevo para hacer pequeños efectos o interactividades.

Más detalles

Sistemas de Información 12/13 XML (extensible Mark-up Language)

Sistemas de Información 12/13 XML (extensible Mark-up Language) 12/13 XML (extensible Mark-up Language) Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza (raqueltl@unizar.es) " Guión Introducción Ejemplos Documentos vs apliaciones XML Espacios

Más detalles

Sistema Cuántico Avanzado SQX. Manual de instalación y Configuración

Sistema Cuántico Avanzado SQX. Manual de instalación y Configuración Sistema Cuántico Avanzado SQX Manual de instalación y Configuración Índice Índice 2 1. Instalación y Conexión. 3 1. Preparación y Conexión... 3 2. Instalación... 3 2. Configuración de parámetros. 5 3.

Más detalles

WORD AVANZADO. Guía Paso a Paso. Desarrollado por Ing. Marcelo Pickelny Lic. Eugenia Tarrachano

WORD AVANZADO. Guía Paso a Paso. Desarrollado por Ing. Marcelo Pickelny Lic. Eugenia Tarrachano WORD AVANZADO Guía Paso a Paso Desarrollado por Ing. Marcelo Pickelny Lic. Eugenia Tarrachano INSERTAR PORTADA... 2 DAR FORMATO AL TEXTO... 2 MODIFICAR INTERLINEADO... 3 CREAR ESTILOS PERSONALIZADOS...

Más detalles

Manual de usuario 26/05/2008 1

Manual de usuario 26/05/2008 1 Manual de usuario 26/05/2008 1 Tabla de contenido Acceso al sistema... 3 Usuario Normal... 4 Nueva Palabra... 4 Búsqueda... 7 Listar todos... 9 Usuario Administrador... 10 Gestión de usuarios... 10 Salir

Más detalles

Archivos y Carpetas de un proyecto Android

Archivos y Carpetas de un proyecto Android Archivos y Carpetas de un proyecto Android Android SDK Android SDK Lo primero que conviene que conozcas es que un proyecto en Android Studio puede contener varios módulos. Cada módulo corresponde a una

Más detalles

MOODLE 1.9 CÓMO AÑADIR UN RECURSO?

MOODLE 1.9 CÓMO AÑADIR UN RECURSO? MOODLE 1.9 CÓMO AÑADIR UN RECURSO? Unitat de Suport Tecnicopedagògic - CAMPUS EXTENS Universitat de les Illes Balears. Edifici Aulari. Ctra. de Valldemossa Km. 7.5. 07122 Palma (Illes Balears) Primera

Más detalles

INSTITUCIÓN MANUEL MARÍA SÁNCHEZ Tecnología e Informática Word

INSTITUCIÓN MANUEL MARÍA SÁNCHEZ Tecnología e Informática Word Combinación de Correspondencia Con la combinación de correspondencia, podemos combinar una lista de datos, tales como nombres y direcciones, con un formulario o plantilla genéricos para crear documentos

Más detalles

HOJAS DE ESTILO: CSS3

HOJAS DE ESTILO: CSS3 HOJAS DE ESTILO: CSS3 ETIQUETAS HTML5 HOJAS DE ESTILO CSS3 CONTENIDO PRESENTACIÓN El mismo contenido puede visualizarse en función de la hoja de estilo. Permiten actualizar y cambiar la presentación de

Más detalles

EBRARY. Descripción general de la base Permite el acceso a más de 31,800 libros electrónicos en texto completo de múltiples disciplinas.

EBRARY. Descripción general de la base Permite el acceso a más de 31,800 libros electrónicos en texto completo de múltiples disciplinas. EBRARY Descripción general de la base Permite el acceso a más de 31,800 libros electrónicos en texto completo de múltiples disciplinas. Descripción del servicio El servicio está disponible los 365 días

Más detalles

CURSO INFORMÁTICA BÁSICA JEFATURA DE SISTEMAS ASESORÍA INSTITUCIONAL

CURSO INFORMÁTICA BÁSICA JEFATURA DE SISTEMAS ASESORÍA INSTITUCIONAL CURSO INFORMÁTICA BÁSICA JEFATURA DE SISTEMAS ASESORÍA INSTITUCIONAL TALENTO HUMANO 2016 Organizar contactos por grupos en Gmail Los contactos que hemos creado se quedan todos juntos, sin organizar, y

Más detalles

07 Variables. 7.1 Variables globales Definición

07 Variables. 7.1 Variables globales Definición 07 Variables 07 Variables 7.1 Variables globales 7.1.1. Definición Las variables se utilizan para almacenar datos individuales en disco o en memoria. Son datos globales a la aplicación y comunes, en el

Más detalles

OpenOffice Calc Básico HOJAS de CALCULO

OpenOffice Calc Básico HOJAS de CALCULO HOJAS de CALCULO El curso OpenOffice Calc I creado por KZgunea se encuentra bajo licencia Creative Commons de Atribución-NoComercial- CompartirIgual_3.0_ (CC-BY-NC-SA_3.0) Índice del curso 1. Qué es OpenOffice

Más detalles

INSERCIÓN DE UN REGISTRO CON PHP Y MYSQL

INSERCIÓN DE UN REGISTRO CON PHP Y MYSQL INSERCIÓN DE UN REGISTRO CON PHP Y MYSQL Para poder realizar este ejercicio necesitamos la base de datos, para esto abriremos el gestor de bases de datos Mysql Empezaremos con crear la base de datos con

Más detalles