Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

XML

No description
by

Mayra Tabares

on 8 March 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of XML

Integrantes: XML -Jhonathan Delgado -Andrea Quiceno -Julianan Nobile -Yina Muñoz -Karent Narvaez -Mayra Tabares ¿Qué es XML? (eXtensible Markup Language ó Lenguaje extensible de marcas) es un conjunto de reglas que sirven para definir etiquetas semánticas para organizar un documento. Además el XML es un metalenguaje que te permite diseñar tu propio lenguaje de etiquetas. A diferencia del un lenguaje de etiquetas normal (HTML), XML te permite definir tu propio lenguaje.. En HTML:
<p>P200 Laptop</p>
<br>Friendly computer shop</br>
<br>$1438</br> En XML:
<product>
<model>P200 Laptop</model>
<dealer>Friendly Computer Shop</dealer>
<price>$1438</price>
</product> "Los datos XML son datos inteligentes ; HTML se preocupa por el aspecto de los datos, mientras que XML por su significado" Origen Objetivos XML fue desarrollado por un Grupo de Trabajo de XML (originalmente conocido como el comité de revisión editorial de SGML) formado bajo el auspicio del World Wide Web Consortium (W3C) en 1996. Estaba presidido por Jon Bosak de Sun Microsystems con la participación activa de un Grupo Especial de Interés en XML (previamente conocido como el grupo de trabajo de SGML) también organizado por el W3C. XML debe ser utilizable directamente sobre internet.
XML debe soportar una amplia variedad de aplicaciones.
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 Principales Características Permite creación de etiquetas propias y permite asignar atributos a las etiquetas Trabaja con los llamados DTDs (Definición de Tipo de Documento), que contienen la estructura de los datos En un documento XML la estructura y el diseño están completamente separados XML se almacena en forma de texto( NO binario), lo cual hace que los documentos sean directamente entendibles. XML permite compartir información entre sistemas o fuentes de datos heterogéneas , por ejemplo páginas web, distintas bases de datos etc. Usos Comunicación de datos.
Migración de datos.
Aplicaciones web.
Transporta información.
Separa la información del HTML.
Simplifica el modo de compartir y transportar información.
Es usado para crear nuevos lenguajes de internet como:XHTML, WDSL, WAP y WML, RSS , SMIL Sintaxis Se compone de dos partes Los documentos XML deben comenzar con una línea de prólogo que describa la versión de XML, el tipo de documento, etc. Además también puede existir una segunda línea de declaración de tipo de documento XML que define el tipo de documento que se está creando. Generalmente esta segunda línea indica la ubicación de un fichero que contiene el DTD. A veces esta línea es sustituida por un DTD ``inline'', es decir, definido en el propio documento.

Por ejemplo, un prólogo y una línea de declaración de tipo de documento podría ser:

<?xml version="1.0" encoding="UTF-8" ?>
<! DOCTYPE HTML PUBLIC "-/ /W3C/ /DTD HTML 3.2 Final/ /EN"> Prólogo y declaración de tipo de documento: Elementos Se nombran como etiquetas (<ejemplo>...</ejemplo>) y se estructuran de manera jerárquica (mediante anidado). Los elementos pueden contener atributos. A continuación se muestran algunos ejemplos: <note>
3. <to>Toby</to>
4. <from>Juliana</from>
5. <heading>Recordatorio</heading>
6. <body>No olvidar visitar los abuelos el fin de semana</body>
7. </note> Raíz Elementos Secundarios Cierre raíz Elementos: nombres y definiciones. Sintaxis En XML los nombres de los elementos no están previamente definidos lo cual supone que debemos ser nosotros quienes los nombremos y definamos. Para ello existen algunas reglas que deberemos observar: Otra restricción es que no deben empezar con la cadena 'xml', 'XML' u otra variante de ésta, estos nombres se encuentran reservados para su utilización exclusiva por el W3C Los nombres de los elementos deben empezar siempre con una letra, un guión bajo (_) o los dos puntos (:), y continuar con caracteres denominados válidos. Los nombres de los elementos son en XML sensibles al uso de mayúsculas/minúsculas. Sintaxis Anidamiento de elementos. XML obliga a que los elementos se encuentren correctamente anidados entre si.
Escribir en un documento HTML la siguiente línea:

<i>Su nombre es <b>Pedro García</i> y es alemán</b>

no producirá errores en el navegador, aún cuando no es correcta, y será enseñada de diferente modo según de qué navegador se trate. Este es un ejemplo de lo que se llama overlapping.
En XML esto no esta permitido; los elementos deben abrirse y cerrarse de forma ordenada.

