html vs xml.docx

Upload: victor-m-arenas

Post on 16-Oct-2015

21 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/26/2018 html vs xml.docx

    1/47

    0

    TECNOLGICO DE ESTUDIOSSUPERIORES DE COACALCO

    TECNOL GICO DE ESTUDIOSSUPERIORES DE COACALCO

    PAGINAS WEB

    HTML vs XML dentro deldesarrollo de aplicaciones web.

    Presenta: Arenas Noyola Victor M.

    Grupos: 3721INGENIERA EN SISTEMAS COMPUTACIONALES

    COACALCO DE BERRIOZABAL, MX. ENERO DE 2014

  • 5/26/2018 html vs xml.docx

    2/47

    1

    ndice

    INTRODUCCIN-------------------------------------------------------------------------------------2

    JUSTIFICACIN-------------------------------------------------------------------------------------2XML------------------------------------------------------------------------------------------------------3

    XML contra HTML----------------------------------------------------------------------4

    Presentar Documentos XML------------------------------------------------------------5

    Generar XML desde JSP-----------------------------------------------------------------8

    Generar XML desde JSP y JavaBeans----------------------------------------------9

    Convertir XML a Objetos del Lado del Servidor---------------------------- 12

    El Entorno de Software-----------------------------------------------------------------12

    API Simple para XML (SAX) ----------------------------------------------------------13

    Document Object Model (DOM) -----------------------------------------------------19

    Transformar XML-------------------------------------------------------------------------22

    HTML ---------------------------------------------------------------------------------------------25

    Java en las Pginas Web--------------------------------------------------------25

    Insercin de Applets Java---------------------------------------------------------27

    Especificando la direccin del applet--------------------------------------------30

    Otros atributos de la etiqueta APPLET-------------------------------------------31

    El nuevo estndar: la etiqueta OBJECT----------------------------------------38

    Insercin de un applet Java----------------------------------------------------39ActiveX, la tecnologa del futuro----------------------------------------------40

    Insercin de un control ActiveX-----------------------------------------------42

    CONCLUSIONES ----------------------------------------------------------------------------------45

    BIBLIOGRAFA-------------------------------------------------------------------------------------46

  • 5/26/2018 html vs xml.docx

    3/47

    2

    INTRODUCCIN

    XML y HTML son lenguajes muy diferentes. Ambos nacen de la misma inspiracinllamada SGML por lo que su sintaxis es similar, aunque cada uno fue diseadopara cumplir distintas funciones:

    El XML (eXtensive Markup Language) es un lenguaje que fue concebido paradescribir informacin. Su funcin principal es ayudarnos a organizar contenidos yeso hace que los documentos XML sean portables hacia diferentes tipos deaplicaciones.

    El HTML (HyperText Markup Language) por otro lado ha sido concebido paramostrar informacin, determinar como acta y que hace. Su funcin radica enayudarnos a darle formato a los diversos contenidos de una pgina.

    Resumiendo, el XML sirve para describir informacin y el HTML sirve para darle

    formato y presentarla a travs de un navegador. O sea que el XML no es ni sernunca un reemplazo del HTML sino un complemento que sirve para manejar lainformacin separada del formato.

    JUSTIFICACION

    Con el motivo de presentar dos perspectivas del desarrollo de aplicaciones web

    en este trabajo se vern cules son las herramientas que ofrecen html y xml ra

    realizar dicha tarea.

  • 5/26/2018 html vs xml.docx

    4/47

    3

    XML es un metalenguaje usado para definir documentos que contienen datosestructurados. Las caractersticas y beneficios del XML se pueden agrupar enestas reas principales:

    Extensibilidad: como metalenguaje, XML puede usarse para crear suspropios lenguajes de marcas. Hoy en da existen muchos lenguajes demarcas basados en XML, incluyendo "Wireless Markup Language" (WML).

    Estructura precisa: HTML sufre de una pobre estructura que hace dificilprocesar eficientemente documentos HTML. Por otro lado, los documentosXML estn bien estructurados, cada documento tiene un elemento raz ytodos los dems elementos deben estar anidados dentro de otroselementos.

    Dos tipos de documentos: hay dos tipos principales de documentos XML.1. Documentos Vlidos: un documento XML vlido est definido por

    una "Document Type Definition" (DTD), que es la gramtica deldocumento que define qu tipos de elementos, atributos y entidadespodra haber en el documento. El DTD define el orden y tambin laocurrencia de elementos.

    2. Documentos Bien-Formateados: un documento XML bienformateado no tiene que adherirse a una DTD. Pero debe seguir dosreglas: 1) todo elemento debe tener una etiqueta de apertura y otrade cierre. 2) debe haber un elemento raz que contenga todos losotros elementos.

    Extensin Poderosa: Como se mencion anteriormente, XML slo se usapara definir la sntaxis. En otras palabras, se usa para definir contenido.Para definir la semntica, el estilo o la presentacin, necesitamos usar"Extensible Stylesheet Language" (XSL). Observa que un documentopodra tener mltiples hojas de estilo que podran ser usadas por diferentesusuarios.

    Nota:

    Un documento bien formateado es manejable si el documento es simple, o cuandose procesan estructuras sencillas a travs de la red cuando no hay problemas deancho de banda, ya que no tiene la sobrecarga de un DTD complejo.

  • 5/26/2018 html vs xml.docx

    5/47

    4

    XML contra HTML

    XML y HTML son lenguajes de marcas, donde las etiquetas se usan para anotarlos datos. Las principales diferencias son:

    En HTML, la sntaxis y la semntica del documento est definidas. HTMLslo se puede usar para crear una representacin visible para el usuario.XML permite definir sntaxis de documentos.

    Los documentos HTML no estn bien formateados. Por ejemplo, no todaslas etiquetas tiene su correspondiente etiqueta de cierre. Los documentosXML estn bien formateados.

    Los nombres de las etiquetas son sensibles a las maysculas en XML, perono en HTML.

    Miremos un documento XML. El ejemplo siguiente es un documento de ejemploXML, desde un servidor ficticio de cotizaciones, representa una lista de stocks.

    Como podemos ver, hay un elemento raz (portfolio), y cada elemento tiene unaetiqueta de inicio y una etiqueta de cierre..

    Ejemplo 1: strocks.xml

    SUNWSun Microsystems17.1

    AOLAmerica Online51.05IBMInternational Business Machines116.10

    MOTMOTOROLA15.20

  • 5/26/2018 html vs xml.docx

    6/47

    5

    La primera lnea indica el nmero de versin de XML, que es 1; y le permite alprocesador conocer qu esquema de cdificacin se va a utilizar "UTF-8".

    Aunque es un documento sencillo contiene informacin til que puede serprocesada fcilmente porque est bien estructurada. Por ejemplo, el servidor de

    stocks podra querer ordenar el portfolio, en un orden especfico, basndose en elprecio de los stocks.

    Presentar Documentos XML

    Los documentos XML contienen datos portables. Esto significa que el ejemplo 1puede procesarse como salida para diferentes navegadores (navegadores deescritorio para PC, micro navegadores para dispositivos de mano). En otraspalabras, un documento XML puede ser transformado en HTML o WML ocualquier otro lenguaje de marcas.

    Si cargamos el documento stocks.xmlen un navegador que soporte XML (comoIE de Microsoft), veramos algo similar a la Figura 1:

    Figura 1: stocks.xml en un navegador

    Bsicamente, el navegador ha analizado el documento y lo ha mostrado de unaforma estructurada. Pero, esto no es realmente til desde el punto de vista de un

  • 5/26/2018 html vs xml.docx

    7/47

    6

    usuario. Los usuarios desean ver los datos mostrados como informacin til deuna forma que sea fcil de navegar.

    Una forma agradable para mostrar documentos XML es aplicar una transformacinsobre el documento XML, para extraer los datos o para crear un nuevo formato

    (como transformar datos XML a HTML). Esta transformacin se puede hacerusando un lenguaje de transformacin como "Extensible Stylesheet LanguageTransformation" (XSLT), que forma parte de XSL. XSL permite que escribamos elvocabulario XML para especificar la semntica del formato. Es decir hay dospartes de XSL, que son parte de la actividad de estilo del World Wide WebConsortium (W3C).

    Lenguaje de Transformacin (XSLT) Lenguaje de Formateo (objetos de formateo XSL)

    La hoja de estilos XSL del Ejemplo 2 realiza la transformacin requerida para el

    elemento portfolio. Genera marcas HTML y extrae datos de los elementos deldocumento stocks.xml.

    Ejemplo 2:stocks.xsl

    Stocks

    Stock SymbolCompany NamePrice

    http://www.programacion.com/cursos_descargas/jspyxml/examples/stocks.xslhttp://www.programacion.com/cursos_descargas/jspyxml/examples/stocks.xsl
  • 5/26/2018 html vs xml.docx

    8/47

    7

    Parece un poco complejo , no? Sola al principio, una vez que conozcamos lasntaxis XSL es bastante sencillo. Aqu lo tenemos todo sobre la sntaxis de arriba:

    xsl:stylesheet: elemento raz xsl:template: cmo transformar los nodos seleccionados match: atributo para seleccionar un nodo "/": nodo raz del documento XML de entrada xsl:apply-templates: aplica las plantillas a los hijos del nodo seleccionado xsl:value-of: nodo seleccionados (extrae datos de los nodos seleccionados)

    Ahora la cuestin es: cmo usar esta hoja de estilos XSL con el documentostocks.xml? La respuesta es sencilla, necesitamos modificar la primera lnea deldocumento stocks.xml del Ejemplo 1 para usar la hoja de estilos stocks.xsl para surepresentacin. La primera lnea del ejemplo 1 ahora debera ser:

    Esto dice bsicamente que cuando cargamos stocks.xml en un navegador (seranalizado como un rbol de nodos), se debe utilizar la hoja de estilos

    correspondiente para extraer datos de los nodos del rbol. Cuando cargamos elfichero stocks.xml modificado en un navegador que soporta XML y XSL (como IEde Microsoft), veremos algo similar a la figura 2.:

  • 5/26/2018 html vs xml.docx

    9/47

    8

    Figura 2: Usando una hoja de estilo (stocks.xsl)

    Generar XML desde JSP

    Se puede usar la tecnologa JSP para generar documentos XML. Una pgina JSPpodra generar fcilmente una respuesta conteniendo el documento stocks.xmldel Ejemplo 1, como se ve en el ejemplo 3. El principal requerimiento para generar

    XML es que la pgina JSP seleccione el tipo de contenido de la pgina de formaapropiada. Como podemos ver a partir del ejemplo 3, el tipo de contenido seselecciona a text/xml. Se puede usar la misma tcnica para generar otroslenguajes de marcas (como WML).

    Ejemplo 3:genXML.jsp

    SUNWSun Microsystems17.1AOLAmerica Online51.05

    IBMInternational BusinessMachines116.10

    http://www.programacion.com/cursos_descargas/jspyxml/examples/genXML.jsphttp://www.programacion.com/cursos_descargas/jspyxml/examples/genXML.jsp
  • 5/26/2018 html vs xml.docx

    10/47

    9

    MOTMOTOROLA15.20

    Si solicitamos la pgina genXML.jsp desde un servidor Web (como Tomcat),veramos algo similar a la figura 1.

    Generar XML desde JSP y JavaBeans

    Los datos para XML tambin pueden recuperarse desde un componenteJavaBean. Por ejemplo, el siguiente componente JavaBean, PortfolioBean, defineun bean con datos de stocks:

    Ejemplo 4:PortfolioBean.java

    package stocks;

    import java.util.*;

    public class PortfolioBean implementsjava.io.Serializable {private Vector portfolio = new Vector();

    public PortfolioBean() {portfolio.addElement(new Stock("SUNW",

    "Sun Microsystems", (float) 17.1));portfolio.addElement(new Stock("AOL","America Online", (float) 51.05));portfolio.addElement(new Stock("IBM","International Business Machines",(float) 116.10));portfolio.addElement(new Stock("MOT","MOTOROLA", (float) 15.20));}

    public Iterator getPortfolio() {

    return portfolio.iterator();}}

    La clase PortfolioBean usa la clase Stock que se muestra en el Ejemplo 5.

    Ejemplo 5:Stock.java

    http://www.programacion.com/cursos_descargas/jspyxml/examples/PortfolioBean.javahttp://www.programacion.com/cursos_descargas/jspyxml/examples/Stock.javahttp://www.programacion.com/cursos_descargas/jspyxml/examples/Stock.javahttp://www.programacion.com/cursos_descargas/jspyxml/examples/PortfolioBean.java
  • 5/26/2018 html vs xml.docx

    11/47

    10

    package stocks;

    public class Stock implements java.io.Serializable {private String symbol;private String name;

    private float price;

    public Stock(String symbol, String name,float price) {this.symbol = symbol;this.name = name;this.price = price;}

    public String getSymbol() {return symbol;

    }

    public String getName() {return name;}

    public float getPrice() {return price;}}

    Ahora, podemos escribir una pgina JSP para generar un documento XML dondelos datos son recuperados desde el PortfolioBean, como se ve en el Ejemplo 6.

    Ejemplo 6:stocks.jsp

    http://www.programacion.com/cursos_descargas/jspyxml/examples/stocks.jsphttp://www.programacion.com/cursos_descargas/jspyxml/examples/stocks.jsp
  • 5/26/2018 html vs xml.docx

    12/47

    11

    Si solicitamos la pgina stocks.jspdesde un navegador Web que soporte XML,obtendramos algo similar a la Figura 3.

    Figure 3: Generar XML desde JSP y JavaBeans

    Si reemplazamos la lnea:

  • 5/26/2018 html vs xml.docx

    13/47

    12

    con una lnea que especifique una hoja de estilos:

    El documento XML ser generado y se aplicar la hoja de estilo XSL y veremosalgo similar a la figura 2 anterior.

    Convertir XML a Objetos del Lado del Servidor

    Hemos visto cmo generar XML, as que la pregunta ahora es cmo consumirlo (ousarlo) en aplicaciones. Para poder hacer todo lo que necesitamos para convertirXML en objetos del lado del servidor y extraer las propiedades del objeto. Laconversin no es automtica; tenemos que analizar manualmente un documentoXML, y encapsularlo dentro de un componente JavaBeans. En el futuro sinembargo, la tecnologa de unin XML/Java automatizar este proceso pues

    permitir compilar un esquema XML en clases Java.

    Para analizar se pueden usar dos interfaces:

    Simple API for XML (SAX) Document Object Model (DOM)

    Antes de introducirnos en esta tcnica de anlisis, primero describiremos elentorno de software.

    El Entorno de Software

    El entorno de software que usaremos para analizar es el API para Procesamientode XML (JAXP) versin 1.1 que soporta SAX , DOM level 2, y XSLtransformations.

    Para instalarlo, lo descomprimimos en un directorio de nuestro eleccin, yactualizamos el classpath para incluir el rbol de fichero JAR del JAXP.

    crimson.jar: el analizador XML por defecto, que fue derivado del analizador"Java Project X " de Sun

    xalan.jar: El motor XSLT por defecto jaxp.jar: los APIs

    Alternativamente, podemos instalar estos ficheros JAR como extensiones de Java2 simplemente copindolos en el directorio JAVA_HOME/jre/lib/ext, dondeJAVA_HOME es el directorio donde instalamos el JDK (por ejemplo c:\jdk1.3).Instalar los ficheros JAR como extensiones de Java 2 elimina la necesidad demodificar el classpath.

    http://java.programacion.net/jaxp/index.phphttp://java.programacion.net/jaxp/index.php
  • 5/26/2018 html vs xml.docx

    14/47

    13

    API Simple para XML (SAX)

    SAX es un sencillo API para XML. No es un analizador! Simplemente es un

    interface estndar, implementado por muchos y diferentes analizadores XML, quefue desarrollado por los miembros de la XML-DEV mailing list, actualmentehospedada porOASIS.

    La ventaja principal de SAX es que es ligero y rpido. Esto es principalmenteporque es un API basado en eventos, lo que significa que reporta eventos deanlisis (como el comienzo y el final de los elementos) directamente a la aplicacinusando servicios repetidos, segn lo mostrado en la Figura 4. Por lo tanto, laaplicacin implementa manejadores para ocuparse de los diversos eventos, comoel manejo de eventos en un interface grfico de usuario.

    Figura 4: SAX usa retrollamadas para notificar a los manejadores las cosas deinters

    Usar SAX implica los siguientes pasos, mostrados en le Figura 7.

    Implementar uno o ms manejadores (en este ejemplo se implementa elContentHandler)

    Crear un XMLReader Crear un InputSource Llamar a parse sobre la fuente de entrada

    Observa que MySAXParserBean sobreescribe los mtodos startElement,endElement, y characters, todos los cuales estn definidos por el interfaceContentHandler. El analizador llama al mtodo startElement al principio de cada

    elemento del documento XML, y llama al mtodo characters para reportar cadadato de caracter, y finalmente llama al mtodo endElement al final de cadaelemento del documento XML.

    Ejemplo 7:MyParserBean.java

    package saxbean;

    http://www.lists.ic.ac.uk/hypermail/xml-dev/http://www.oasis-open.org/http://www.programacion.com/cursos_descargas/jspyxml/examples/MyParserbean.javahttp://www.programacion.com/cursos_descargas/jspyxml/examples/MyParserbean.javahttp://www.oasis-open.org/http://www.lists.ic.ac.uk/hypermail/xml-dev/
  • 5/26/2018 html vs xml.docx

    15/47

    14

    import java.io.*;import java.util.*;import org.xml.sax.*;import org.xml.sax.helpers.DefaultHandler;import javax.xml.parsers.SAXParserFactory;

    importjavax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;

    public class MySAXParserBean extendsDefaultHandler implements java.io.Serializable {private String text;private Vector vector = new Vector();private MyElement current = null;

    public MySAXParserBean() {

    }

    public Vector parse(String filename) throwsException {SAXParserFactory spf =SAXParserFactory.newInstance();spf.setValidating(false);SAXParser saxParser = spf.newSAXParser();// create an XML readerXMLReader reader = saxParser.getXMLReader();FileReader file = new FileReader(filename);

    // set handlerreader.setContentHandler(this);// call parse on an input sourcereader.parse(new InputSource(file));return vector;}

    // receive notification of the beginning of anelementpublic void startElement (String uri, String name,String qName, Attributes atts) {current = new MyElement(uri, name, qName, atts);vector.addElement(current);text = new String();

    }

    // receive notification of the end of an elementpublic void endElement (String uri, String name,

  • 5/26/2018 html vs xml.docx

    16/47

    15

    String qName) {if(current != null && text != null) {current.setValue(text.trim());}current = null;

    }

    // receive notification of character datapublic void characters (char ch[], int start,int length) {if(current != null && text != null) {String value = new String(ch, start, length);text += value;}}

    }

    MySAXParserBean est usando la clase MyElement, que se define en el ejemplo8.

    Ejemplo 8:MyElement.java

    package saxbean;

    import org.xml.sax.Attributes;

    public class MyElement implementsjava.io.Serializable {String uri;String localName;String qName;String value=null;

    Attributes attributes;

    public MyElement(String uri, String localName,String qName, Attributes attributes) {this.uri = uri;

    this.localName = localName;this.qName = qName;this.attributes = attributes;}

    public String getUri() {return uri;}

    http://www.programacion.com/cursos_descargas/jspyxml/examples/MyElement.javahttp://www.programacion.com/cursos_descargas/jspyxml/examples/MyElement.java
  • 5/26/2018 html vs xml.docx

    17/47

    16

    public String getLocalName() {return localName;}

    public String getQname() {

    return qName;}

    public Attributes getAttributes() {return attributes;}

    public String getValue() {return value;}

    public void setValue(String value) {this.value = value;}}

    Ahora, si queremos, podemos probar el MySAXParserBean desde la lnea decomando para asegurarnos de que funciona. El ejemplo 9 muestra una sencillaclase de prueba:

    Ejemplo 9:MyTestDriver.java

    import java.io.*;import java.util.*;

    public class MyTestDriver {

    public static void main(String argv[]) {String file = new String(argv[0]);MySAXParserBean p = new MySAXParserBean();String str = null;try {Collection v = p.parse(file);

    Iterator it = v.iterator();while(it.hasNext()) {MyElement element =(MyElement)it.next();String tag = element.getLocalName();

    if(tag.equals("symbol")) {System.out.println("Symbol." + element.getValue());

    http://www.programacion.com/cursos_descargas/jspyxml/examples/MyTestDriver.javahttp://www.programacion.com/cursos_descargas/jspyxml/examples/MyTestDriver.java
  • 5/26/2018 html vs xml.docx

    18/47

    17

    } else if(tag.equals("name")) {System.out.println("Name: "+element.getValue());} else if (tag.equals("price")) {System.out.println("Price: "

    +element.getValue());}}} catch (Exception e) {}}}

    Si ejecutamos MyTestDriver proporcionndole el documento XML del ejemplo 1"stocks.xml", veremos algo similar a la Figura 5.

    Figura 5: Probar el analizador XML desde la lnea de comandos.

    Ahora, veamos cmo usar el MySAXParserBean desde una pgina JSP. Comopodemos ver desde el Ejemplo 10, es sencillo. LLamamos al mtodo parse deMySAXParserBean sobre el documento XML (stocks.xml), y luego iteramos sobrelos stocks para extraer los datos y formatearlos en una tabla HTML.

    Nota:

    El documento XML de entrada al mtodo parse pueder ser una URL quereferencie a un documento XML (comohttp://www.host.com/xml/ebiz.xml ).

    Ejemplo 10:saxstocks.jsp

    sax parser

    http://www.host.com/xml/ebiz.xmlhttp://www.host.com/xml/ebiz.xmlhttp://www.host.com/xml/ebiz.xmlhttp://www.programacion.com/cursos_descargas/jspyxml/examples/saxstocks.jsphttp://www.programacion.com/cursos_descargas/jspyxml/examples/saxstocks.jsphttp://www.programacion.com/cursos_descargas/jspyxml/examples/saxstocks.jsphttp://www.programacion.com/cursos_descargas/jspyxml/examples/saxstocks.jsphttp://www.host.com/xml/ebiz.xml
  • 5/26/2018 html vs xml.docx

    19/47

    18

    My Portfolio

    Stock SymbolCompany NamePrice

    Si solicitamos saxstocks.jsp veremos algo similar a la Figura 6.

  • 5/26/2018 html vs xml.docx

    20/47

    19

    Figura 6: Usar MySAXParserBean desdeJSP

    Document Object Model (DOM)

    DOM es un interface neutral a la plataforma - y al lenguaje- para acceder y

    actualizar documentos. Sin embargo, al contrario que SAX, DOM accede a undocumento XML a travs de una estructura arborescente, compuesta por nodoselemento y nodos de texto, segn lo mostrado en la figura 7.

    Figura 7: DOM crea un rbol desde un documento XML.

    El rbol ser construido en memoria y por lo tanto se consumen grandes requisitosde memoria al usar DOM. Sin embargo, la ventaja de DOM es que es ms simplede programar que SAX. Como podemos ver desde el ejemplo 11, un documentoXML se puede convertir en un rbol con tres lneas de cdigo. Una vez que

    tengamos un rbol, podemos recorrerlo o atravesarlo hacia adelante y hacia atrs.

    Ejemplo 11:MyDOMParserBean.java

    package dombean;

    import javax.xml.parsers.*;import org.w3c.dom.*;

    http://www.programacion.com/cursos_descargas/jspyxml/examples/MyDOMParserBean.javahttp://www.programacion.com/cursos_descargas/jspyxml/examples/MyDOMParserBean.java
  • 5/26/2018 html vs xml.docx

    21/47

    20

    import java.io.*;

    public class MyDOMParserBeanimplements java.io.Serializable {

    public MyDOMParserBean() {}

    public static DocumentgetDocument(String file) throws Exception {

    // Step 1: create a DocumentBuilderFactoryDocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

    // Step 2: create a DocumentBuilderDocumentBuilder db = dbf.newDocumentBuilder();

    // Step 3: parse the input file to geta Document objectDocument doc = db.parse(new File(file));return doc;}}

    Esto producir un rbol, por eso necesitamos atraversarlo, Esto se hace usando elmtodo traverseTree en la pgina JSP, domstocks.jsp, en el ejemplo 12.

    Ejemplo 12:domstocks.jsp

    dom parser

    My PortfolioStock SymbolCompany NamePrice

    http://www.programacion.com/cursos_descargas/jspyxml/examples/domstocks.jsphttp://www.programacion.com/cursos_descargas/jspyxml/examples/domstocks.jsp
  • 5/26/2018 html vs xml.docx

    22/47

    21

  • 5/26/2018 html vs xml.docx

    23/47

    22

    }}}}

    %>

    Si solicitamos domstocks.jsp desde un navegador, veramos algo similar a lafigura 6 de arriba.

    Transformar XML

    Como que los navegadores estn llegando a estar disponibles en ms

    dispositivos, la habilidad de transformar datos de Internet en mltiples formatos,como XML, HTML, WML, o XHTML, se est convirtiendo cada vez en msimportante. El XSLT se puede utilizar para transformar XML en cualquier formatodeseado. Un motor de transformacin o un procesador tomara un documentoXML como entrada y utilizara la hoja de estilo de transformacin XSL para crearun nuevo formato de documento, segn lo mostrado en la figura 8.

    Figura 8: Usar un motor XSLT

    El ejemplo siguiente, xml2html, muestra cmo transformar el documento XML,stocks.xml,en un documento HTML, stocks.html. Como podemos ver, una vezque tengamos el documento XML y la hoja de estilo XSL a aplicar, toda latransformacin se hace en tres lneas.

    Ejemplo 13:xml2html.java

    http://www.programacion.com/cursos_descargas/jspyxml/examples/xml2html.javahttp://www.programacion.com/cursos_descargas/jspyxml/examples/xml2html.java
  • 5/26/2018 html vs xml.docx

    24/47

    23

    import javax.xml.transform.*;import javax.xml.transform.stream.*;import java.io.*;

    public class xml2html {

    public static void main(String[] args)throws TransformerException,TransformerConfigurationException,FileNotFoundException, IOException{TransformerFactory tFactory = TransformerFactory.newInstance();Transformer transformer = tFactory.newTransformer(newStreamSource("stocks.xsl"));transformer.transform(new StreamSource(args[0]), newStreamResult(new FileOutputStream(args[1])));System.out.println("** The output is written in "+ args[1]+" **");

    }}

    Para ejecutar este ejemplo, usamos el comando:

    C:> java xml2html stocks.xml stocks.html

    stocks.xml es el fichero de entrada, y ser transformado en stocks.htmlbasndose en la hoja de estilos stocks.xsl. Aqu estamos utilizando la hoja deestilo anterior, pero hemos agregado un par de nuevas lneas para especificar elmtodo de salida (HTML en este caso) segn lo mostrado en el ejemplo 14.

    Ejemplo 14:stocks2.xsl

    http://www.programacion.com/cursos_descargas/jspyxml/examples/stocks2.xslhttp://www.programacion.com/cursos_descargas/jspyxml/examples/stocks2.xsl
  • 5/26/2018 html vs xml.docx

    25/47

    24

    Se generarn las etiquetas HTML como se muestra en la Figura 9:

    Figura 9: Transformacin xml2html

  • 5/26/2018 html vs xml.docx

    26/47

    25

    Definindolo de forma sencilla, "HTML es el lenguaje que se utiliza para crear las

    pginas web de internet". Ms concretamente, HTML es el lenguaje con el que se

    "escriben" la mayora de pginas web.

    Los diseadores utilizan el lenguaje HTML para crear sus pginas web, los

    programas que utilizan los diseadores generan pginas escritas en HTML y los

    navegadores (por ejemplo Google Chrome o Mozilla Firefox) que utilizamos los

    usuarios muestran las pginas web despus de leer su contenido HTML.

    Aunque HTML es un lenguaje que utilizan los ordenadores y los programas de

    diseo, es muy fcil de aprender y escribir por parte de las personas. En realidad,

    HTML son las siglas de HyperText Markup Language y ms adelante se ver el

    significado de cada una de estas palabras.

    El lenguaje HTML es un estndar reconocido en todo el mundo y cuyas normas

    define un organismo sin nimo de lucro llamado World Wide Web Consortium,

    ms conocido como W3C. Como se trata de un estndar reconocido por todas las

    empresas relacionadas con el mundo de internet, una misma pgina HTML se

    visualiza de forma muy similar en cualquier navegador de cualquier sistema

    operativo.

    El propio W3C define el lenguaje HTML como "un lenguaje reconocido

    universalmente y que permite publicar informacin de forma global". Desde su

    creacin, el lenguaje HTML ha pasado de ser un lenguaje utilizado exclusivamente

    para crear documentos electrnicos a ser un lenguaje que se utiliza en diversas

    aplicaciones electrnicas como buscadores, tiendas online y banca electrnica.

    Java en las Pginas Web.

    Hasta ahora hemos visto una serie de mtodos que nos permiten incluir sonido,

    vdeo y otros contenidos multimedia as como multitud de archivos de diferentes

    formatos en una pgina Web. Al insertar alguno de estos objetos conseguimos

    incluso tener cierta interactividad con el visitante de las pginas y gracias a ellos

    quedan cubiertas gran parte de nuestras necesidades, pero seguimos teniendo

    algunas limitaciones. Gracias al lenguaje Java podremos insertar contenido

    multimedia con mucha mayor libertad y, lo que es ms importante, conseguiremos

    interactividad completa con los navegantes.

  • 5/26/2018 html vs xml.docx

    27/47

    26

    Java es un lenguaje de programacin desarrollado por la empresa Sun

    Microsystems. En la actualidad esta misma empresa se encarga, junto con otras

    empresas asociadas, de su desarrollo. En la pgina Java.sun.com (figura 1.1)

    podemos encontrar gran cantidad de recursos relacionados con Java,

    incluyendo tutoriales, libros o cdigo algunos de los cuales se distribuye

    gratuitamente. Centrndonos en el lenguaje, ste es muy similar a los usados para

    realizar las aplicaciones que usamos habitualmente en nuestros ordenadores

    (Word, Netscape,Explorer o el propio Windows). La gran diferencia de

    Java con respecto a otros lenguajes consiste en la posibilidad de hacer

    pequeos programas y ejecutarlos desde una pgina Web. Estos programas

    reciben el nombre de applets Cada da hay ms pginas en Internet que los usan

    consiguiendo lo que hasta hace poco era imposible. En la pgina de Gamelan

    (www.Gamelan.com) podemos encontrar gran cantidad relacionada con la

    tecnologa Java, en la figura 1.2 podemos ver una muestra de esta pgina. En

    una de sus pginas de su nueva ubicacin:

    www.developer.com/directories/pages/dir.Java.sites.html nos ofrecen un listado

    de las mejores Webs que podemos encontrar hoy en da que usen la tecnologa

    Java, es muy recomendable visitar alguna de ellaspara hacernos una idea real

    de lo que puede llegar a conseguirse usando este excelente lenguaje.

    Figura 1.1. En la pgina Web de Sun Microsystems, creadora del lenguaje Java,podemos encontrar gran cantidad de documentacin y ejemplos de sus posibilidades

  • 5/26/2018 html vs xml.docx

    28/47

    27

    Figura 1.2. Gamela es una excelente fuente de recursos Java conocida desde hacetiempo. En la actualidad su direccin est en proceso de cambio a: www.developer.com

    El conocimiento del lenguaje Java se muestra cada vez ms importante paratodos aquellos programadores de Internet. Ms adelante en esta obraabordaremos ampliamente su estudio y aprenderemos a crear nuestras propias

    Aplicaciones y applets. Sin embargo no es necesario conocer este lenguaje paraaprovechar sus caractersticas en nuestras pginas Web. Existen gran cantidad deapplets gratuitos que se distribuyen a travs del WWW y que pueden ser usadoslibremente en nuestras pginas. En esta seccin aprenderemos a insertarlos ennuestras pginas y a usarlos adecuadamente para aprovechar las posibilidades deesta nueva tecnologa.

    NotaLa propia compaa Sun Microsystems ha creado una pgina en la que semuestran ejemplos y se distribuyen gratuitamente gran cantidad de applets.La direccin es: Java.sun.com/applets/index.html.Otra forma de buscar applets gratuitos en el WWW consiste en dirigirse alndice Yahoo y buscar la cadena "Java applets".

    Insercin de Applets Java.De ahora en adelante consideraremos que ya tenemos un applet, bien porque lo

    hemos programado nosotros mismos, bien porque estamos usando un applet dedistribucin gratuita, es hora de aprender a insertarlo en nuestra pgina Web. Paraello usaremos una nueva etiqueta:

    APPLET. Esta etiqueta est formada por una instruccin de inicio, , yuna instruccin de fin, .

  • 5/26/2018 html vs xml.docx

    29/47

    28

    NotaLa etiqueta APPLET fue introducida por Netscape en la versin 2.0 deNavigator fruto de un acuerdo con Sun para soportar la tecnologaJava. Todos sus navegadores posteriores tambin la soportan. El otrogran navegador, Microsoft Internet Explorer, soporta la tecnologa Java

    desde la versin 3.0. En cuanto al estndar se refiere, esta etiqueta seincluye en la especificacin HTML 3.2, aunque no podemos asegurar quelos navegadores posteriores que respetan la norma HTML 3.2 soporten latecnologa Java,simplemente entienden la etiqueta, pero no son capacesde ejecutar un applet.

    La insercin de un applet en una pgina es similar a la insercin de una imagen, alo cual ya estamos muy acostumbrados. Deberemos especificar el archivo dondese encuentra el applet y las dimensiones (anchura y altura) que este debe ocuparen la pgina. Al igual que ocurra con las imgenes el applet se introducir en ellugar exacto donde indique su cdigo, si es necesario se insertar entre el texto,

    pero no pasar a una nueva lnea, como suceda con las marquesinas, si no loindicamos especficamente (con la etiqueta
    ). Para indicar el archivo en elque se encuentra el applet usaremos el atributo CODE y para especificar laanchura y altura en pixeles usaremos WIDTH y HEIGHT respectivamente. Enresumen, para insertar un applet debemos usar el siguiente cdigoEn cualquier lugar de la pgina:

    Los tres atributos que hemos usado deben incluirse obligatoriamente siempre queinsertemos un applet. Esto parece obvio con el atributo CODE , ya que no sepodra insertar el applet sin indicar donde est, pero resulta ms extrao con losatributos WIDTH y HEIGHT . Aun as, si no especificamos el tamao que debeocupar el applet en la pgina no ser mostrado ni ejecutado por el navegador.Debemos estar muy atentos a este detalle ya que hasta ahora estos dos atributoseran totalmente optativos y por ello es un error comn olvidarlos y no ser capaz dedescubrir porqu no funciona el applet.

    Y aqu vemos como insertar un applet de ejemplo:

    Applet sonoro

  • 5/26/2018 html vs xml.docx

    30/47

    29

    Aviso

    Los applets de Java son sensibles a las maysculas y a las minsculas,si no ponemos el nombre del archivo exactamente igual, incluyendomaysculas o minsculas, no hubiera funcionado. Por ejemplo, si

    hubiramos escrito CODE="soundexample.class" el cdigo anterior nohubiera funcionado. Este es un ejemplo muy comn por lo que debemostener cuidado.

    Si visualizamos este archivo con un navegador que soporte la tecnologa Javadebemos obtener el resultado de la figura 1.3.

    Figura 1.3. Este es el aspecto que muestra nuestro primer applet insertado en una pginaWeb. En un navegador con soporte Java podemos pulsar sobre los botones paraobtener diferentes sonidos.

    Nota

    Los applets Java tienen la terminacin .class , como ya hemoscomentado antes, esto exige que para poder usar un applet debemosutilizar un sistema operativo que soporte nombres largos. Desgraciada-mente los usuarios de Windows 3.1 no podrn probar esta tecnologalocalmente en su ordenador. Afortunadamente esto no significa que no

    puedan disfrutar los applets que estn publicados en el WWW.

    Pasemos a explicar que ocurre cuando el navegador se encuentra con el cdigoanterior. En primer lugar busca el archivo SoundExample.class en la mismadireccin URL y en el mismo directorio donde se encuentre la pgina actual y lobaja a nuestro ordenador (este es un ejemplo en el que ambos archivos ya estn

  • 5/26/2018 html vs xml.docx

    31/47

    30

    en nuestro ordenador, con lo que este paso no sera necesario). Mientras reservaun rectngulo, con las dimensiones especificadas por los atributos WIDTH yHEIGHT , donde ser mostrado el applet. Una vez ha llegado el archivo anterior elnavegador llama a lo que se conoce como mquina virtual Java (tambinllamada JVM, Java Virtual Machine) que pasar a ejecutar el applet. A partir de

    ese momento el applet se ejecutar como cualquier otro programa de nuestroordenador, aunque lo har en el interior de la pgina Web. De esta forma cuandonuestro cursos este dentro del rectngulo de 450x50 creado el control pasar alapplet y si pulsamos los botones el propio applet ser el encargado de realizar lasacciones oportunas. La Mquina Virtual Java implementa adems ciertas medidas de seguridad para que el applet no pueda, por ejemplo, borrar nuestrodisco duro. Una vez conocemos el funcionamiento de los applets podemosadentrarnos ms a fondo en las diferentes caractersticas de estos que pueden sermodificadas con el lenguaje HTML.

    Especificando la direccin del applet.Dejando a un lado el ejemplo y volviendo al cdigo general es obvio que el cdigoes, todava, muy sencillo. Para empezar el archivo con el applet (que siempretiene la extensin .class ) se encuentra en el mismo directorio que el documentoHTML de la pgina actual. Lo habitual, sin embargo, es agrupar todos los appletsJava en un directorio dedicado de la misma manera que hacamos con lasimgenes. Podramos pensar que para reflejar este cambio no tendramos msque cambiar ligeramente el cdigo y escribir:

    Por desgracia, este cdigo es incorrecto. El atributo CODE permite nicamenteespecificar el nombre del archivo donde se encuentra el applet, pero no podemosincluir un directorio ni, por supuesto, una direccin de Internet. Significa esto quees imposible? Afortunadamente no, los diseadores de esta etiqueta pensaron enello e introdujeron un nuevo atributo, CODEBASE , que nos permitir indicar ladireccin URL o ruta de directorios donde se encuentre el archivo especificado enel atributo CODE . Usando CODEBASE podemos reescribir el cdigo anterior de

    manera correcta:

  • 5/26/2018 html vs xml.docx

    32/47

    31

    Sin embargo podemos ir ms all. Podemos usar en nuestra pgina un applet quese encuentre en cualquier otro lugar del WWW sin tener que copiarlo a nuestroservidor. Para ello no tendremos ms que usar el atributo CODEBASE paraespecificar la direccin base. Por ejemplo:

    Esta direccin es real, si incluimos este cdigo en una pgina habremos insertadoun juego de las tres en raya como el que vemos en la figura 1.4 en el quecualquier visitante de nuestra pgina podr jugar (contra el ordenador). Si vemosen cualquier pgina un applet que nos gusta y sus autores permiten que seautilizado en pginas ajenas (esto es muy importante) no debemos dudarlo yusarlo. La carga del applet no ser ms lenta que si estuviera en nuestro mismoservidor y adems tendremos a nuestra disposicin una mayor cantidad de

    applets, ya que muchos autores permiten el uso de applets siempre y cuandoestos no sean copiados de su servidor sino usados directamente desde l.

    Figura 1.4. Usando applets Java podemos insertar juegos interactivos como en este caso. Usando el atributo CODEBASE no es necesario que el applet est en nuestroservidor.

    Otros atributos de la etiqueta APPLET.

    Adems de los cuatro atributos que hemos vistos hasta ahora, que suelen usarseprcticamente siempre, existen otros que pueden resultarnos muy tiles. Todosellos se encuentran incluidos en el estndar HTML 3.2:

    NAME="nombre del applet" : Este atributo es usado para identificar el applet entreel resto de elementos u otros applets de la pgina. Poner el nombre del applet noes necesario, pero los buenos programadores aconsejan hacerlo por una cuestin

  • 5/26/2018 html vs xml.docx

    33/47

    32

    de estilo. Por otro lado tener el applet identificado es tremendamente til o inclusoobligatorio si posterior- mente queremos que este se comunique, por ejemplo, concdigo JavaScript.

    ALIGN: Con esta etiqueta podremos controlar el alineamiento horizontal de la

    pgina. Puede tomar tres valores: Left, right y center para conseguir que el appletest alineado a la izquierda, a la derecha o est centrado respectivamente. Elfuncionamiento de estos tres valores es similar al de las imgenes y siespecificamos un alineamiento a cualquiera de los dos lados el texto circundanteenvolver al applet.

    VSPACE="pixeles": Con este atributo establecemos un margen vertical del tamaoen pixeles especificado. El margen vertical se refiere a la distancia entre la partesuperior del applet y los elementos de la pgina que estn sobre l y entre la parteinferior y los elementos situados debajo.

    HSPACE="pixeles" : Este atributo nos permite establecer el ancho del margenhorizontal, es decir el espacio entre el applet y los elementos que estn situados asu derecha y a su izquierda.

    ALT="texto alternativo" : Esta etiqueta es usada por aquellos navegadores ques entienden la etiqueta APPLET , pero no soportan la tecnologa Java. Todoslos navegadores que cumplan la norma HTML 3.2 entienden esta etiqueta, peroeso no quiere decir que sean capaces de ejecutar un applet. Esto ocurre, porejemplo, con los navegadores de slo texto, ya que al ser los applets grficos ensu mayora no son capaces de mostrarlos en pantalla. Este texto tambin esmostrado si en un navegador con soporte de tecnologa Java tiene algn

    problema y no es capaz de ejecutar el applet.

    Continuando con el ejemplo anteriormente mostrado podemos usar estos atributospara obtener un cdigo ms completo. Para empezar es muy recomendable usarsiempre los atributos NAME y ALT, con lo que quedara (mostramos nicamenteel cdigo correspondiente a la insercin del applet):

    Por otro lado podemos usar el atributo ALIGN para que el texto bordee el applet.En este caso es recomendable usar tambin VSPACE y HSPACE para crear unmargen:

  • 5/26/2018 html vs xml.docx

    34/47

    33

    Escribiendo texto antes y despus de esta etiqueta obtenemos el resultado de lafigura 1.5.

    Figura 11.5. Usando los atributos

    Los atributos anteriores son los que aparecieron inicialmente junto con la etiquetaAPPLET y que fueron adoptados por el estndar HTML 3.2 pero adems de estas,tanto Microsoft como Netscape han ido incorporando otros nuevos en susnavegadores:

    ARCHIVE="archivo_comprimido": Permite especificar un archivo auxiliar al appletde Java dondepueden ser insertados todas las imgenes, sonidos y cualquierotro archivo auxiliar que pueda ser necesario para la ejecucin del applet. Laexistencia de este atributo ha sido pensada para comprimir todos los archivos

    auxiliares en uno slo de menor tamao para que el tiempo de carga sea menor.Cualquier otro fichero que necesite el applet que no este incluido en este archivocomprimido ser buscado por los mtodos habituales. Este atributo es exclusivodel navegador Netscape Navigator.

    MAYSCRIPT: Este atributo se usa por si slo, sin ningn valor, y su presenciasignifica que el applet Java puede ser accedido usando cdigo JavaScript.

    TITLE="texto": Este atributo exclusivo de Internet Explorer 4.0 permite indicar untexto que ser mostrado en un bocadillo cuando el navegante pase el ratn porencima del applet. Aunque el contenido de este atributo slo es entendido por

    Explorer puede ser usado con total libertad, ya que no perjudica nada a losusuarios del resto de navegadores. Estos son todos los atributos que pueden serusados en la etiqueta APPLET , pero existe otro mtodo adicional para especificarparmetros particulares de cada uno de estos programas escritos en Java: laetiqueta PARAM.

  • 5/26/2018 html vs xml.docx

    35/47

    34

    La etiqueta PARAM Esta etiqueta consta de una nica instruccin, , que debe ser insertada en el interior de la etiqueta APPLET (entre la instruccinde inicio y la instruccin de fin) y cuya funcin ser definir parmetros para elapplet. Los parmetros son propiedades especficas de cada applet que permitenmodificar sus caractersticas. Los parmetros constan de un nombre y un valor

    que son indicados usando los atributos NAME y VALUE de la siguiente manera:

    La etiqueta PARAM puede ser usada tantas veces sea necesario para un mismoapplet siendo necesario usarla una vez para cada uno de los parmetros. Engeneral los applets que se distribuyen gratuitamente constan de gran nmero deparmetros, para poder adaptarse a las necesidades de los distintos usuarios quevayan a utilizarlo. Por esta razn siempre van acompaados de documentacin.

    Quiz el applet ms conocido es Animator.class, este applet toma un conjunto deimgenes y las va mostrando ordenadamente para crear un efecto de animacin.Este era el nico mtodo existente para crear animaciones antes de la aparicinde los GIFS animados. Tras la aparicin de estos la utilizacin de este applet hadecrecido, pero sigue siendo til en ciertas ocasiones y nos servir comoexcelente ejemplo para mostrar el uso de la etiqueta PARAM . Para insertar elapplet debemos copiar el contenido de este directorio a otra ubicacin y crear undocumento HTML con el siguiente cdigo:

    El saludo de Duke

    En este caso hemos usado 4 parmetros del applet, aunque en realidad tienemuchos ms. Los explicaremos brevemente. El parmetro imagesource nospermite indicar el directorio donde se encuentran las imgenes, un punto significael directorio actual. Estas imgenes deben llamarse obligatoriamente T1.gif, T2.gif,T3.gif, etc. El parmetro end image indica el nmero de imgenes de los queconsta la animacin y en esta ocasin sern 10, desde T1.gif hasta T2.gif. Losparmetros pause y pauses nos permiten controlar las pausas entre las imgenes,

  • 5/26/2018 html vs xml.docx

    36/47

    35

    con el ltimo controlamos de manera independiente las pausas que se realizanentre cada una de las imgenes de manera individual. Al visualizar este cdigocon un navegador con soporte Java veremos la mascota de Java, Duke,saludando. En la figura 1.6 podemos apreciar una captura del resultado. Una granventaja de este mtodo para crear animaciones es que simplemente cambiando

    las imgenes T1.gif ,T2.gif ,etc. por unas propias podemos crear otra animacindistinta sin necesitar ninguna aplicacin como era el caso de los GIFs animados.

    Figura 11.6. El applet Animator.class es uno de los ms conocidos y usados en laspginas Web por la facilidad que ofrece para crear animaciones.

    NotaPara obtener ms informacin sobre el applet Animator.class o sobremuchos otros applets de distribucin gratuita podemos visitar la pginaantes mencionada Java.sun.com.Alternativas a los applets Java

    .

    Dado que la tecnologa Java es relativamente nueva y requiere grandesrecursos por parte del navegador, slo algunos como Netscape Navigator 2.0 osuperior y Internet Explorer 3.0 o superior la soportan. Dado que no sabemosque navegadores usarn los visitantes de nuestras pginas es conveniente aadiralternativas para aquellos que no sean capaces de mostrar el applet.

    Anteriormente hemos visto la existencia del atributo ALT que permite especificarun texto alternativo. Sin embargo tiene dos inconvenientes:

    Este atributo slo ser entendido por aquellos navegadores que entiendan laetiqueta APPLET , con lo que seguimos sin tener una alternativa para el resto denavegadores.

    Con ALT nicamente podemos insertar un texto, ni imgenes ni ningn otroelemento HTML, con lo que nuestras posibilidades para ofrecer alternativasquedan muy menguadas. Afortunadamente existe otro mtodo. Como hemosindicado al principio de esta seccin, y como ya hemos comprobado por losejemplos, la etiqueta APPLET consta de una instruccin de inicio y de unainstruccin de fin. Vimos que entre ellas podamos insertar una o varias etiquetas

  • 5/26/2018 html vs xml.docx

    37/47

    36

    PARAM para especificar los parmetros especficos de cada applet. Pero ademspodemos insertar otras etiquetas HTML que sern ignoradas por aquellosnavegadores con soporte Java, pero sern mostradas por todos aquellos que nosoporten esta tecnologa, con lo que nos servir como contenido alternativo alapplet:

    ... Cdigo HTML alternativo...

    Siguiendo con el ejemplo de la mascota de Java, si queremos que nuestrapgina este preparada para todos los navegadores debemos aadir el atributo

    ALT as como contenido alternativo antes de la instruccin .

    He aqu un ejemplo:

    En este caso los usuarios de navegadores sin soporte Java vern una imagende Duke saludando (aunque sin movimiento) del mismo tamao que el applet. Sien el texto de la pgina hemos hecho referencia a que los navegantes van a verun applet en accin debemos insertar tambin junto con la imagen un texto queadvierta que el applet no puede ser visualizado con ese navegador y que a cambiose muestra una imagen. En la figura 1.7 vemos el ejemplo anterior visto con elnavegador Opera, que no soporta la tecnologa Java. En un medio estticocomo este no se aprecia la diferencia, pero esta existe, ya que en este caso laimagen no tiene movimiento.

  • 5/26/2018 html vs xml.docx

    38/47

    37

    Figura 1.7. El navegador Opera no soporta la tecnologa Java, por lo quemostrar el cdigo alternativo, en este caso uno de los GIFs de la animacin.

    Con este ejemplo damos por concluido el aprendizaje de la etiqueta APPLET. Enla figura 1.8 podemos ver un ejemplo.

    Figura 1.8. Resumen de todos los atributos de la etiqueta APPLET y de susubetiqueta PARAM.

  • 5/26/2018 html vs xml.docx

    39/47

    38

    El nuevo estndar: la etiqueta OBJECT.

    Hasta ahora hemos aprendido a insertar diferentes tipos de objetos en las pginasWeb, para insertar imgenes usbamos la etiqueta IMG, para insertar objetos paraplug-ins usbamos EMBED, para insertar frames flotantes IFRAME, para insertar

    applets Java APPLET, etc. Observando esta diversidad y viendo que cadadesarrollador de navegadores creaba sus propios mtodos para incluir objetos enlas pginas el consorcio W3C creo un grupo de trabajo para buscar una solucinque englobar y unificara todos los mtodos actualmente existentes. La solucinfue la creacin de una nueva etiqueta para el lenguaje HTML: OBJECT , que fueintroducida en el estndar HTML 3.2, aunque es a partir de la versin HTML 4.0cuando se est empezando a darle la importancia que merece.

    Usando esta etiqueta es posible incluir varios tipos de ficheros multimedia (vdeo ysonido MPEG, ficheros Shockwave/Director, etc.), applets de Java,controles ActiveX (que veremos en la siguiente seccin),documentos HTML o

    prcticamente cualquier otro tipo de objeto. Por ejemplo para incluir un vdeo AVIdebemos usar el siguiente cdigo:

    En este caso el funcionamiento es muy similar al de la etiqueta EMBED y ahora elcdigo alternativo deber ser mostrado entre y . Estecdigo ser ignorado por los navegadores que entiendan la etiqueta OBJECT.

    Qu navegadores soportan este nuevo estndar? Las versiones 4.0 y posterioresde Internet Explorer y Netscape Navigator entienden la etiqueta, aunquetodava no soportan todas las posibilidades que ofrece. Sin embargo el WebConsortium le est dando un fuerte impulso, con lo es de suponer que las futurasversiones de estos navegadores si no hagan y que poco a poco se tender haciaun mayor uso de la etiqueta OBJECT. Esta seccin es slo una introduccin aeste nuevo estndar. Hemos considerado que un estudio detallado no eraapropiado porque esta etiqueta no puede ser usada todava de manerafiable(excepto para insertar controlesActiveX que enseguida veremos). El lectorinteresado puede adquirir ms informacin a travs del Web Consortium en las

    siguientes direcciones:

    http://www.w3.org/pub/www/TR/WD-object.htmlhttp://www.w3.org/TR/WD-html40/struct/objects.html#h-14.3

    En la figura 1.9 hemos incluido de modo informativo la pgina del Web Consortiumque explica el funcionamiento del atributo OBJECT y todos sus atributos.

  • 5/26/2018 html vs xml.docx

    40/47

    39

    Figura 11.9. La etiqueta OBJECT ha sido creada por los expertos del WebConsortium para englobar la inclusin de todo tipo de objetos en las pginas Web.

    Una seccin que si hemos considerado importante explicar es la insercin de losapplets Java recin vistosusando la etiqueta applet, ya que aunque actualmente

    este mtodo sea operativo, se ir imponiendo con el tiempo.

    Insercin de un applet Java.El objetivo actual del Web Consortium es que la etiqueta OBJECT conviva por untiempo con la etiqueta APPLET para sustituirla ms adelante. Hoy en da el uso dela etiqueta OBJECT no est muy extendido con lo que la forma ms segura deinsertar un applet sigue siendo usando la etiqueta APPLET , sin embargo lasiguiente generacin de navegadores permitir tambin el uso de OBJECT queacabar siendo el nico mtodo aceptado y como buenos programadores nosotrosdebemos estar preparados.

    Para poder llevar a cabo todas las funciones de la etiqueta APPLET tambin esposible usar la etiqueta para especificar parmetros para los applets uotros objetos que los necesiten. Aunque esta etiqueta debe ser insertada entre y no ser ignorado por los navegadores que entiendanesta etiqueta.

  • 5/26/2018 html vs xml.docx

    41/47

    40

    Adems la etiqueta PARAM tiene dos nuevos atributos al ser usada en el interiorde OBJECT , estos son:

    VALUETYPE="...": Este atributo especifica que tipo de valor recibir el parmetro.Hay tres posibles valores:

    Data: El valor especificado ser pasado al objeto como una cadena de caracteres.Este es el valor por defecto y antes de la existencia del atributo VALUETYPE erala nica posibilidad.

    Ref: El valor especificado es una direccin URL que indica donde estnalmacenados los valores para dicho parmetro. La direccin debe ser pasada talcual al objeto.

    Object: El valor es el nombre de otro objeto del mismo documento precedido delsmbolo #.

    TYPE="tipo_mime": Este atributo especifica el tipo mime del valor asignado a esteatributo con VALUE.

    Exceptuando estas diferencias, el funcionamiento es idntico. Por ejemplo, parainsertar el applet del segundo de nuestros ejemplos (El saludo de Duke) usandola etiqueta OBJECT debemos escribir:

    Como vemos la diferencia con la etiqueta APPLET es pequea, con la nicacomplejidad aadida de indicar en el atributo CODETYPE el tipo MIME del applet,que es el indicado en este ejemplo siempre. Esto es necesario para indicar alnavegador que se trata de un applet de modo que si no soporta esta tecnologaeste pueda ser capaz de decidir no bajar el archivo.

    ActiveX, la tecnologa del futuro.

    La, denominada, tecnologa ActiveX desarrollada por Microsoft hizo su aparicinen Internet con el navegador Internet Explorer 3.0. Su objetivo es similar al de

  • 5/26/2018 html vs xml.docx

    42/47

    41

    los plug-ins, insertar objetos de diferente tipo en una pgina Web, aunque vamucho ms all al aadir mayores posibilidades de interaccin y comunicacincon programas externos. Existen pginas en Internet que basan toda supresentacin en controles ActiveX para crear Websrealmente impactantes.

    En la figura 1.10 vemos la pgina de ForecastX que ofrece el parte meteorolgicoen tiempo real usando esta novedosa tecnologa.

    Figura 1.10. ForecastX ofrece un servicio meteorolgico en tiempo real gracias a latecnologa ActiveX.

    ActiveX est compuesto por dos tipos de objetos: controles Activos (Activecontrols) y documentos Activos (Active documents). Estos ltimos permiteninsertar documentos con formato PDF, DOC, etc. La tecnologa ActiveXfunciona de una manera similar al mecanismo de Microsoft OLE (Object Linkingand Embedding, Enlazado e incrustacin de objetos) que usa su sistema operativoWindows, por lo que los usuarios de ste les resultar familiar, lo realmentenovedoso es la aplicacin de esta tecnologa al WWW.

    Los controles ActiveX guardan parecidos con los objetos para plug-ins y con losapplets Java, aunque presenta algunas mejoras con respecto a ambos. Como

    ocurra con los plug-ins, los controles y documentos de ActiveX pueden serinsertados en un pgina Web, sin embargo no requieren un pequeo programillapara cada tipo de objeto ActiveX, esta nueva tecnologa ha sido denominadacomo auto contenida porque cada objeto tiene suficiente informacin paraejecutarse l mismo sin ayuda de ninguna aplicacin.

    Tal y como ocurre con los applets podemos crear nuestros propios controles ousar los creados por otros programadores que nos los venden o distribuyen

  • 5/26/2018 html vs xml.docx

    43/47

    42

    gratutamente. Si optamos por programarlos nosotros mismos existenherramientas que lo convierten prcticamente en un juego de nios, entre ellasdestaca las creadas para este fin por Microsoft y que distribuye a travs de suWeb (www.microsoft.com/ie/).

    Hoy por hoy el nico inconveniente de la tecnologa ActiveX consiste en queslo puede ser visto desde es sistema operativo Windows y con el NavegadorInternet Explorer, aunque afortunadamente parece que estocambiar pronto.

    Insercin de un control ActiveX.

    El cdigo HTML necesario para insertar un control o documento ActiveX en unapgina Web fue desarrollado por Microsoft en colaboracin con el WebConsortium, con lo que se acord el uso del estndar OBJECT que hemos vistoen la seccin anterior. A continuacin veremos un sencillo ejemplo que no requiereningn archivo especial, el nico requisito para poder visualizarlo consistir en

    tener instalado el navegador Internet Explorer 3.0 o superior. El cdigo usadopara insertar el control ActiveXser:

    Para visualizar el control ActiveXnecesita Explorer 3.0 o posterior.

    En la figura 1.11 podemos ver el resultado obtenido tal y como se ve con InternetExplorer 4.0. Pasemos aexplicar el este cdigo: El valor del atributo CLASSIDes el que identifica el tipo de control ActiveX que estamos insertando. Estecdigo es complejo y se sale de los objetivos de esta obra.

  • 5/26/2018 html vs xml.docx

    44/47

    43

    Figura 11.11. Usando este control ActiveX podemos crear efectos variados contexto, con lo que pueden sustituir el uso de imgenes con la consiguiente

    disminucin tiempo de carga de nuestras pginas.

    Volviendo a nuestro ejemplo, entre los principales parmetros usados en lainsercin de este control ActiveXencontramos:

    Caption: Es el texto que debe insertarse con las caractersticas que se indican conel resto de parmetros.

    Angle: Es el ngulo del texto con la horizontal en grados. Si le damos el valor 90 elcontrol mostrar el texto en vertical.

    FontSize: Es el tamao del texto.

    FontName: Es el tipo de letra.

    Backcolor y Forecolor: Son el color del fondo y el color del texto respectivamente.Invitamos al lector a hacer pruebas modificando los valores de estos y el restoatributos y cambiando el texto para adaptarlo a nuestras necesidades y poderincorporarlo en sus propias pginas. Vemos un ejemplo en la figura 1.12.

  • 5/26/2018 html vs xml.docx

    45/47

    44

    Figura 1.12. Usando el mismo control ActiveX que en la figura 11.25 pero con un cdigo algo ms complejo podemos crear este efecto tan atractivo.

    Por ltimo nos queda resaltar que existe un plug-in para Netscape Navigator,Ncompass, que aade a este navegador la posibilidad de entender controles ydocumentos ActiveX. Este plug-in puede ser obtenido en la pgina Web deNcompass en el WWW: www.ncompasslabas.com. Si pensamos incorporar latecnologaActiveX a nuestras pginas es muy recomendable incluir una enlacea esta pgina para que todos los usuarios de Netscape que las visiten puedanadquirirlo y disfrutar, tambin, de los controles que hayamos usado. Tambin esimportante destacar que Microsoft ha llegado a acuerdos con diversas compaaspara exportar la tecnologa ActiveX a Mac y UNIX, con lo que es de esperarque en poco tiempo se convierta en un mtodo estndar para insertar objetosmulti-plataforma aunque hoy por hoy no se puede decir que la sea, al contrarioque Java.

  • 5/26/2018 html vs xml.docx

    46/47

    45

    CONCLUSIONES

    El HTML se preocupa por formatear datos y para ello son las etiquetas que tiene el

    lenguaje, para formatear la informacin que se desea mostrar.

    El XML se preocupa por estructurar la informacin que pretende almacenar. Laestructura la marca la lgica propia de la informacin.

    El desarrollo del HTML estuvo marcado la competencia entre los distintos visores

    del mercado. Cada uno quera ser el mejor e inventaba etiquetas nuevas que a la

    larga entraban a formar parte del estndar del W3C, como la etiqueta .

    El desarrollo del XML est siendo llevado a cabo con rigor, siempre ajustado a lo

    que marca el estndar que desarrolla el W3C, entidad que est desarrollando el

    XML con ms diligencia que las empresas con intereses particulares.

    Procesar la informacin en HTML es inviable, por estar mezclada con los estilos y

    las etiquetas que formatean la informacin.

    En XML se puede procesar la informacin con mucha facilidad, porque todo est

    ordenado de una manera lgica, as mismo el formateo de la informacin para que

    se pueda entender bien por el usuario es viable a travs de un pequeo

    procesamiento, a travs de hojas de estilos o similares.

  • 5/26/2018 html vs xml.docx

    47/47

    46

    BIBLIOGRAFA

    http://es.tldp.org/Manuales-LuCAS/doc-curso-html/doc-curso-

    html.pdf

    http://www.programacion.com/articulo/desarrollo_de_aplicacio

    nes_web_con_jsp_y_xml_120/3

    http://es.tldp.org/Manuales-LuCAS/doc-curso-html/doc-curso-html.pdfhttp://es.tldp.org/Manuales-LuCAS/doc-curso-html/doc-curso-html.pdfhttp://es.tldp.org/Manuales-LuCAS/doc-curso-html/doc-curso-html.pdfhttp://www.programacion.com/articulo/desarrollo_de_aplicaciones_web_con_jsp_y_xml_120/3http://www.programacion.com/articulo/desarrollo_de_aplicaciones_web_con_jsp_y_xml_120/3http://www.programacion.com/articulo/desarrollo_de_aplicaciones_web_con_jsp_y_xml_120/3http://www.programacion.com/articulo/desarrollo_de_aplicaciones_web_con_jsp_y_xml_120/3http://www.programacion.com/articulo/desarrollo_de_aplicaciones_web_con_jsp_y_xml_120/3http://es.tldp.org/Manuales-LuCAS/doc-curso-html/doc-curso-html.pdfhttp://es.tldp.org/Manuales-LuCAS/doc-curso-html/doc-curso-html.pdf