Fecha de edición: Septiembre 2005

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

Download "Fecha de edición: Septiembre 2005"

Transcripción

1 XML!"#$ % #&'()* Fecha de edición: Septiembre 2005

2 Índice Índice...2 Lenguaje de Marcas...4 HTML...4 XML...5 Un Documento XML...6 Prologo...7 Declaración de XML...7 Comentarios...7 Instrucciones de procesamiento...7 Declaración de tipo de documento...7 Elemento Raiz...7 Elementos...8 Referencias...9 Secciones CDATA...9 Namespaces...9 Resumen de reglas para documentos bien-formados...10 DTD...10 Declaración de elementos...11 Declaración de atributos...14 Tipos de Atributos...14 Modificadores de atributos...15 Ejemplos de declaraciones de atributos...15 Declaración de entidades...15 Declaración de entidades parametro...16 DTD ejemplo...16 Resumen de reglas...16 Problemas de los DTD...17 XML Schema...17 Declaración de elementos y atributos...18 Declaración de elementos...19 Declaración de atributos...19 Declaración de elementos simples y complejos...19 Declaración de elementos simples...20 Declaración de elementos complejos...21 Definicion de nuevos tipos...22 Definición de tipos mediante extension...24 Declaracion de elementos de contenido mixto...25 Declaración de elementos unicos...25 Declaración de referencias a elementos...26 Inclusión de otros schemas...28 Redefinir schemas...28 Comentarios en schemas...29 XPATH...29 Relacion...29

3 Tipo-nodo...30 Ejemplos XPath...30 Predicados...31 Ejemplos XPath con predicados...32 Arbol XPath...32 Arbol XPath de ejemplo...32 Parsers XML...34 DOM...34 Limitaciones de DOM...34 SAX...34 Limitaciones de SAX...35 DOM o SAX?...35 Tecnologías relacionadas con XML...36 XSL...36 Seguridad...36 Servicios Web...37 XLink...38 RSS...38 MathML...38 SVG...38 XBRL...39 XHTML...39 RDF...39 FOAF...40 DOAC...40 XUL...40 Otros...40

4 Lenguaje de Marcas En los años 60, IBM intentó resolver sus problemas asociados al tratamiento de documentos en diferentes plataformas a través de GML (Generalized markup Language). El principal problema era que cada aplicación utilizaba sus propias marcas para describir los diferentes elementos. Las marcas son códigos que indican a un programa cómo debe tratar su contenido y así, si se desea que un texto aparezca con un formato determinado, dicho texto debe ir delimitado por la correspondiente marca que indique como debe ser mostrado en pantalla o impreso. Y lo mismo ocurre con todas las demás características de cualquier texto. Ejemplos pueden tenerlos en mente los usuarios de WordPerfect. Conociendo este sistema y conociendo a la perfección el sistema de marcas de cada aplicación sería posible pasar información de un sistema a otro sin necesidad de perder el formato indicado. La forma que IBM creó para solventar esto se basaba en tratar las marcas como texto accesible desde cualquier sistema, texto plano, código ASCII. Y la norma se denominó GML (General Modeling Language). Más tarde GML pasó a manos de ISO y se convirtió en SGML ( ISO 8879), Standart Generalized Markup Language. Esta norma es la que se aplica desde entonces a todos los lenguajes de marcas, cuyos ejemplos más conocidos son el HTML y el RTF. Los lenguajes de marcas no son equivalentes a los lenguajes de programación aunque se definan igualmente como "lenguajes". Son sistemas complejos de descripción de información, normalmente documentos, que si se ajustan a SGML, se pueden controlar desde cualquier editor ASCII. Las marcas más utilizadas suelen describirse por textos descriptivos encerrados entre signos de "menor" (<) y "mayor" (>), siendo lo más usual que existan una marca de principio y otra de final. Se puede decir que existen tres utilizaciones básicas de los lenguajes de marcas: los que sirven principalmente para describir su contenido, los que sirven más que nada para definir su formato y los que realizan las dos funciones indistintamente. Las aplicaciones de bases de datos son buenas referencias del primer sistema, los programas de tratamiento de textos son ejemplos típicos del segundo tipo, y aunque no lo parezca, el HTML es la muestra más conocida del tercer modelo. HTML El lenguaje HTML es originariamente un subconjunto del más completo SGML. HTML nació como un estándar para modelado de datos en la web. En principio, la intención de HTML era que las etiquetas fueran capaces de marcar la información de acuerdo con su significado, sin importar cómo se mostraban en la pantalla. Lo importante era el contenido y no la forma, o sea, que era un lenguaje de marcas orientado a describir los contenidos. En otras palabras: el título del documento, los títulos de los apartados, el autor del documento, los textos resaltados,..., eran marcados por las etiquetas TITLE, Hx, ADDRESS, STRONG, etc., dejando a cada visualizador (browser) la tarea de formatear el documento según su criterio. Esto daba lugar a que una aplicación podía presentar una etiqueta H2 como texto centrado, con tamaño de 20 puntos y color rojo, mientras otra lo podía mostrar alineado a la izquierda, con tipo de letra Arial de 16 puntos y color Azul, por ejemplo. Una etiqueta

5 STRONG podría tomarse como cursiva, negrita o color verde, por ejemplo, según la interpretase el visualizador empleado. Esto producía presentaciones diferentes, pero permitía controlar fácilmente su contenido. Si una persona o un motor de búsqueda querían conocer el título del documento, el autor de la página o las cabeceras de los capítulos, siempre buscaba en el código las etiquetas TITLE, ADDRESS o Hx. Además, si a alguien no le gustaba la idea de dejar a cada aplicación la decisión de cómo mostrar el contenido de las etiquetas, siempre le quedaba la posibilidad de controlar el formato del documento con descripciones particulares, como es el caso de las hojas de estilo en cascada (CSS). Por diversos motivos, los creadores de los navegadores fueron añadiendo más etiquetas HTML dirigidas a controlar la presentación, como FONT, I, CENTER, xcolor, etc., y los usuarios las utilizaron para que sus documentos estuviesen perfectamente formateados, sin permitir diferencias importantes entre visualizadores distintos, por lo que HTML pasó a ser un lenguaje de marcas más dirigido al control de la presentación. Ahora es más difícil encontrar al autor o las cabeceras de los capítulos de un documento, pues todos los textos se describen con P y FONT, sobre todo si se utilizan los editores WYSIWYG (Microsoft FrontPage, Netscape Composer) que proliferan por doquier. El resultado fue que aparecieron páginas web que contenían tags (etiquetas) escritos para una versión especifica de browser y una resolución de pantalla especifica. Estas páginas son poco legibles en otros browser distintos para el cual fue diseñada y directamente inaccesibles para personas con capacidades distintas, como ciegos o gente con problemas visuales que necesitan fuentes grandes, o para personas que estén utilizando browser no gráficos. Esto ocasiono que HTML se convirtiera en un lenguaje para la presentación de datos. Si a esto le añadimos que para facilitar la vida a los usuarios, los analizadores sintácticos de las marcas que incluyen los navegadores permitieron saltarse algunas normas sin que el propio usuario lo notase (por ejemplo, permiten trabajar solo con la etiqueta <P>, cuando lo correcto es que se necesite las etiquetas de principio y de final: <P> y </P>), dando como resultado que HTML ya no es un lenguaje que sigue las normas estrictas del SGML. Llegados a un punto en el que HTML dejó de servir para su función inicial, no le ha quedado más remedio al Consorcio World Wide Web (W3C) la descripción de un nuevo subconjunto del SGML que sirva para describir contenidos de documentos, al que ha denominado XML, publicando las especificaciones de la versión 1.0 en XML XML (Lenguaje Extensible de Marcas) es un conjunto de reglas para definir etiquetas semánticas que organizan un documento en diferentes partes. XML es un metalenguaje para el modelado de datos, que define la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados. Los objetivos de diseño para XML son: XML debe ser utilizable directamente sobre Internet. XML debe soportar una amplia variedad de aplicaciones.

6 XML debe ser compatible con SGML. Debe ser fácil escribir programas que procesen documentos XML. El número de características opcionales en XML debe ser mantenido en un mínimo, idealmente cero. Los documentos XML deben ser legibles por un humano y razonablemente claros. El diseño de XML debe ser preparado rápidamente El diseño de XML debe ser formal y conciso. Los documentos XML deben ser fáciles de crear. La brevedad en la marcación es de mínima importancia. La particularidad más importante del XML es que no posee etiquetas prefijadas con anterioridad, ya que es el propio diseñador el que las crea a su antojo, dependiendo del contenido del documento. De esta forma, los documentos XML con información sobre libros tienen etiquetas como <AUTOR>, <EDITORIAL>, <Nº_DE_PÁGINAS>, <PRECIO>, <ISBN>, etc., mientras que los documentos XML relacionados con educación incluyen etiquetas del tipo de <ASIGNATURA>, <ALUMNO>, <CURSO>, <NOTA>, etc. Esto produce documentos más fáciles de entender por cualquiera, permitiendo también mejores búsquedas en los mismos, permitiendo especificar no solo qué buscar sino además en qué contexto debe aparecer. XML es un subconjunto de SGML y XHTML (HTML que cumple las normas XML) es un subconjunto de XML. Un objeto de datos es un Documento XML si es bien formado, tal y como es definido en la especificación de XML. Un documento XML bien formado puede ser adicionalmente válido si cumple con algunas restricciones adicionales. Un Documento XML <?xml version="1.0" encoding="utf-8"?> <!-- Documento XML de ejemplo --> <?open libros.dat?> <!DOCTYPE libros SYSTEM "libros.dtd"> <libros> <libro ISBN=" "> <titulo>sistemas Operativos</titulo> <autor>tanenbaum</autor> <descripcion>libro de sistemas operativos</descripcion> </libro> <libro ISBN=" "> <titulo>redes de Computadoras</titulo> <autor>&autor;</autor> <descripcion>libro de redes de computadoras</descripcion> </libro>