Imaginemos la siguiente etiqueta:
<nombre>Juan Diego<dirección>Fernandez</nombre>Gran Via 15</dirección>

Si los elementos no están correctamente anidados, la estructura jerárquica del documento desaparece y con ella todo su potencia Sintaxis
• Los nombres de los atributos deben empezar siempre con una letra, un guión bajo (_) o los dos puntos (:), y continuar con caracteres denominados válidos.
• Los nombres dados a los atributos y a los valores de los mismos, son sensibles al uso de mayúsculas/minúsculas.
La forma general de un atributo es:

nombre_atributo='valor' o nombre_atributo="valor" Atributos: nombres y definiciones. Sintaxis Comentarios En XML los comentarios se declaran igual que en HTML, comienzan con <!-- y se acaban con --> Pueden colocarse en cualquier punto, siempre que no se encuentren en el interior de otro marcador. Declaración de Documentos (DTD) La DTD es una formalización de la intuición de un tipo de documento . La DTD se encarga de referir en una lista los tipos de elementos disponibles y de imponer restricciones en la coincidencia y contenido de los elementos y otro tipo de información referida a la estructura del documento.

Con ello se consigue que el sistema de información resulte mas robusto , ya que obliga a que todos los documentos que forman parte del mismo sean CONSISTENTES. Cadenas Literales Son cualquier cadena entrecomillada que no contenga la marca de comillas que se utiliza como delimitador de esa cadena. Las cadenas literales se usan para especificar el contenido de las entidades internas, los valores de los atributos y los identificadores externos. La DTD define los tipos de elementos, atributos y entidades permitidas y puede expresar algunas limitaciones para combinarlos. <!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd"> Las declaraciones DTD son las líneas que empiezan con <!ELEMENT...> , se denominan declaraciones de tipo elemento. También se pueden declarar atributos, entidades y anotaciones para una DTD. <!DOCTYPE label [
<!ELEMENT label (name, street, city, country, code)
<!ELEMENT name (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT code (#PCDATA)>
]>
<label>
<name>Mayra</name>
<street>Calle 5ta #89-96</street>
<city>Cali</city>
<country>Colombia</country>
<code>1025498</code>
</label> <?xml version="1.0">
<!DOCTYPE LABEL SYSTEM "http://www.sgmlsource.com/dtds/label.dtd">
<LABEL>
.....
</LABEL> Declaración de documentos (DTD) Declaraciones del tipo de elemento Los elementos son la base de las marcas de XML. Todos los elementos de un documento XML válido deben ajustarse a un tipo de elemento declarado en la DTD. Los documentos con elementos que no se ajusten pueden estar bien formados, pero no ser válidos. <!ELEMENT my-element EMPTY > Nombre o identificador genérico Especificación de contenido Puede ser:
-EMPTY
-ANY
-Mixed
-Element Declaración de documentos (DTD) Declaraciones de listas de atributos Los atributos permiten añadir información adicional a los elementos de un documento. Los atributos no pueden contener elementos y no existe algo como "sub-atributo"; los atributos son siempre o partes de texto sin una estructura explícita o sencillas listas de condiciones. <!ELEMENT PERSON (#PCDATA) >
<!ATTLIST PERSON EMAIL CDATA #REQUIRED> Nombre o identificador genérico Defecto Puede ser:
-#IMPLIED
-#FIXED Nombre atributo Tipo Puede ser:
-Enumeración
-NOTATION
-ID
-IDREF
-ENTITY
-NMTOKEN
etc... Entidades Permiten al documento XML dividirse en varios objetos de almacenamiento y son herramientas importantes para volver a utilizar y mantener el texto. <!ENTITY dtd "Definición de tipo de documento"> Las entidades también permiten editar documentos muy grandes sin agotar memoria. Dependiendo del software que se disponga y de las necesidades que se tenga, incluso cada volumen o articulo de una enciclopedia puede ser una entidad. Entidades Tipos Entidad Interna: Es la mas sencilla, consiste en abreviaturas definidas dentro de la DTD, de manera que no se maneja ningún objeto de almacenamiento físico deferente al del propio documento, y su contenido coincide con el que se da en su declaración, su sintaxis es:
<! ENTITY nombre << valor>> >

Ejemplo: <! ENTITY derechos << Copyright 2002>> > Entidad Externa: Difiere de la anterior en que su contenido no esta dentro de la propia DTD, sino en cualquier otro sitio del sistema (otro archivo, un objeto de una base de datos, etc.). Se hace referencia a su contenido mediante la URI precedida de la palabra PUBLIC o SYSTEM, su sintaxis es:
<! ENTITY nombre SYSTEM << URI>> >

Ejemplo: <! ENTITY intro SYSTEM << http://www.miservidor.com/intro.xml>> > Entidades Otros tipos -Analizadas: El procesador las analiza igual que otro texto XML
-No analizadas : Entidades externas que el procesador XML NO tiene q analizar
-Generales: Se pueden utilizar en todo el documento
-Parámetro: Solo pueden usarse en la DTD Usos de interés: Se puede guardar cada capitulo de un libro en un archivo diferente y unirlos como entidades. Se puede <marcar> un texto que se utilice muchas veces, como el nombre de un producto, en una entidad de modo que siempre este bien escrito y a parezca a lo largo de todo el documento <!DOCTYPE MAGAZINE[
...
<!ENTITY title "La vida de los piratas informáticos"
...
]>
<MAGAZINE>
<TITLE>&title</TITLE>
...
<p> Bienvenido al primer numero de &title .
...
</MAGAZINE> Entidades Usos de interés Se puede actualizar el nombre del producto de la entidad para mostrar una nueva versión y el cambio se vera siempre que se utilice la entidad Se puede crear una entidad que represente texto <legal> (como la licencia del software ) y volver a utilizar esta entidad en varios documentos XSL:
El Lenguaje de Estilo Extensible Es una especificación desarrollado dentro del Consorcio World Wide Web para aplicar formatos a los documentos XML de una forma estandarizada Principios de diseño para crear XSL:
XSL tiene que ser directamente utilizable en Internet
Las hojas de estilo XSL tienen que ser comprensibles para el ser humano y razonablemente claras
las creación de la hojas de estilo de XSL tiene que resultar sencilla. XSL:
El Lenguaje de Estilo Extensible Se utiliza para imprimir un estilo a los documentos XML XSL:
El Lenguaje de Estilo Extensible Ejemplo <xsl>
<rule>
<target-element type="...p" />
<paragraph font-size="12pt">
<children/>
</paragraph>
</rule>

<rule>
<target-element type="title" />
<sequence font-size="20pt" font-weight="bold">
<children/>
</sequence>
</rule>
</xsl> cada que encuentre un elemento p debe crear un párrafo y asignarle un tamaño de 12 puntos. Debe buscar los elementos title y asignarles un tamaño de fuente de 20 puntos y un formato en negrita XSL:
El Lenguaje de Estilo Extensible Hacer referencia a las hojas de estilo XSL La introducción de procesamiento xml: stylesheet puede introducirse en cualquier parte del prologo d eun documento XML. Esta instrucción se procesamiento puede tener pseudo-atributos como: href(requerido), type(requerido), title(opcional), media(opcional ) y charset (opcional.) XSL:
EL Lenguaje de Estilo Extensible Patrones XSL ENTIDADES CONCEPTOS SINTAXIS DTD <?xml:stylesheet href="http://www.sqmlsource.com/memo.xsl"
type="text/xsl"?> Permiten elegir los elementos a los que debe aplicarse una determinada regla. Cada patrón posee un target-element que especifica los elementos que deben buscarse en el documento. Acciones Indica qué objetos deben crearse en el árbol de salida <rule >
<!-- Patron -->
<target-element type="emph" />

<!--Accion(es)-->
<font font-weight="bold">
<children/>
</sequence>
</rule> SCHEMAS Un esquema describe formalmente la estructura abstracta de un conjunto de datos. Un schema es un documento que describe el formato válido de un documento XML.

Es algo similar a un DTD, es decir, define qué elementos puede contener un documento XML, cómo están organizados, y que atributos y de qué tipo pueden tener sus elementos. SCHEMAS Ventajas frente a DTD Usan sintaxis de XML, al contrario que los DTDs.
Permiten especificar los tipos de datos.
Permiten utilizar diferentes espacios de nombres (namespace), lo que implica que las reglas para validar ciertos elementos estarán definidas en cierto sitio, mientras que otras reglas estarán en otro sitio.
Son extensibles. SCHEMAS Ejemplo <xsd:schema xmlns:xsd="http://www.w3.org/2000/08/XMLSchema">

<xsd:element name="persona" type="tipoPersona"/>
<xsd:element name="comentario" type="xsd:string"/>

<xsd:complexType name="tipoPersona">
<xsd:sequence>
<xsd:element name="datos" type="info"/>
<xsd:element ref="comentario" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="nacimiento" type="xsd:date"/>
</xsd:complexType>

<xsd:complexType name="info">
<xsd:sequence>
<xsd:element name="nombre" type="xsd:string"/>
<xsd:element name="apellidos" type="xsd:string"/>
<xsd:element name="dni" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>

</xsd:schema> SCHEMAS NAMESPACE Definición W3C: "colección de nombres, identificados por un URI de referencia, los cuáles se utilizan en un documento XML como nombres de elementos y atributos"

un namespace nos da la posibilidad de declarar sólo los nombres que necesitemos o de definir en él las diferencias entre elementos distintos que tienen un mismo nombre. Definición NAMESPACE Objetivos Poder mezclar distintos vocabularios XML en un mismo documento.
Identificar unívocamente cada etiqueta XML.
Disponer de nombres universales cuya panorámica se extiende mas allá del documento que los contiene NAMESPACE NAMESPACE NAMESPACE Declaración de un namespace Para trabajar con espacios de nombres, en nuestros documentos primeramente debemos declararlos.La declaración utiliza la siguiente sintaxis: xmlns:"URL" o "URI" indica que se está declarando un espacio de nombres dirección URL de la entidad que mantiene el espacio de nombres NAMESPACE Declaración de un namespace La forma general de introducir la declaración del namespace como atributo en un elemento es: xmlns="http://www.misitio.com/micarpeta/unadtd.dtd" <elemento xmlns=".. URI o URL .."> Ejemplo <mi_elemento xmlns="http://www.misitio.com/micarpeta/lala.dtd"> NAMESPACE Prefijos y nombre cualificado nos permiten utilizar en un mismo documento un mismo nombre para dos elementos distintos definidos en DTDs diferentes xmlns:prefijo=".. URI o URL .." El prefijo es de libre elección Ejemplo xmlns:catalogo="http://www.misitio.com/micarpeta/lista.dtd" xmlns:ordenes="http://www.misitio.com/micarpeta/pedidos.dtd" NAMESPACE Prefijos y nombres cualificados Nombre cualificado: Es el prefijo aplicado a cierto elemento el cual determina a qué namespace/DTD nos estamos refiriendo. <catalogo:producto> ... </producto>

<ordenes:producto> ... </producto> NAMESPACE Ejemplos Espacio de nombre por defecto PARSER XML SAX Y DOM SAX y DOM son un tipo de API para analizar (parsers) un archivo XML a otro lenguaje en especial JAVA. DOM y SAX, son pues dos herramientas que sirven para analizar el lenguaje XML y definir la estructura de un documento, además son independientes del lenguaje de programación y existen versiones particulares para Java, VisualBasic, C, etc. PARSER XML DOM Es una una interfaz de programación de aplicaciones (API) para documentos HTML y XML que define la estructura lógica de los documentos y el modo en que se acceden y manipulan. PARSER XML DOM <Amigos>
<Nombre> Fernanada </Nombre>
<Apellido> Fontes</Apellido>
<Ciudad> Macae </Ciudad>
<Pais> Brasil </Pais>
<Edad> 27 </Edad>

<Nombre> Luis </Nombre>
<Apellido> Arano</Apellido>
<Ciudad> Mendoza </Ciudad>
<Pais> Argentina </Pais>
<Edad> 27 </Edad>
</Amigos> Al procesar un documento XML a través de DOM se genera lo que es denominado: árbol jerárquico en memoria PARSER XML DOM PARSER XML DOM (Ventajas) El parse DOM nos permite:
-construir documentos,
-navegar por su estructura,
-añadir, modificar o eliminar elementos y contenido PARSER XML PARSER XML SAX Al igual que DOM, SAX (Simple API for XML) es una API para hacer parse de xml a otro lenguaje; SAX define un modelo basado en eventos y no en una jerarquía de árbol como DOM. PARSER XML SAX SCHEMAS Ejemplo <?xml version="1.0"?>
<persona nacimiento="1999-10-20"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ej_persona.xsd" >
<datos>
<nombre>Pepe</nombre>
<apellidos>Garcia</apellidos>
<dni>25390952</dni>
</datos>
<comentario>buena gente...</comentario>
</persona> CSS Parsing Definición En Lingüística, dividir el lenguaje en pequeños componentes que pueden ser analizados. Por ejemplo, parsear esta oración involucraría dividirla en palabras y frases e identificar el tipo de cada componente (ej: verbo, adjetivo, sustantivo).
Para XML parsear significa leer un documento XML, identificar los diferentes componentes y ponerlos disponibles para una aplicación Los eventos de SAX pueden ser:

Nodos de texto
Nodos de elemento
Procesamiento de instrucciones
Comentarios

Los eventos son lanzados cuando cada uno de estos elementos de XML son encontrados, y también cuando es encontrado el final de cada uno de ellos. PARSER XML SAX <?xml versión="1.0" encoding="UTF-8">
<Docmuestra>
<saludo>¡Hola Mundo!</saludo>
</Docmuestra> Inicio (del documento) Elemento inicial (Docmuestra) Inicio del elemento (Saludo) Caracteres (¡Hola Mundo!) Fin del elemento (Saludo) Elemento final (Docmuestra) Fin (del documento) PARSER XML SAX Ventajas Desventajas Eficiencia en cuanto al tiempo y la memoria empleados en el análisis.
No dispone de la estructura en árbol. Es más difícil de manipular.
Realiza una lectura secuencial del documento por lo que una vez leído no se puede volver atrás, algo que DOM sí permite.
Es un lenguaje sencillo para la aplicación de estilos a un elemento XML. Es decir, podremos ver nuestros documentos XML en el navegador como si de una página HTML se tratase CSS, Cascading Style Sheets Agrupación de selectores: ELEMENTO:pseudo-elemento Lista_de_Estilos Ejemplo usando CLASS: Aplicación del estilo a un elemento único: Estilo según el contexto: Propiedades BackGround background-color
background-image
background-repeat
background-attachment
background-position
Palabras clave: top, center, bottom, left, rigth.
Porcentajes
Posiciones absolutas Propiedades Text Este conjunto de propiedades resumen la apariencia del texto.

word-spacing
letter-spacing
text-decoration
vertical-align
text-transform
text-align
text-indent
line-height XUL XUL (XML User Interface Language) es un lenguaje de marcas que se utiliza para describir interfaces de usuario.

Con XUL es posible crear fácilmente ricas y sofisticadas aplicaciones multiplataforma.

Forma parte del navegador Mozilla y está disponible como parte de Gecko, el motor de Mozilla. NAMESPACE <Bebidas xmlns="http://www.bebidas.com/bebidas.dtd"
xmlns:html="http://www.w3.org/TR/REC-html40">


<Whiskey>$70.00</Whiskey>
<Cerveza>$30.00</Cerveza>
<Vodka>$50.00</Vodka>
<Ginebra>$55.00</Ginebra>
<html:table>
<html:tr>
<html:td>
El abuso de las bebidas anteriores son nocivas para la Salud
y el Bolsillo, las siguientes surten menor efecto.
</html:td>
</html:tr>
</html:table>
<Cafe>$10.00</Cafe>
<Limonada>$15.00</Limonada>
<Agua>Gratis</Agua>

</Bebidas> JAVA XML ¿Para Qué fue Creado? XML Document Content Handler
startDocument();
startElement("students", {});
characters("\n ");
startElement("student", {("id", "0001")})
endElement("student");
characters("student");
characters("\n");
endElement("students");
endDocument(); NAMESPACE Recomendaciones y reglas de utilización <students>
<students id="0001"/>
</students> Java Class NO declarar un namespace por cada elemento La declaración de namespace dada para el elemento que se analiza también es valida para todos los elementos que se anidan dentro de él NAMESPACE Recomendaciones y reglas de utilización Declarar todos los namespace en la raíz del documento La declaración de namespace afecta sólo al ámbito de influencia del elemento donde ha sido declarado. XUL Xml-based User-Interface Language, Lenguaje basado en XML par la Interfaz de Usuario Fue creado para crear fácil y rápido el Browser Mozilla.
Está basado en XML.
Fue diseñando específicamente para crear interfaces de usuario portables. Estructura Básica Una interfaz XUL es definida mediante
la especificación de tres grupos de componentes distintos. Content
Skin
Locale Creando Archivos XUL Reglas de Sintaxis Un archivo XUL debe tener una extensión .xul. El navergador mozilla lo reconocerá automáticamente y sabrá qué hacer cuando el usuario se ejecute.
Todos los eventos y atributos deben escribirse en minúsculas.
Todas las cadenas de texto deben estar entre comillas dobles (").Todos los componentes interactivos deben tener etiquetas de cierre (<etiqueta></etiqueta> o <etiqueta/>) para ser bien formados.
Todos los atributos deben tener un valor. Bibliografía
Full transcript