7 </libros> Prologo Al comienzo del documento se encuentra el prologo: <?xml version="1.0" encoding="utf-8"?> <!-- Documento XML de ejemplo --> <?open libros.dat?> <!DOCTYPE libros SYSTEM "libros.dtd"> Declaración de XML La primera linea es la declaracion de XML, donde se indica la versión de XML (solo existe la 1.0 actualmente) y la codificación del documento. La declaración comienza con un signo de interrogación y la palabra reservada xml. No se obligatoria esta declaración, pero si existe, debe ser lo primero del documento. Comentarios En el prologo podemos tener comentarios, como el que se encuentra en la segunda linea. Los comentarios se delimitan entre <!-- y -->. Instrucciones de procesamiento En la tercera linea tenemos una instrucción de procesamiento (PI), utilizada para enviar intrucciones a la aplicación que utilizara el documento xml. Las PI se delimitan entre <? y?>. Podemos tener tantas PI como sea necesario. Declaración de tipo de documento Ademas podemos tener la declaración del tipo de documento (la cuarta linea), donde se indica la estructura del documento para considerarlo valido. En el prologo tambien pueden existir espacios en blanco, que pueden ser espacios, tabuladores o lineas en blanco. Elemento Raiz

8 Luego del prologo, se encuentra el elemento raiz. En este caso el elemento libros. Todo documento xml debe tener un unico documento raiz, que contenga a todos los demas elementos del documento. Elementos Los elementos se delimitan por una etiqueta de comienzo de elemento y por una etiquetea de fin de elemento. La etiqueta de comienzo de elemento consta del signo <, seguida del nombre del elemento, luego opcionalmente una lista de atributos separada por un espacio en blanco, y el signo > al final de la etiqueta ( <libros> en el documento de ejemplo). La etiqueta de fin de elemento consta del signo <, luego una /, seguida del nombre del elemento y el signo > ( </libros> ). Todo lo que se encuentre entre estas dos etiquetas se considera el contenido del elemento. Por ejemplo: <elemento atributo1= valor1 atributo2= valor2 > Este es el contenido del elemento, que podria contener otros elementos. </elemento> Toda etiqueta de comienzo debe tener su correspondiente etiquete de fin y todos los elementos deben estar correctamente anidados, no permitiendo solapar etiquetas. Por ejemplo, la siguiente estructura esta prohibida: <a> </b> <b> </a> Un elemento puede contener otros elementos, texto, comentarios, instrucciones de procesamiento, referencias y secciones CDATA. Existe un caso especial de elemento, el elemento vacio. Un elemento vacio no posee ningun contenido y solo puede tener atributos. Los elementos vacios se pueden modelar de dos maneras. La primera es con una etiqueta de comienzo, seguida de una etiqueta de fin. La otra es un con una etiqueta (etiqueta de elemento vacio), que posee el signo <, seguida del nombre del elemento, luego puede tener atributos, y por ultimo un espacio opcional y los caracteres /> ( <vacio /> ). Los nombres de los elementos deben tener la características de un nombre de xml. El primer carácter debe ser una letra, un guion bajo ( _ ) o un dos puntos ( : ). Los demas caracteres pueden ser una letra, un digito, un punto (. ), un guion ( - ), un guion bajo ( _ ) o un dos puntos ( : ). Los atributos de un elemento se colocan en la etiqueta de comienzo de elemento, colocando el nombre del atributo, luego el signo = y luego el valor del atributo entre comillas simples o dobles, las mismas en los dos extremos. El nombre de un atributo debe tener las características de un nombre de xml descriptas anteriormente. No pueden existir dos

9 atributos con el mismo nombre en un mismo elemento y cada atributo debe tener asignado un valor. XML es sensible a las mayúsculas, por ende, no el lo mismo el elemento elemento que el elemento ELEMENTO, ni tampoco es lo mismo el atributo atributo que el atributo ATRIBUTO. Para que un documento XML sea considerado como tal, debe cumplir con cada restricción detallada en la especificación de XML. Si no cumple con alguna restricción, se considera que no es un documento bien formado, y por ende, no es un documento XML. La especificación completa de XML se puede encontrar en Referencias Un elemento tambien puede contener referencias. Existen las referencias a carácter y las referencias a entidad. Con las referencias a carácter se puede representar cualquier carácter mediante su codificación y con las referencias a entidad se puede representar cualquier cantidad de caracteres mediante el nombre definido para esa entidad. Existen entidades previamente definidas, como por ejemplo, amp ( & ), gt ( > ), lt ( < ), quot ( ), apos ( ). Tambien se pueden definir otras entidades en la declaración del tipo de documento. Las entidades se referencias mediante la adicion del carácter & antes de su nombre, seguidas de ;. Cada vez que aparezca una referencia, ya sea a carácter o a entidad, el parser de xml reemplazara a la referencia por su contenido referenciado. Los caracteres &, >, <, y no pueden aparecer como texto de un elemento y deben utilizarse las entidades predefinidas. Secciones CDATA Las secciones CDATA pueden aparecer como contenido de un elemento. Se declaran con <![CDATA [, luego el contenido y ]]> para finalizar la seccion CDATA. Dentro de las secciones CDATA puede aparecer cualquier carácter, sin necesidad de utilizar las entidades predefinidas para hacer referencias a los caracteres no permitidos. Se debe tener precaucion al colocar contenido binario en las secciones CDATA, debido a que la combinación ]]> puede estar contenida en el mismo, cerrando la seccion CDATA y destruyendo la estructura del documento. Namespaces Para permitir la reusabilidad de los elementos de un documento xml, existen los Namespaces (espacios de nombres). Con las Namespaces se puede hacer referencia a elementos que pertenecen a distintos espacios de nombres, permitiendo que existan elementos con el mismo nombre pero que corresponden a nombres de espacio diferentes, haciendo referencia a significados distintos. Por ejemplo, puede existir el elemento nombre perteneciente al Namespace persona y el elemento nombre perteneciente al

10 Namespace producto. Los dos poseen el mismo nombre ( nombre ), pero tienen significados distintos. Un Namespace se define en el atributo xmlns:referencia de un elemento, donde referencia es la referencia al espacio de nombres que se esta declarando. Por ejemplo: <libros xmlns:persona= xmlns= > En este ejemplo se declara el Namespace con la referencia persona. Cuando se quiere hacer referencia a un elemento de ese espacio de nombres, se coloca la referencia al espacio de nombres ( persona ), luego : y luego el nombre del elemento. En el ejemplo luego se declara otro Namespace, donde no se especifica ninguna referencia para ese espacio de nombres. De este modo, se declara a un Namespace, como el espacio de nombres por defecto. Cuando un elemento no posee una referencia a un espacio de nombres determinado, el Namespace correspondiente es el espacio de nombres por defecto. Un espacio de nombres puede ser utilizado en el elemento que se lo declara y en todos los elementos que contiene el mismo. Resumen de reglas para documentos bien-formados Resumen de reglas para que un documento este bien-formado: Debe tener un unico elemento raiz. Los elementos deben estar correctamente anidados. Todos los elementos deben tener un tag de comienzo y fin. No se pueden repetir nombres de atributos en un mismo elemento. Los nombres de los atributos y elementos deben seguir la definicion dada. Los atributos deben tener un valor. Los valores de los atributos deben estar entre comillas (dobles o simples). DTD El DTD es la declaración del tipo de documento. En el se declara la estructura que debe poseer un documento para ser considerado valido. No debe confundirse el termino valido con el termino bien formado. Un documento es bien formado cuando cumple con la especificación de XML. Un documento XML es valido cuando cumple con la estructura definida en el DTD que posee asociado. Por ende, un documento XML puede ser valido con un DTD especifico y no serlo con otro, pero sigue siendo un documento XML bien formado. El DTD se declara en el prologo del documento XML. Existen tres formas: 1_ <!DOCTYPE libros SYSTEM "libros.dtd"> 2_ <!DOCTYPE libros PUBLIC " 3_ <!DOCTYPE libros [ contenido del DTD ]>

11 En la primera y en la segunda, se hace referencia a un archivo externo que posee la definición del DTD a utilizar. Las dos son similares, pero la PUBLIC se utiliza para DTDs de libre acceso para el publico, que definen standars para documentos XML de diferentes materias. En la tercera, la definición del DTD se realiza en el mismo archivo donde se encuentra el documento XML. Declaración de elementos Para declarar la estructura de un elemento se utiliza: <!ELEMENT nombre contenido> Donde nombre es el nombre del elemento que se esta definiendo su estructura y contenido es el contenido permitido para dicho elemento. Como contenido del elemento se indican los nombres de los elementos que este puede contener. Con, se indican la secuencia de elementos, y con se indica la elección entre varios elementos. Por ejemplo: <!ELEMENT nombre (e1,e2)> Indica que el elemento nombre posee al elemento e1, seguido del elemento e2. No cumple con la declaración del elemento si el elemento nombre posee al elemento e2 y luego al e1. El elemento nombre posee un solo elemento e1, y luego un solo elemento e2. Se puede utilizar los modificadores para indicar la cantidad. Mediante + se indica que puede haber un elemento o mas; con * se indica que puede haber cero o mas elementos; con? se indica que el elemento es opcional, o sea que puede haber cero o una ocurrencia del elemento. Si no se indica ningún modificador de cantidad, se considera que el elemento debe ocurrir una y solo una vez. Por ejemplo: <!ELEMENT nombre (e1?,e2*,e3+,e4)> Indica que el elemento nombre posee uno o ningún elemento e1, seguido de cero o mas elementos e2, seguido de uno o mas elementos e3, y por ultimo un elemento e4. Las siguientes estructuras serian validas: <nombre> <e3 /> <e4 /> </nombre <nombre>

12 <e1 /> <e2 /> <e2 /> <e3 /> <e4 /> </nombre> <nombre> <e1 /> <e3 /> <e3 /> <e4 /> </nombre> Las siguientes estructuras no serian validas: <nombre> <e4 /> </nombre> Por lo menos debe existir un elemento e3. <nombre> <e3 /> </nombre> Por lo menos debe existir un elemento e4. <nombre> <e1 /> <e1 /> <e3 /> <e4 /> </nombre> El elemento e1 puede aparecer cero o una vez. <nombre> <e3 /> <e4 /> <e2 /> <e1 /> </nombre> El orden de los elementos no es el correcto. Otro ejemplo: <!ELEMENT nombre (e1 e2 e3)>

13 Indica que el elemento nombre posee un elemento e1 o un elemento e2 o un elemento e3, pero solo uno de ellos. Se pueden utilizar las secuencias, las elecciones y los modificadores, todos juntos en la declaración de un elemento. Por ejemplo: <!ELEMENT nombre (e1?,(e2 e3)+)*> Indica que el elemento nombre posee un elemento e1 opcional, luego un elemento e2 o un elemento e3, y esta elección puede ocurrir mas de una vez. Todo el conjunto puede ocurrir cero o mas veces. Las siguientes estructuras serian validas: <nombre> </nombre> <nombre> <e1 /> <e2 /> <e2 /> </nombre> <nombre> <e2 /> <e3 /> </nombre> <nombre> <e3 /> <e1 /> <e2 /> </nombre> La siguiente estructura no seria valida: <nombre> <e1 /> </nombre> Existe un contenido especial que es ANY que permite cualquier elemento como contenido. <!ELEMENT nombre ANY> Permite que el elemento nombre contenga cualquier elemento. Tambien existe EMPTY que indica que el elemento es vacio. <!ELEMENT nombre EMPTY>

14 Para permitir que un elemento contenga texto o texto y otros elementos se debe declarar como de contenido mixto. Para declarar un elemento que solo puede contener texto: <!ELEMENT nombre (#PCDATA)> Para declarar un elemento que puede contener texto y otros elementos : <!ELEMENT nombre (#PCDATA e1 e2)*> Indica que el elemento nombre puede contener texto, al elemento e1 y al elemento e2. Cuando se define un elemento de contenido mixto no se puede determinar la secuencia de los elementos y siempre se debe colocar un * al final de la declaración del contenido. Declaración de atributos Para declarar los atributos de un elemento se utiliza: <!ATTLIST elemento atributo1 tipo1 modificador1 atributo2 tipo2 modificador2...> Donde elemento es el nombre del elemento para el cual se esta declarando la lista de atributos, atributo1 es el nombre del primer atributo, tipo1 es el tipo y modificador1 es el modificador. A continuación se pueden declarar otros atributos para el mismo elemento, hasta finalizar con >. Tipos de Atributos Los tipos de atributos pueden ser: CDATA: texto. ID: identifica univocamente al elemento y debe emparejar con el significado de nombre. IDREF: hace referencia a un elemento que posee el mismo valor en un atributo de tipo ID. IDREFS: lista de IDREF separada por espacios. NMTOKEN: debe emparejar con el significado de nmtoken (todos sus caracteres deben letras, digitos, puntos (. ), guiones ( - ), guiones bajo ( _ ) o dos puntos ( : )). NMTOKENS: lista de NMTOKEN separada por espacios. ENTITY: debe emparejar con el significado de nombre y con el nombre de una entidad declarada. ENTITIES: lista de ENTITY separada por espacios. (en1 en2...): enumeración de valores posibles (deben ser nmtoken).

15 Modificadores de atributos Los modificadores pueden ser: Valor: valor por defecto del atributo. #REQUIRED: indica que el atributo es obligatorio. #IMPLIED: indica que el atributo es opcional. #FIXED valor: indica que el valor del atributo siempre debe ser valor. Ejemplos de declaraciones de atributos Algunos ejemplos: <!ATTLIST foo color (verde azul) verde> <!ATTLIST persona documento CDATA #REQUIRED tipo (DNI CI LE) DNI> <!ATTLIST combo visible (yes no) yes> <!ATTLIST foo a CDATA #IMPLIED> Declaración de entidades En el DTD tambien se pueden declarar las entidades, que luego pueden ser referenciadas en todo el documento XML. Se declaran de este modo: <!ENTITY nombre valor> Donde nombre es el nombre de la entidad y valor es el valor de dicha entidad, entre comillas dobles o simples. Ejemplo: <!ENTITY autor Lewis Carrol > Cada vez que aparezca &autor; en el documento XML, sera reemplazado por Lewis Carrol. No puede declararse una entidad que posea un referencia recursiva a si misma, provocando un error de mal formación. Ademas puede definirse una entidad externa del siguiente modo: <!ENTITY nombre SYSTEM "URI/URL"> Donde se indica el URI o la URL donde se encuentra el texto de reemplazo de la entidad. Tambien puede utilizarse PUBLIC en cambio de SYSTEM.

16 Declaración de entidades parametro Ademas existen las entidades parámetros, que a diferencia de las entidades anteriores, solo pueden ser referenciadas dentro del DTD y se utiliza % en cambio de &. Es un error de mal formación referenciar una entidad parámetro fuera del DTD. Se declaran de este modo: <!ENTITY % nombre valor> Por ejemplo: <!ENTITY % tipos_doc (DNI CI LE) > Luego podriamos declarar los atributos del elemento persona de este modo: <!ATTLIST persona documento CDATA #REQUIRED tipo %tipos_doc; DNI> DTD ejemplo La declaración de DTD para el archivo XML de libros podria ser: <!DOCTYPE libros [ <!ENTITY autor Tanenbaum > <!ENTITY % isbn ISBN CDATA #REQUIRED > <!ELEMENT libros (libro)+> <!ATTLIST libros cantidad CDATA #IMPLIED> <!ELEMENT libro (titulo,autor,descripcion?)> <!ATTLIST libro %isbn;> <!ELEMENT titulo (#PCDATA)*> <!ELEMENT autor (#PCDATA)*> <!ELEMENT descripcion (#PCDATA)*> ]> Resumen de reglas Resumen de reglas para que un documento sea valido: Debe cumplir las especificaciones del DTD mediante el cual se valida. El nombre en la declaracion del tipo de documento debe ser igual al nombre del elemento raiz. No se puede declarar mas de una vez un elemento. No puede aparecer mas de una vez el mismo elemento en las declaraciones de elementos mixtos. No es un error declarar atributos para elementos no declarados.

17 Si existen varias declaraciones de atributos para un mismo elemento, son concatenadas. Si existen varias definiciones de atributos para el mismo atributo se utiliza la primera definición encontrada. Si se declara mas de una vez una entidad, la primera es utilizada. Problemas de los DTD Los DTD no permiten definir tipos de datos, ni herencia o derivación de nuevos tipos. Posee un modelo de elementos pobre, con la carencia de poder indicar el contenido de un elemento que no sea en un orden especifico (se puede hacer pero de forma no elegante). Tampoco permite la restricción de los valores que puede tomar un atributo, como la validación de un rango en un atributo numérico. Tampoco posee valores por defecto para los elementos. Además no esta escrito en sintaxis de XML. Existen Alternativas a los DTD, como ser: XML Schema RelaxNG Schematron XML Schema En reemplazo de los modestos DTD, surge XML Schema. Schema permite definir la estructura de un documento XML y luego validarlos contrastándolos con la estructura definida. Con XML Schema se posee un mayor poder para definir la estructura de un documento XML válido. Algunas ventajas sobre los DTDs: Los esquemas usan sintaxis XML: un esquema XML es un documento XML. Esto significa que se puede procesar un esquema igual que cualquier otro documento XML. Los esquemas XML soportan tipos de datos: en los esquemas existen varios tipos de datos definidos. Los esquemas XML son extensibles: además de los tipos de datos ya definidos, se pueden crear tipos de datos propios y se pueden derivar nuevos tipos de datos a partir de otros. Los esquemas XML permite restricciones en los valores de los atributos. Mediante la adición del atributo xmlns:xsi (donde se declara el espacio de nombres xsi, XML Schema Instance) y el atributo xsi:nonamespaceschemalocation, que indica la

18 ubicación del archivo donde se especifica el schema, se indica que su contenido debe corresponder con la estructura declarada en un Schema. Por ejemplo: <libro ISBN= 123 xmlns:xsi= xsi:nonamespaceschemalocation= libro.xsd > <titulo>so</titulo> <autor>tanenbaum</autor> </libro> Tambien se puede definir un namespace propio y utilizar el atributo xsi:schemalocation para indicar el URI donde se encuentra el archivo de schema. Por ejemplo: <libros:libro xmlns:xsi= xmlns:libros= xsi:schemalocation= > Luego en el archivo libro.xsd se define la estructura del documento xml con Schema. Un posible Schema seria: <xsd:schema xmlns:xsd= > <xsd:element name= libro > <xsd:complextype> <xsd:sequence> <xsd:element name= titulo type= xsd:string /> <xsd:element name= autor type= xsd:string /> </xsd:sequence> <xsd:attribute name= ISBN type= xsd:string use= required /> </xsd:complextype> </xsd:element> </xsd:schema> En la etiqueta de inicio del elemento schema se define el espacio de nombres xsd (XML Schema Definition), al cual pertenece el elemento schema mismo. Dentro del mismo se definen los distintos elementos y atributos de cada elemento que posee un documento xml que sera validado por ese schema. Declaración de elementos y atributos Mediante los elementos xsd:element y xsd:attribute se declaran los elementos y los atributos respectivamente. Cuando se declara un elemento se indica su nombre mediante el atributo name y se puede definir el tipo de elemento mediante el atributo type. Cuando se

19 declara un atributo se indica su nombre mediante el atributo name, el tipo mediante el atributo type y si es obligatorio o no, mediante el atributo use. Existen 40 tipos predifinidos como string, integer, decimal, float, boolean, time, date, etc. Declaración de elementos Para definir el tipo de un elemento especifico se utiliza: <xsd:element name= nombre type= tipo /> Donde nombre es el nombre del elemento que se esta declarando su tipo y tipo, su tipo. Los tipos predefinidos comienzan con el prefijo xsd:, correspondiente al namespace xsd, y luego el nombre del tipo predefinido. Por ejemplo: <xsd:element name= titulo type= xsd:string /> Declara al elemento titulo de tipo string. Declaración de atributos Para definir el tipo de un atributo se utiliza: <xsd:attribute name= nombre type= tipo use= uso /> Donde nombre es el nombre del atributo que se esta declarando su tipo, tipo es el tipo de atributo y uso indica si el atributo es obligatorio o no. Los valores posibles del atributo use son: required = obligatorio optional = opcional prohibited = prohibido Un ejemplo de la declaracion de un atributo es: <xsd:attribute name= ISBN type= xsd:string use= required /> Declara al atributo ISBN de tipo string y que su uso es obligatorio. En los elementos xsd:element y xsd:attribute tambien existe el atributo default, que indica el valor por defecto, y el atributo fixed, que indica que el valor es siempre el mismo. Declaración de elementos simples y complejos

20 Ademas de los tipos predefinidos, Schema permite definir tipos de elementos. Exiten dos tipos generales de elementos: Elemento Simple: no puede contener otros elementos ni atributos. Para definir estos elementos se utiliza el elemento xsd:simpletype. Elemento Complejo: puede contener otros elementos y/o atributos. Para definir estos elementos se utiliza el elemento xsd:complextype. Declaración de elementos simples Ejemplo de declaracion de un elemento simple: <xsd:element name= stock > <xsd:simpletype> <xsd:restriction base= xsd:integer > <xsd:mininclusive value= 1 /> <xsd:maxinclusive value= 10 /> </xsd:restriction> </xsd:simpletype> <xsd:element> Declara al elemento stock como de tipo simple. Luego utiliza al elemento xsd:restriction para establecer una restricción en los valores de un tipo de elemento base, en este caso entero. Luego se indica el posible rango de valores mediante los elementos xsd:mininclusive y xsd:maxinclusive. Tambien se pueden definir restricciones mediante enumeraciones de los valores posibles utilizando el elemento xsd:enumeration, definir restricciones mediante patrones de expresiones regulares utilizando el elemento xsd:pattern o definir restricciones mediante longitudes minimas y máximas utilizando el elemento xsd:minlength y xsd:maxlength, respectivamente. Algunos ejemplos de elementos simples: <xsd:element name="car"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="audi"/> <xsd:enumeration value="golf"/> <xsd:enumeration value="bmw"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="letter"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-z]"/>

21 </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="gender"> <xsd:simpletype> <xsd:restriction base="xs:string"> <xsd:pattern value="male female"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="password"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:minlength value="5"/> <xsd:maxlength value="8"/> </xsd:restriction> </xsd:simpletype> </xsd:element> Declaración de elementos complejos Como ya se indico, tambien existen los elementos complejos, los cuales pueden contener otros elementos y/o atributos. Por ejemplo: <xsd:element name= libro > <xsd:complextype> <xsd:sequence> <xsd:element name= titulo type= xsd:string /> <xsd:element name= autor type= xsd:string /> </xsd:sequence> <xsd:attribute name= ISBN type= xsd:string use= required /> </xsd:complextype> </xsd:element> Donde se declara al elemento libro y se indica que es un elemento complejo. El elemento complejo posee una secuencia de elementos declarada mediante el elemento xsd:sequence, que posee como contenido las declaraciones de los elementos que forman la secuencia, en este caso titulo y autor, los dos de tipo string. También se declara el atributo ISBN al elemento libro. Además de la secuencia de elementos, se pueden definir elementos complejos que contengan otros elementos pero que no se indique el orden de los mismos, utilizando el elemento xsd:all, o una elección entre varios elementos utilizando el elemento xsd:choice. Algunos ejemplos de elementos complejos:

22 <xsd:element name="person"> <xsd:complextype> <xsd:all> <xsd:element name="firstname" type="xs:string"/> <xsd:element name="lastname" type="xs:string"/> </xsd:all> </xsd:complextype> </xsd:element> <xsd:element name="person"> <xsd:complextype> <xsd:choice> <xsd:element name="employee" type="employee"/> <xsd:element name="member" type="member"/> </xsd:choice> </xsd:complextype> </xsd:element> Definicion de nuevos tipos Schema permite definir nuevos tipos, asignándole un nombre, para luego poder utilizarlo en la declaración de los tipos de elementos. Por ejemplo, puedo definir el tipo tipo_stock del siguiente modo: <xsd:simpletype name= tipo_stock > <xsd:restriction base= xsd:integer > <xsd:mininclusive value= 1 /> <xsd:maxinclusive value= 10 /> </xsd:restriction> </xsd:simpletype> Luego se puede declarar un elemento del tipo tipo_stock: <xsd:element name= stock type= tipo_stock /> Puedo declarar el tipo tipo_libro del siguiente modo: <xsd:complextype name= tipo_libro > <xsd:sequence> <xsd:element name= titulo type= xsd:string /> <xsd:element name= autor type= xsd:string /> </xsd:sequence> <xsd:attribute name= ISBN type= xsd:string use= required /> </xsd:complextype>

23 Luego se puede declarar un elemento del tipo tipo_libro: <xsd:element name= libro type= tipo_libro /> Se puede definir la cantidad de ocurrencias de un elemento mediante los atributos minoccurs y maxoccurs. Por ejemplo: <xsd:element name= autor type= xsd:string minoccurs= 1 maxoccurs= unbounded /> Donde se indica que el elemento autor puede aparecer una o mas veces (con unbounded se indica que no posee limite). Los atributos minoccurs y maxoccurs posee 1 como valor por defecto, indicando que debe aparecer una y solo una vez. Se puede declarar a un elemento como opcional colocando los valores de 0 y 1 a minoccurs y a maxoccurs, respectivamente. A diferencia de los DTD, se permite indicar las cantidades exactas de elementos requeridos, por ejemplo de 3 a 5, colocando minoccurs= 3 y maxoccurs= 5. Como ya se indico, los atributos se declaran mediante el elemento xsd:atribute: <xsd:attribute name= ISBN type= xsd:string use= required /> Tambien se pueden definir tipos de atributos, como por ejemplo el tipo_nacionalidad: <xsd:simpletype name= tipo_nacionalidad > <xsd:restriction base= xsd:string > <xsd:enumeration value= argentina /> <xsd:enumeration value= españa /> <xsd:enumeration value= otra /> </xsd:restriction> </xsd:simpletype> Y luego puedo declarar al atributo nacionalidad de tipo tipo_nacionalidad: <xsd:attribute name= nacionalidad type= tipo_nacionalidad /> Puedo ahora crear el tipo tipo_autor agregándole el atributo nacionalidad, colocando argentina como valor por defecto: <xsd:complextype name= tipo_autor > <xsd:simplecontent> <xsd:restriction base= xsd:string > <xsd:attribute name= nacionalidad type= tipo_nacionalidad default= argentina /> </xsd:restriction>

24 </xsd:simplecontent> </xsd:complextype> Y declarar el elemento autor de tipo tipo_autor: <xsd:element name= autor type= tipo_autor /> Luego defino el tipo tipo_libros, para que permita contener elementos libro y el atributo cantidad: <xsd:complextype name= tipo_libros > <xsd:sequence> <xsd:element name= libro type= tipo_libro maxoccurs= unbounded /> </xsd:sequence> <xsd:attribute name= cantidad type= xsd:positiveinteger /> </xsd:complextype> Luego puedo declarar al elemento libros de tipo tipo_libros: <xsd:element name= libros type= tipo_libros /> Definición de tipos mediante extension Schema tambien permite crear un nuevo tipo extendiendo un tipo previamente creado, mediante el elemento xsd:extension. Por ejemplo extiendo libro a apunte, un libro que contiene un elemento de nombre catedra de tipo string: <xsd:complextype name= tipo_apunte > <xsd:complexcontent> <xsd:extension base= tipo_libro > <xsd:sequence> <xsd:element name= catedra type= xsd:string /> </xsd:sequence> </xsd:extension> </xsd:complexcontent> </xsd:complextype> Luego puedo declarar al elemento libros como una secuencia de elementos libro de tipo tipo_libro: <xsd:element name= libros > <xsd:complextype> <xsd:sequence>

25 <xsd:element name= libro type= tipo_libro maxoccurs= unbounded /> </xsd:sequence> </xsd:complextype> </xsd:element> En el documento XML, en la etiqueta de comienzo de elemento, indico a que tipo corresponde mediante el atributo xsi:type (podria tener varios tipos que extiendan a tipo_libro). Por ejemplo: <libro xsi:type= tipo_apunte > Este elemento contiene un elemento llamado catedra. <libro xsi:type= tipo_libro > Este elemento no puede contener un elemento llamado catedra. Tambien se pueden definir tipos abstractos, mediante el atributo abstract, como por ejemplo: <xsd:complextype name= tipo_libro abstract= true > Donde se declara que el tipo tipo_libro es abstracto. El valor por defecto del atributo abstrac es false. Declaracion de elementos de contenido mixto Para declarar un elemento de contenido mixto se utiliza el atributo mixed del elemento xsd:complexcontent. Por ejemplo: <xsd:complextype name= tipo_apunte > <xsd:complexcontent mixed= true > <xsd:extension base= tipo_libro > <xsd:sequence> <xsd:element name= catedra type= xsd:string /> </xsd:sequence> </xsd:extension> </xsd:complexcontent> </xsd:complextype> Declara el tipo de elemento tipo_apunte que extiende al tipo tipo_libro, pero admite contenido mixto, o sea, ademas de contener a otros elementos puede contener texto. Declaración de elementos unicos

26 Se puede indicar elementos unicos, como por ejemplo que no haya dos libros con el mismo ISBN: <xsd:schema> <xsd:element name= libros > <xsd:complextype> <xsd:sequence> <xsd:element name= libro type= tipo_libro maxoccurs= unbounded /> </xsd:sequence> </xsd:complextype> <xsd:unique name= no_libros_repetidos > <xsd:selector xpath= libro /> <xsd:field /> </xsd:unique> </xsd:element> </xsd:schema> Con el elemento xsd:unique se indica que se va a declarar un identificador unico y se indica su nombre mediante el atributo name. Mediante el elemento xsd:selector se indica la expresión xpath de o de los elementos donde se aplica el identificador, y con el elemento xsd:field se indica la expresion xpath del atributo que se utilizara como identificador unico. En el ejemplo se indica que no puede haber mas de un elemento libro (contenido en el elemento libros) con el mismo ISBN. Si existiera otro elemento libro en otro elemento del documento no tendría esta restricción, ya que la misma solo se aplica a los elementos contenidos en el elemento libros, que es donde se declara. Declaración de referencias a elementos Tambien se puede restringir que aparezcan elementos que existan en algun otro lugar, definiendo una clave y luego haciendo referencia a la misma. Para declarar la clave se utiliza el element xsd:key: <xsd:key name= nombre_clave > <xsd:selector xpath= /> <xsd:field /> </xsd:key> Para declarar la referencia a una clave, cuyo valor que se referencia debe existir, se utiliza el elemento xsd:keyref:

27 <xsd:keyref name= nombre_referencia ref= nombre_clave > <xsd:selector xpath= /> <xsd:field /> </xsd:keyref> Por ejemplo, podria tener en el mismo documento XML de los libros, los cuales representaban el stock, elementos de las ventas de los mismos. Podriamos checkear que todos los libros vendidos existan en el stock (solo que existan, no que haya disponibles en ese momento): <xsd:schema> <xsd:element name= libreria > <xsd:complextype> <xsd:sequence> <xsd:element name= libros > <xsd:complextype> <xsd:sequence> <xsd:element name= libro type= tipo_libro maxoccurs= unbounded /> </xsd:sequence> </xsd:complextype> <xsd:unique name= no_libros_repetidos > <xsd:selector xpath= libro /> <xsd:field /> </xsd:unique> </xsd:element> <xsd:element name= venta maxoccurs= unbounded > <xsd:complextype> <xsd:sequence> <xsd:element name= item maxoccurrs= unbounded > <xsd:complextype> <xsd:simplecontent> <xsd:extension base= xsd:string > <xsd:attribute name= ISBN type= xsd:string use= required /> </xsd:extension> </xsd:simplecontent> </xsd:complextype> </xsd:element> </xsd:sequence>

28 <xsd:attribute name= numero type= xsd:positiveinteger use= required /> </xsd:complextype> <xsd:keyref name= libro_existente_stock ref= stock > <xsd:selector xpath= item /> <xsd:field /> </xsd:keyref> </xsd:element> </xsd:sequence> </xsd:complextype> <xsd:key name= stock > <xsd:selector xpath= libros/libro /> <xsd:field /> </xsd:key> </xsd:element> </xsd:schema> Inclusión de otros schemas Puedo incluir otros schemas, donde se declare una parte de todo el Schema, mediante el elemento xsd:include y su atributo schemalocation: <xsd:include schemalocation= otro_schema.xsd > </xsd:include> Redefinir schemas Tambien puedo redefinir un schema ya definido, mediante el elemento xsd:redefine. Por ejemplo, puedo redefinir el tipo tipo_libro definido previamente (almacenado en schema.xsd), extendiéndolo para que admita un elemento llamado catedra: <xsd:redefine schemalocation= schema.xsd > <xsd:complextype name= tipo_libro > <xsd:complexcontent> <xsd:extension base= tipo_libro > <xsd:element name= catedra type= xsd:string /> </xsd:extension> </xsd:complexcontent>

29 </xsd:complextype> </xsd:redefine> Comentarios en schemas Para realizar comentario o anotaciones se utiliza el elemento xsd:annotation y el elemento xsd:documentation: <xsd:annotation> <xsd:documentation> Comentarios </xsd:documentation> </xsd:annotation> XPATH XPath representa al documento XML como un arbol, con siete diferentes tipos de nodos: Nodos Elementos. Nodos Texto. Nodos Atributos. Nodos Namespace. Nodos PI. Nodos Comentarios. Nodo Raiz. Mediante la anotación XPath se pueden referenciar elementos, atributos o cualquier contenido de un documento XML. Existen paths relativos y absolutos. La estructura general de un path XPath es: Relacion::Tipo-nodo[Predicado] Donde relacion define la relacion utilizada para seleccionar nodos, tipo-nodo especifica el tipo de nodo a seleccionar y el predicado, el cual es opcional, permite filtrar nodos de la colección resultante. Relacion La relacion define la relacion entre el nodo actual y los nodos a ser seleccionados. XPath define las siguientes relaciones: self: Nodo actual. parent: Nodo padre del nodo actual. child: Nodo hijo del nodo actual. attribute: Nodos atributos del nodo actual.

30 ancestor: Nodos ancentros del nodo actual. descendant: Nodos descendientes del nodo actual. ancestor-or-self: Nodos acentros del nodo actual y el nodo actual. descendant-or-self: Nodos descendientes del nodo actual y el nodo actual. following-sibling: Nodos hermanos del nodo actual que le siguen a este ultimo. preceding-sibling: Nodos hermanos del nodo actual que se encuentran antes del mismo. following: Todos los nodos siguientes en el documento xml. preceding: Todos los nodos anteriores en el documento xml. namespace: Todos los nodos en el mismo namespace. Tipo-nodo text(): selecciona los nodos de tipo texto. comment(): selecciona los nodos de tipo comentarios. processing-instruccion(): selecciona los nodos de tipo PI. node(): selecciona los nodos de cualquier tipo. Ejemplos XPath Algunos ejemplos de sentencias XPaths: Contenido de texto del elemento autor del primer libro: /child::libros/child::libro[1]/child::autor/child::text() La relacion por defecto es child, entonces, puedo simplificar la sentencia anterior a: /libros/libro[1]/autor/text() Para obtener el primer libro: /libros/libro[1] o: /libros/node()[1] Todos los libros: /libros/libro o: /libros/*

31 Si desde el elemento libros quiero hacer referencia a todos los libros, utilizando un path relativo (no utilizo la barra inicial): libro El elemento raiz (libros): /* El atributo ISBN del primer libro: /libros/libro[1]/attribute::isbn o (@ = attribute::): /libros/libro[1]/@isbn Si quiero todos los atributos del primer libro: /libros/libro[1]/@* Si quiero los comentarios de libros: /libros/comment() Si quiero las PI de libros: /libros/proccesing-instruction() Para todos los libros era: /libros/libro o (// = descendant-or-self): //libro El atributo ISBN del primer libro: //libro[1]/@isbn Predicados Podemos usar predicados para filtrar solo los nodos deseados.

32 Ejemplos XPath con predicados Libro con titulo = SO : //libro[titulo/text()= SO ] Titulo del libro con ISBN = 123 : //libro[@isbn= 123 ]/titulo/text() Arbol XPath Como se indico, Xpath utiliza un arbol para representar al documento XML. Este arbol esta formado por un nodo raiz como raiz del arbol, que posee como hijo al elemento raiz del documento XML. Los demas elementos poseen como padre al elemento que lo contiene, al igual que los atributos, los comentarios, el texto, las PI y los namespaces. Cada nodo es de un tipo particular, dependiendo de la información que contenga. Arbol XPath de ejemplo Poseo el siguiente documento XML de libros: <libros> <libro ISBN="123"> <titulo>sistemas Operativos</titulo> <autor>tanenbaum</autor> </libro> <libro ISBN="124"> <titulo>redes de Computadoras</titulo> <autor> Tanenbaum <autor> </libro> <?close libros.dat?> </libros>

33 raiz libros (E) libro (E) libro (E) close libros.dat (PI) ISBN= 123 (A) titulo (E) autor (E) ISBN= 124 (A) titulo (E) autor (E) SO (T) Tanenb aum (T) Redes (T) Tanenb aum (T)

34 Parsers XML Un parser es la herramienta XML más básica pero la más importante. Cada aplicación que utiliza archivos XML utiliza un parser. Un parser es un componente que se sitúa entre la aplicación y los archivos XML. Su meta es abstraer al desarrollador de la sintaxis de los documentos XML. Existen principalmente dos tipos de parseadores de documentos XML: los parsers DOM (Document Object Model) y los parsers SAX (Simple API for XML). Existen otros tipos de parsers que poseen algunas características de ambos modelos anteriores. DOM El Document Object Model, comúnmente llamado DOM ( define un conjunto de interfaces a la versión parseada de un documento XML. El parser lee el documento completo y construye un árbol en memoria, de forma que el código puede entonces utilizar las interfaces DOM para manipular ese árbol. El árbol en memoria representa todo el documento XML. Es posible moverse a través del árbol para ver lo que el documento original contenía, se pueden borrar secciones del árbol, reordenarlo, añadir nuevas ramas, etc. DOM fue creado por el W3C, y es una Recomendación Oficial del consorcio. Limitaciones de DOM DOM construye un árbol en la memoria con el documento entero. Si el documento es muy grande se requiere una cantidad significativa de memoria. DOM crea objetos que representan todo el documento original, incluyendo elementos, texto, atributos y espacios en blanco. Si solo se tiene interés en una pequeña parte del documento original, es extremadamente costoso crear todos esos objetos que nunca se usarán. Un parser DOM tiene que leer el documento entero antes de que el código pueda tomar el control. Para documentos muy grandes esto puede causar un retraso significativo. SAX Para soslayar las carencias de DOM, los participantes de XML-DEV (liderados por David Megginson) crearon la interfaz Simple API for XML (SAX, SAX tiene diversas características que solucionan las limitaciones de DOM. Un parser SAX envía eventos al código. El parser genera eventos a la aplicación que lo esta utilizando cuando encuentra el comienzo y/o fin del documento,

35 elemento, texto, etc. La aplicación decide que eventos son importantes y que tipo de estructura de datos es necesario crear para almacenarlos. Si no guarda explícitamente los datos de un evento, estos se perderán. Un parser SAX no crea ningún objeto en absoluto, simplemente envía eventos hacía la aplicación. Si se desea crear objetos basados en esos eventos, es tarea de la aplicación. Un parser SAX empieza a enviar eventos tan pronto como se inicia. La aplicación recibirá un evento cuando el parser encuentre el inicio del documento, cuando encuentre el inicio de un elemento, texto, etc. La aplicación comenzará a generar resultados inmediatamente, sin tener que esperar hasta que el documento entero haya sido parseado. Aún mejor, si solo está buscando algunas cosas en el documento, su código puede elevar una excepción sólo si ha encontrado lo que estaba buscando. Una excepción detiene el parser SAX y la aplicación puede hacer cualquier cosa que necesite con los datos encontrados. Limitaciones de SAX Los parsers SAX tienen limitaciones que pueden causar preocupación: Los eventos SAX no tienen estado. Cuando un parser SAX encuentra texto en un documento XML, envía un evento a la aplicación. Este evento solo indica el texto encontrado; no dice que elemento contenía ese texto. Si se quiere saber esto, se tiene que escribir el código para la gestión de estado en la aplicación. Los eventos SAX no son permanentes. Si la aplicación necesita una estructura de datos que modele el documento XML, se debe escribir ese código. Si se necesita acceder a los datos de un evento SAX y no se han almacenado, se tiene que parsear el documento de nuevo. SAX no está controlado por una organización centralizada. Aunque esto no ha causado problemas hasta hoy, algunos desarrolladores se sentirían más cómodos si SAX estuviese controlado por una organización como la W3C. DOM o SAX? Si se desea determinar qué tipo de parser es el más adecuado para realizar una cierta tarea, se deben tener en cuenta estas consideraciones: Una vez que se ha parseado el documento, será necesario acceder a esos datos varias veces? Si se necesita volver sobre la versión parseada del documento XML, DOM es probablemente la elección correcta. Cuando un evento SAX se ha disparado es responsabilidad del programador almacenarlo si lo va a necesitar más tarde. Si necesita acceder a un dato que no fue guardado, se debe parsear el documento nuevamente. DOM almacena todos los datos automáticamente.

36 Solo son necesarios algunos datos del documento XML? Si solo se necesitan algunos datos del documento XML, SAX es probablemente la elección correcta. SAX no crea objetos para todo lo que contiene el documento XML; se puede decidir qué es lo importante. Con SAX se puede comprobar cada evento para determinar si es relevante y procesarlo entonces adecuadamente. Aún mejor, una vez que se encontró lo que la aplicación necesitaba, se puede detener el parseo. Se esta trabajando en una máquina con muy poca memoria o con documentos XML excesivamente grandes? Si es así, SAX es la mejor elección, independientemente de todos los otros factores que se puedan considerar. Tecnologías relacionadas con XML XSL XSL (siglas de Extensible Stylesheet Language, expresión inglesa traducible como "lenguaje extensible de hojas de estilo") es una familia de lenguajes basados en el estándar XML que permite describir cómo la información contenida en un documento XML cualquiera debe ser transformada o formateada para su presentación en un medio específico. Esta familia está formada por tres lenguajes: XSLT (siglas de Extensible Stylesheet Language Transformations, lenguaje de hojas extensibles de transformación), que permite convertir documentos XML de una sintaxis a otra (por ejemplo, de un XML a otro o a un documento HTML). XSL-FO (lenguaje de hojas extensibles de formateo de objetos), que permite especificar el formato visual con el cual se quiere presentar un documento XML, es usado principalmente para generar documentos PDF. XPath o XML Path Language, es una sintaxis (no basada en XML) para acceder o referirse a porciones de un documento XML. Estas tres especificaciones son recomendaciones oficiales del W3C. Seguridad Hay dos estándares significativos que determinan la seguridad de los documentos XML. Uno es el estándar XML Digital Signature o Firma Digital XML (w3.org/tr/xmldsigcore/), que define una estructura de documento XML para las firmas digitales. Puede crear una firma digital XML para cada tipo de datos, tanto si es un documento XML, un fichero

37 HTML, texto plano, datos binarios, etc. Puede usar la firma digital para verificar que un fichero concreto no ha sido modificado después de que fuese firmado. Si el dato que ha firmado es un documento XML, puede incrustar el documento XML en el fichero de firma, lo que hace que el procesado de los datos y de la firma sea muy simple. El otro estándar determina el encriptado de documentos XML. Aunque es bueno que los documentos XML sean escritos de tal manera que un humano pueda leerlos y entenderlos, esto puede significar un problema si el documento cae en las manos equivocadas. El estándar XML Encryption o Encriptación XML (w3.org/tr/xmlenc-core/) define como partes de un documento XML pueden ser encriptadas. Usando estos estándares juntos, se pueden usar documentos XML con confianza. Puedo firmar digitalmente un documento XML, generando una firma que incluya el mismo documento. Luego, puedo encriptar el documento (usando mi clave privada y la clave pública del destinatario) y enviarlo. Cuando el documento sea recibido por el destinatario, se desencripta con su clave privada y mí clave pública, lo que le permitirá saber que he sido yo el único que le ha enviado el documento y asegurarse de que no ha sido modificado. Servicios Web Los Servicios Web son un importante nuevo tipo de aplicación. Un servicio Web es un fragmento de código que puede ser encontrado, descrito y accedido usando XML. Hay una gran actividad en este espacio, pero los tres principales estándares XML para los servicios Web son SOAP, WSDL y UDDI: SOAP: el Simple Object Access Protocol (Protocolo para Acceso Sencillo a Objetos), SOAP define un formato de documento XML que describe como invocar un fragmento de código remoto. Define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Mi aplicación crea un documento XML que describe el método que quiero invocar, pasándole cualquier parámetro necesario, y entonces envía ese documento a través de la red hacia el fragmento de código. El código recibe el documento XML, lo interpreta, invoca el método que solicité y entonces retorna un documento XML que describe los resultados. La especificación de la versión 1.1 de SOAP se encuentra en w3.org/tr/soap/. WSDL: el Web Services Description Language (Lenguaje para la Descripción de Servicios Web) es un vocabulario XML que describe un servicio Web. Es posible escribir un fragmento de código que tome un documento WSDL e invoque un servicio Web que nunca ha visto antes. La información del fichero WSDL define el nombre del servicio Web, los nombres de los métodos, los argumentos de esos métodos y otros detalles. Se puede encontrar la última especificación de WSDL en w3.org/tr/wsdl. UDDI: la Universal Description, Discovery and Integration protocol (protocolo de Descripción Universal, Exploración e Integración) define una interfaz SOAP con un

38 registro de servicios Web. La especificación UDDI define cómo añadir la descripción de un servicio al registro. Si está buscando un fragmento de código que proporciona una determinada función, la especificación UDDI define cómo consultar el registro para encontrar lo que busca. La fuente de todas las cosas acerca de UDDI es uddi.org. XLink XLink o Lenguaje de vínculos XML es una recomendación del World Wide Web Consortium (W3C) que permite crear elementos de XML que describen relaciones cruzadas entre documentos, imágenes y archivos de Internet u otras redes. De esta forma, XLink permite: Crear una relación de vínculos entre varios documentos. Agregar a un vínculo información acerca del mismo (metadatos). Crear y describir vínculos a documentos en multitud de ubicaciones. RSS RSS es parte de la familia de los formatos XML desarrollado específicamente para sitios de noticias y weblogs que se actualizan con frecuencia y por medio del cual se puede compartir la información y usarla en otros sitios web o programas. A esto se le conoce como sindicación. Los programas que leen y presentan fuentes RSS de diferentes procedencias se denominan agregadores. Gracias a los agregadores o lectores de feeds (programas o sitios que permiten leer fuentes RSS) se puede obtener resúmenes de todos los sitios que se desee desde el escritorio de tu sistema operativo, programas de correo electrónico o por medio de aplicaciones web que funcionan como agregadores. No es necesario abrir el navegador y visitar decenas de webs. MathML MathML es un lenguaje de marcado basado en XML, cuyo objetivo es expresar notación matemática de forma que distintas máquinas puedan entenderla, para su uso en combinación con XHTML en páginas web, y para intercambio de información entre programas de tipo matemático en general. SVG Scalable Vector Graphics (SVG) es un lenguaje para describir gráficos vectoriales bidimensionales, tanto estáticos como animados (estos últimos con ayuda de SMIL), en XML.

39 SVG se convirtió en una Recomendación del W3C en Septiembre de 2001, por lo que ya ha sido incluido de forma nativa en el navegador web del W3C Amaya. Otros navegadores web, necesitan un conector o plug-in, para lo que se puede utilizar el Visualizador SVG de Adobe. SVG rivaliza con Macromedia Flash en términos de potencial y poder, con la diferencia de que el primero es un estándar abierto. Mozilla actualmente soporta parte del estándar SVG del W3C. También el navegador Opera ha implementado una versión del SVG en su núcleo, por lo que ya no es necesario instalar un plug-in. XBRL XBRL es el acrónimo de extensible Business Reporting Language. Se trata de un estándar emergente, basado en XML, para el intercambio de información financiera. El XBRL se distingue de la mayor parte de los estándares basados en XML por el hecho de que los documentos XBRL (instancias) requieren analizadores XML específicos para validar la conformidad de una instancia con su correspondiente taxonomía. XHTML XHTML, acrónimo inglés de extensible Hyper Text Markup Language (lenguaje extensible de marcado de hipertexto), es el lenguaje de marcado pensado para sustituir a HTML como estándar para las páginas web. XHTML es la versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero cumple las especificaciones, más estrictas, de XML. Su objetivo es avanzar en el proyecto del World Wide Web Consortium de lograr una web semántica, donde la información, y la forma de presentarla estén claramente separadas. En este sentido, XHTML serviría únicamente para transmitir la información que contiene un documento, dejando para hojas de estilo (como las hojas de estilo en cascada) y JavaScript su aspecto y diseño en distintos medios (ordenadores, PDAs, teléfonos móviles, impresoras, etc.). RDF RDF son las siglas de Resource Description Framework, la especificación de un modelo de metadatos, que ha sido desarrollada por el World Wide Web Consortium (W3C). Este modelo se basa en la idea de convertir las declaraciones de los recursos en expresiones con la forma sujeto-predicado-objeto (conocidas en términos RDF como tripletes). El sujeto es el recurso, es decir aquello que se está describiendo. El predicado es la propiedad o relación que se desea establecer acerca del recurso. Por último, el objeto es el valor de la propiedad o el otro recurso con el que se establece la relación. La combinación de RDF con otras herramientas como RDF Schema y OWL permite añadir significado a las páginas, y es una de las tecnologías esenciales de la Web semántica.

40 La terminología proviene de la lógica y de la lingüística en las que las estructuras predicativas se utilizan también para dar significado a las representaciones sintácticas FOAF FOAF (Friend Of A Friend) es un proyecto dentro de la Web semántica para describir relaciones mediante XML y RDF que puedan ser procesadas fácilmente por máquinas. Este proyecto trata sobre la creación de una Web con homepages que describen a personas, los vínculos entre ellas y las cosas que ellas crean o realizan, todo esto en un formato legible por maquinas. DOAC DOAC (Description Of A Career, Descripción de una Carrera) es una extensión del vocabulario FOAF que permite compartir un currículum de forma que pueda ser procesado por cualquier aplicación. Ha sido diseñado para ser compatible con el currículum europeo (Europass), así que este puede ser generado a partir de un archivo FOAF+DOAC. Incluye información sobre educación, experiencia laboral, publicaciones, idiomas y otras habilidades. XUL XUL (XML User interface Language) es un lenguaje para desarrollar interfaces de usuario. Es parte del navegador Mozilla Firefox, de hecho XUL es tan poderoso que la interfaz completa del navegador Mozilla Firefox está implementada en este lenguaje. De forma similar al HTML, en XUL es posible crear una interfaz usando un lenguaje de marcado, definir la apariencia de esta interfaz con hojas de estilo CSS y usar javascript para manipular su comportamiento; a diferencia del HTML, XUL tiene un conjunto extenso de componentes gráficos usados para crear menús, barras de herramientas, cajas de texto, entre muchos otros componentes. En otras palabras, XUL puede usarse para crear interfaces multiplataformas, multidispositivos y ligeras. Otros Los documentos XML también son utilizados como archivos de configuración de aplicaciones, como medio para almacenar documentos de texto en un formato estándar y para guardar el estado de objetos en aplicaciones, entre algunos de los variados usos que se le dan a los documentos XML.

1 Introducción a XML

1 Introducción a XML 1 Introducción a XML Introducción (I)! Qué es XML?! Últimamente todo el mundo habla sobre XML!! Dicen que es un lenguaje etiquetado...es decir: Es un lenguaje como HTML, pero con nuevas etiquetas?! Dicen

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 ([email protected]) " Guión Introducción Ejemplos Documentos vs apliaciones XML Espacios

Más detalles

IES Pablo Serrano-ASIR1D/DAM1D-B.Soler XML

IES Pablo Serrano-ASIR1D/DAM1D-B.Soler XML IES Pablo Serrano-ASIR1D/DAM1D-B.Soler Contenidos 1. Introducción 2. Quién ha creado? 3. Definición según W3C 4. Qué es? 5. Objetivos 6. Para qué sirve? 7. Con ya vale? 8. Tecnologías asociadas 9. Familia

Más detalles

Capítulo 1 Documentos HTML5

Capítulo 1 Documentos HTML5 Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs

Más detalles

XML, parte 3. M. en C. Erika Vilches

XML, parte 3. M. en C. Erika Vilches XML, parte 3 M. en C. Erika Vilches Creando Document Type Definitions Qué es un DTD? Las Document Type Definitions permiten restringir el contenido de los documentos XML Especificar qué tipos de contenido

Más detalles

extensible Markup Language

extensible Markup Language extensible Markup Language ISLN ISLN () XML 1 / 26 Librería LWP::Simple Bajarse el archivo de internet Para bajar archivos de internet se puede usar alguno de los módulos del CPAN http://search.cpan.org

Más detalles

PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA)

PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA) PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA) El examen constará de 2 partes. Se evaluará sobre 10 puntos y representará el 60% de la nota final de la asignatura. Para que la calificación en esta prueba

Más detalles

Práctica de introducción a

Práctica de introducción a Práctica de introducción a XML El trabajo consiste en una introducción al uso del lenguaje XML y su aplicación en documentos y sistemas de caracteristicas multimedia. 1.- Qué es XML? XML (extensible Markup

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

Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect

Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect Introducción a XML - Validación y Parseo Huibert Aalbers, Senior Certified Software IT Architect IT Insight podcast Este podcast pertenece a la serie IT Insight Pueden suscribirse al podcast a través de

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

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

extensible Markup Language (XML)

extensible Markup Language (XML) extensible Markup Language (XML) 1. INTRODUCCIÓN Jennifer Pérez Benedí Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia C/Camino de Vera s/n E-46071 Valencia- España

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Introducción a la plataforma Moodle Aníbal de la Torre 2006. Plataforma Moodle. Accediendo a los contenidos

Introducción a la plataforma Moodle Aníbal de la Torre 2006. Plataforma Moodle. Accediendo a los contenidos Plataforma Moodle Accediendo a los contenidos Formatos ----------------------------------------------------------------------- 2 Glosarios -----------------------------------------------------------------------

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

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

GENERACIÓN DE ANTICIPOS DE CRÉDITO

GENERACIÓN DE ANTICIPOS DE CRÉDITO GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos

Más detalles

Transformación de documentos XML con

Transformación de documentos XML con Transformación de documentos XML con X S L T Necesidad de las transformaciones XML se presenta como un estándar para transmitir datos a través de Internet. Ante la posibilidad de que distintos centros

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

2_trabajar con calc I

2_trabajar con calc I Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,

Más detalles

ESTRUCTURA DE LOS SITIOS DE CATEDRAS

ESTRUCTURA DE LOS SITIOS DE CATEDRAS ESTRUCTURA DE LOS SITIOS DE CATEDRAS El de la FCE le enviará el esqueleto vacío del sitio de la cátedra, al cual usted ingresara el contenido de acuerdo a sus necesidades. La tarea principal que tiene

Más detalles

MANUAL DE LA APLICACIÓN HELP DESK

MANUAL DE LA APLICACIÓN HELP DESK CASAMOTOR MANUAL DE LA APLICACIÓN HELP DESK Desarrollado por: NOVIEMBRE, 2012 BOGOTÁ D.C. - COLOMBIA INTRODUCCIÓN Este documento es el manual de la aplicación de Help Desk de Casamotor, producto desarrollado

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Bases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

Bases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006 Bases de Datos XPath - XQuery 1 XML: XPath - XQuery Jorge Pérez Rojas Universidad de Talca, II Semestre 2006 Bases de Datos XPath - XQuery 2 XPath - XQuery Ambos son estándares para acceder y obtener datos

Más detalles

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy Capítulo 3: XML Spy como editor de documentos XML 1. Objetivos del capítulo Este capítulo pretende servir como una introducción a las funciones de la aplicación XML Spy, incluida dentro del conjunto de

Más detalles

Diseño de páginas web 2011

Diseño de páginas web 2011 Diseño de páginas web 2011 Al finalizar el curso, el alumno será capaz de planificar y diseñar correctamente desde sencillas páginas web hasta completos sitios web. Para ello, se le proporciona primero

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor

Más detalles

Análisis de esquemas XML [1]

Análisis de esquemas XML [1] Análisis de esquemas XML [1] Dirigido a: Administradores de Bases de Datos Área: Bases de Datos Autor: Pablo F. Dueñas Servicios Profesionales Danysoft Resumen Un esquema XML describe la estructura de

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

TEMA 35: Estándares SGML y XML. Entornos de aplicación.

TEMA 35: Estándares SGML y XML. Entornos de aplicación. Entornos de aplicación TEMA 35: Estándares SGML y. Entornos de aplicación. Índice 1 INTRODUCCIÓN 1 2 SGML 2 2.1 Cómo funciona SGML? 2 2.2 Definición de la sintaxis de un lenguaje SGML 3 2.3 Declaración

Más detalles

ESQUEMAS INTRODUCCION A LA VALIDACIÓN DE DOCUMENTOS MEDIANTE ESQUEMAS. 7.3 Partes importantes de los esquemas. 7.3.4 Repeticiones de elementos

ESQUEMAS INTRODUCCION A LA VALIDACIÓN DE DOCUMENTOS MEDIANTE ESQUEMAS. 7.3 Partes importantes de los esquemas. 7.3.4 Repeticiones de elementos Apuntes básicos del Tema 7 ESQUEMAS INTRODUCCION A LA VALIDACIÓN DE DOCUMENTOS MEDIANTE ESQUEMAS Contenidos: 7.0 Introducción y definición 7.1 Comenzando con un ejemplo 7.2 Introducción a los namespace

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

1.- INTRODUCCIÓN 2.- PARÁMETROS

1.- INTRODUCCIÓN 2.- PARÁMETROS 1.- INTRODUCCIÓN Hemos diseñado una aplicación que facilite el envío a las entidades bancarias de las de cobro por domiciliación. La entrada de esta aplicación pueden ser, tanto ficheros cuyos formatos

Más detalles

Creación de Funciones de Conducción

Creación de Funciones de Conducción Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado

Más detalles

Roberto Quejido Cañamero

Roberto Quejido Cañamero Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo

Más detalles

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...

Más detalles

Unidad 1. Introducción a HTML (I)

Unidad 1. Introducción a HTML (I) Unidad 1. Introducción a HTML (I) A lo largo de este tema vamos a conocer los conceptos básicos sobre HTML, y cómo se utiliza para crear páginas web. Qué es HTML El HTML (Hyper Text Markup Language) es

Más detalles

Trey-SAT Pag. 1. Manual de usuario

Trey-SAT Pag. 1. Manual de usuario Trey-SAT Pag. 1 Manual de usuario Trey-SAT Pag. 2 Modulo SAT : Servicio de asistencia técnica TREY-SAT es un potente módulo para el servicio de asistencia técnica, completamente integrado a la Gestión

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

XML. El nuevo lenguaje universal

XML. El nuevo lenguaje universal Tema: XML el nuevo lenguaje universal. Autor: Marlene Melián Montalvo Institución: CITMATEL. Este trabajo consiste en una introducción al lenguaje XML. En el mismo se da a conocer su surgimiento, definiciones

Más detalles

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: Propósito del prototipo: Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: 1º. Mostrar noticias y eventos propios del grupo de personas que administren la Web.

Más detalles

Datos Estadísticos y el Lenguaje XML

Datos Estadísticos y el Lenguaje XML Datos Estadísticos y el Lenguaje XML Como Mejorar el Intercambio de Datos Estadísticos y la Adecuación de los Ficheros para su Carga en Bases de Datos, a través del Lenguaje XML Jorge Rubio Navarro 1 José

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Capítulo VI. Diagramas de Entidad Relación

Capítulo VI. Diagramas de Entidad Relación Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...

Más detalles

ESOFT 3 Nice Screen Scraper: A simple scraper

ESOFT 3 Nice Screen Scraper: A simple scraper ESOFT 3 Nice Screen Scraper: A simple scraper Héctor López Sacanell [email protected] 3 de diciembre de 2009 1. Introducción El objetivo de esta segunda entrega es la de crear una primera versión

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Introducción Con la finalidad de mantenerte informado respecto a todos los cambios y mejoras de los productos de CONTPAQ i, ponemos a tu disposición

Más detalles

Visualización y Transformaciones en XML

Visualización y Transformaciones en XML Visualización y Transformaciones en XML 106 Visualización Los archivos XLM pueden ser vistos prácticamente en cualquier browser 107 Visualización Los XML en los web browsers no se despliegan como páginas

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

CREACIÓN Y CONFIGURACIÓN DE WIKIS

CREACIÓN Y CONFIGURACIÓN DE WIKIS Paso 1: Creación CREACIÓN Y CONFIGURACIÓN DE WIKIS Como con el resto de actividades, para crear un wiki lo primero es activar el modo de edición y seleccionar la opción Wiki de la lista desplegable Agregar

Más detalles

5.- Crear páginas web con Nvu

5.- Crear páginas web con Nvu 5.- Crear páginas web con Nvu Nvu permite crear y publicar páginas web sin necesidad de tener conocimientos de HTML y de una forma tan sencilla como utilizar un procesador de textos. La barra de herramientas

Más detalles

Manual de usuario del Centro de Control

Manual de usuario del Centro de Control Manual de usuario del Centro de Control www.ximdex.com Tabla de contenidos 1. Centro de Control...4 2. Gestor de Canales...5 2.1. Añadir un nuevo canal...6 2.2. Modificar las propiedades del canal...6

Más detalles

MANUAL DE USO DE LA APLICACIÓN

MANUAL DE USO DE LA APLICACIÓN MANUAL DE USO DE LA APLICACIÓN ÍNDICE 1. Acceso a la aplicación 2. Definición de funciones 3. Plantillas 4. Cómo crear una nueva encuesta 5. Cómo enviar una encuesta 6. Cómo copiar una encuesta 7. Cómo

Más detalles

XML Schema. Sergio Luján Mora. [email protected] http://gplsi.dlsi.ua.es/~slujan/

XML Schema. Sergio Luján Mora. sergio.lujan@ua.es http://gplsi.dlsi.ua.es/~slujan/ XML Schema Sergio Luján Mora [email protected] http://gplsi.dlsi.ua.es/~slujan/ 1 XML SCHEMA... 3 Introducción... 3 Ventajas... 3 Qué necesito para usar XML Schema... 4 Diseño de un documento XML... 5

Más detalles

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

port@firmas V.2.3.1 Manual de Portafirmas V.2.3.1

port@firmas V.2.3.1 Manual de Portafirmas V.2.3.1 Manual de Portafirmas V.2.3.1 1 1.- Introducción 2.- Acceso 3.- Interfaz 4.- Bandejas de peticiones 5.- Etiquetas 6.- Búsquedas 7.- Petición de firma 8.- Redactar petición 9.- Firma 10.- Devolución de

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Manual de Usuario de la Herramienta SICRES-Tester. SIR Sistema de Interconexión de Registros. Tipo de documento. Fecha de entrega 08/04/2014

Manual de Usuario de la Herramienta SICRES-Tester. SIR Sistema de Interconexión de Registros. Tipo de documento. Fecha de entrega 08/04/2014 MINISTERIO DE HACIENDA Y ADMINISTRACIONES PÚBLICAS SECRETARÍA DE ESTADO DE ADMINISTRACIONES PÚBLICAS DIRECCIÓN GENERAL DE MODERNIZACIÓN ADMINISTRATIVA, PROCEDIMIENTOS E IMPULSO DE LA ADMINISTRACIÓN ELECTRONICA

Más detalles

MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn

MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn Tegucigalpa M. D. C., Junio de 2009 Que es un CMS Un sistema de administración de contenido (CMS por sus siglas en ingles) es un programa para organizar

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información

Más detalles

WINDOWS. Iniciando Windows. El mouse

WINDOWS. Iniciando Windows. El mouse Windows es un sistema operativo, cuyo nombre lo debe al principal elemento de trabajo, la ventana - en inglés window -. Este tiene características como: Multitarea: durante una sesión de trabajo, es posible

Más detalles

Gestión de Retales WhitePaper Noviembre de 2009

Gestión de Retales WhitePaper Noviembre de 2009 Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

MANUAL DE PUBLICACIÓN EN PORTAL UNED

MANUAL DE PUBLICACIÓN EN PORTAL UNED MANUAL DE PUBLICACIÓN EN PORTAL UNED Manual de Publicación en PORTAL-UNED Equipo WEB. [email protected] [email protected] ÍNDICE 1. INSERTAR TEXTO EN LA PÁGINA... 2 2. INSERTAR UN ARCHIVO

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

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas

Más detalles

Web. Microsoft Excel: Capítulo 1 Creación de páginas web con Dreamweaver

Web. Microsoft Excel: Capítulo 1 Creación de páginas web con Dreamweaver Web Microsoft Excel: Capítulo 1 Creación de páginas web con Dreamweaver Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Sumario 1. Qué es Dreamweaver? 2. El entorno

Más detalles

Guía para el Portal de Profesores del Sistema de Información CLASS Académico

Guía para el Portal de Profesores del Sistema de Información CLASS Académico Centro de Apoyo en Tecnologías de la Información y la Comunicación CATIC Guía para el Portal de Profesores del Sistema de Información CLASS Académico El Sistema de Información CLASS Académico es el sistema

Más detalles

XML. Introducción. Cómo se usa? XML Tree. Sintaxis XML

XML. Introducción. Cómo se usa? XML Tree. Sintaxis XML XML Introducción XML(eXtensible Markup Language) es un lenguaje de etiquetas. Hay que tener en cuenta que no es un lenguaje de programación y como tal no ejecuta instrucciones, XML se creó para estructurar,

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

Más detalles

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) APRENDERAPROGRAMAR.COM TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) Sección: Cursos Categoría: Tutorial básico del programador web:

Más detalles

UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES

UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES INTRODUCCION El conjunto de herramientas de ayuda aportados por la Agencia Tributaria, para facilitar las obligaciones fiscales

Más detalles

XML: extensible Markup Language (Parte I) Ingeniería de la Información

XML: extensible Markup Language (Parte I) Ingeniería de la Información XML: extensible Markup Language (Parte I) DTDs Ingeniería de la Información Tabla de Contenidos Introducción histórica XML vs. HTML Características de XML Mi primer documento XML El lenguaje XML Entidades

Más detalles

Manual Operativo Sistema de Postulación Online

Manual Operativo Sistema de Postulación Online Manual Operativo Sistema de Postulación Online Este Manual está diseñado en forma genérica para apoyar el proceso de postulación en línea, las Bases de cada Concurso definen los requerimientos oficiales

Más detalles

CONSEJOS DE CÓMO CREAR UN DOCUMENTO ADOBE PDF ACCESIBLE A PARTIR DE UN DOCUMENTO MICROSOFT WORD ACCESIBLE

CONSEJOS DE CÓMO CREAR UN DOCUMENTO ADOBE PDF ACCESIBLE A PARTIR DE UN DOCUMENTO MICROSOFT WORD ACCESIBLE CONSEJOS DE CÓMO CREAR UN DOCUMENTO ADOBE PDF ACCESIBLE A PARTIR DE UN DOCUMENTO MICROSOFT WORD ACCESIBLE (Sistema Operativo Windows) Marzo 2011 Lourdes Moreno López 1,2 [email protected] 1: Grupo LaBDA,

Más detalles

Tema: Maquetación Web y CSS

Tema: Maquetación Web y CSS Diseño Digital V. Guía 4 1 Tema: Maquetación Web y CSS Facultad: Ciencias y Humanidades Escuela: Diseño Gráfico Asignatura: Diseño Digital V Objetivos Contenidos A través del desarrollo de la guía el estudiante

Más detalles

Manual del Profesor Campus Virtual UNIVO

Manual del Profesor Campus Virtual UNIVO Manual del Profesor Campus Virtual UNIVO Versión 2.0 Universidad de Oriente UNIVO Dirección de Educación a Distancia INDICE 1. Campus Virtual. 03 1.1 Accesos al Curso 04 1.2 Interfaz del Curso...06 1.3

Más detalles

ALGUNAS AYUDAS PARA EL ACCESO AL AULA DIGITAL Contenido

ALGUNAS AYUDAS PARA EL ACCESO AL AULA DIGITAL Contenido ALGUNAS AYUDAS PARA EL ACCESO AL AULA DIGITAL Contenido Tabla de contenido 1 INFORMACIÓN PERSONAL... 2 1.1 Cómo ingresar al Aula Digital?... 2 1.2 Qué hacer si olvida su contraseña?... 2 1.3 Qué veo cuando

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Haga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra

Haga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra Cómo gestiono el Plan Anual de Adquisiciones de mi Entidad en el SECOP II? Crear equipo Crear Plan Anual de Adquisiciones Publicar Plan Anual de Adquisiciones Modificar Plan Anual de Adquisiciones Buscar

Más detalles

Microsoft Access proporciona dos métodos para crear una Base de datos.

Microsoft Access proporciona dos métodos para crear una Base de datos. Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las

Más detalles

Guía de uso del sistema CV-Online

Guía de uso del sistema CV-Online Guía de uso del sistema CV-Online 1.- Registro. a.- Pasos para completar el formulario. 2.- Ingreso al sistema. a.- Olvidó su Usuario o contraseña? b.- Consulta. c.- Crear nueva cuenta. 3.- Administrador

Más detalles

Manual de Usuario Ciclos Formativos Matriculación para Modalidad de Completa

Manual de Usuario Ciclos Formativos Matriculación para Modalidad de Completa Manual de Usuario Ciclos Formativos Matriculación para Modalidad de Completa Manual de Usuario - Ciclos Formativos Matriculación Pág. 1 Í N D I C E 1. INTRODUCION... 3 2. BUSQUEDA DE MATRICULAS... 6 3.

Más detalles

SIIGO Pyme. Templates. Cartilla I

SIIGO Pyme. Templates. Cartilla I SIIGO Pyme Templates Cartilla I Tabla de Contenido 1. Presentación 2. Qué es un Template? 3. Qué Aspectos se Deben Tener en Cuenta Antes de Diseñar o Modificar un Template? 4. Cuáles son las Formas que

Más detalles

Curso PHP Módulo 1 R-Luis

Curso PHP Módulo 1 R-Luis Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.

Más detalles

2. Entorno de trabajo y funcionalidad en Arquímedes

2. Entorno de trabajo y funcionalidad en Arquímedes 2. Entorno de trabajo y funcionalidad en Arquímedes 2.9. Presupuestos comparativos. Cómo contrastar ofertas... 1 2.9.1. Análisis de los datos del comparativo de presupuestos... 4 2.9.2. Ejemplo de comparativo

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles