Introducción a XSLT

May 29, 2010 on 12:23 am | In XSLT | No Comments

Qué es XSLT

XSLT o XSL Transformations es la parte más importante del lenguaje XSL (eXtensible StyleSheet Language). La función de XSLT es la de transformar documentos XML en documentos XHTML u otros documentos XML. El W3C es el encargado de la definición de especificación XSLT.

XSLT se basa en XPath para realizar la búsqueda de información a través del documento XML. XPath son cadenas que son expresiones regulares, las cuales hacen referencia a alguna estructura dentro del documento XML.

El proceso de transformación se basa en plantillas. Dichas plantillas identifican una estructura a partir de la cual realizar la transformación (con XPath), así como las acciones a realizar con dicha estructura: recorrerla, obtener el dato de la etiqueta, el valor de alguno de sus atributos, contar cuantos elementos tiene la etiqueta anidados,...

Además, para poder aplicar las transformaciones, necesitaremos asociar el documento de transformación al documento XML receptor de la misma.

Antes de empezar a aprender más cosas sobre XSLT sería recomendable que tuvieses algún conocimiento sobre XML.

HTML versus XML+XSLT

A diferencia del lenguaje HTML, donde cada una de sus etiquetas lleva asociada una representación gráfica, el XML identifica datos, los cuales no tienen representación gráfica asociada.

Cuando definimos una tabla en HTML (la etiqueta table), sabemos que las herramientas que interpreten el documento HTML, normalmente los navegadores web, pintarán la tabla. De una forma u otra visualizaremos la tabla en nuestra pantalla.

Si bien, si tenemos un documento XML, donde podemos tener definida la etiqueta <libro>, está no tendrá ninguna representación gráfica asociada. Es por ello que si visualizamos nuestro documento XML con alguna herramienta, esta, mostrará el contenido de la etiqueta, pero sin ninguna representación.

Es en este punto donde entra el lenguaje XSLT. Y es que este lenguaje permite transformar el susodicho documento XML en otro formato, el resultado de la transformación será el que lleve la representación gráfica.

Ejemplos de transformaciones

Así, podemos tener múltiples transformaciones del documento XML en otros documentos de distintos lenguajes: XHTML, SVG, VRML,... Por ejemplo, un documento XML que tuviese una lista de números podría ser transformado en: una tabla o lista de hitos con dicho listado en HTML, en un gráfico de líneas con SVG o podrían ser las alturas de figuras 3D con VRML.

Veamos cómo serían dichas transformaciones:

XML original

 2
 4
 6
 8

XML transformado en HTML

 
<table>
<tbody>
<tr>
<th>Datos</th>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td>8</td>
</tr>
</tbody>
</table>
 

XML transformado en SVG

XML transformado en VRML

#VRML V2.0 utf8
 Box {
  size 2 4 6
}

En estos ejemplos, vemos que los datos de partida de un documento XML son utilizados como contenido de otros documentos que tienen representaciones gráficas y pasan a ser valores de los mismos. En el documento HTML son datos de una tabla, en el documento SVG son las coordenadas de una línea y en el documento VRML son las dimensiones de un cubo.

tags:, , , , , , , ,

Arrays en VBScript

May 28, 2010 on 11:22 pm | In VBScript | No Comments

Declarar un Array

Para declarar un array en VBScript bastará con declarar una variable que tenga un rango, el cual establecerá el tamaño del array. Cada rango será una dimensión del array, así un array con dos dimensiones será una matriz. El límite de dimensiones en VBScript es de 60.

Veamos como se declara un array:

DIM miArray (3)
DIM miMatriz (2,10)

Cuando estamos declarando un array de x posiciones, este, tiene como tamaño x+1. En los casos anteriores tendrían una longitud de 4 en el primero y 3,11 en el segundo de los casos.

Para acceder a un determinado elemento del array lo haremos de la siguiente forma:

miArray(posicion)
'Si se tratase de una matriz
miArray(posicion,posicion)

Ya sea para mostrar su valor:

document.write (miArray(posicion))

o para modificarlo:

miArray(posicion) = valor

Recorriendo el Array

Para mostrar todo el contenido de un array nos podemos ayudar de alguna sentencia de control de flujo repetitiva. Veamos como mostrarlo mediante un bucle for.

for x=0 to UBound(miArray)
  document.write(miArray(x))
next

Para controlar el tamaño del array utilizamos la función UBound(array).

Arrays de múltiples tipos

Una de las características principales de los arrays en VBScript es que estos pueden albergar datos de diferentes tipos. Es decir, no tenemos que declarar un array ded Strings o de enteros, sino que el array puede contener strings y entreros al mismo tiempo.

Así podriamos tener el siguiente código:

miArray(0) = "Cadena"
miArray(1) = 4
miArray(2) = #16/09/1976#
miArray(3) = true

Redimensionar un Array

La segunda de las características de los arrays es que pueden ser redimensionados, es decir, que podemos cambiar el tamaño del array una vez que este ha sido declarado. Solo se podrán redimensionar los arrays que se hayan declarado sin dimensión.

Para redimensionar un array utilizaremos la sentencia redim. La redimensión puede ser tanto para aumentar como para disminuir su tamaño.

DIM miArray()
REDIM miArray(2)

Si redimensionamos el array tal cual, perderemos su contenido. Para evitar esto utilizaremos la clausula preserve.

REDIM PRESERVE miArray(2)

Ejemplos de Código relacionados

tags:, , , , , ,

Introducción al VBScript

May 28, 2010 on 10:44 pm | In VBScript | No Comments

VBScript es un subconjunto de Visual Basic for Applications. Es un lenguaje script cuyo uso se extiende tanto en páginas web de maquinas cliente como en páginas activas de servidor (ASP), si bien, es en este segundo caso, donde adquiere mayor importancia.

Comentarios

Para introducir un comentario deberemos de usar la apostrofe ' o bien la palabra REM.

REM Esto es un comentario
' Esto es un comentario

Tipos de Datos

Lo primero que debemos de indicar es que en VBScript no es necesario darle un tipo a la variable. Es decir, podremos tener variables sin tipo a las cuales podremos asignarles cualquier valor. Estas variables serían de tipo variant.

Los tipos básicos que tiene VBScript son:

  • Byte, enteros entre 0 y 255
  • Integer, enteros entre -32.786 y 32.767
  • Long, enteros entre -2.147.483.648 y 2.147.483.647
  • Single, números reales de precisión simple
  • Double, números reales de doble precisión
  • Currency, cifras monetarias
  • Date, fechas entre 01/01/100 y 31/12/9999
  • String, cadenas de hasta 2 millones de caracteres
  • Boolean, valor booleano. Puede tomar true o false.
  • Null, valor nulo. No contiene nada.
  • Empty, es el tipo que toma una variable variant cuando está sin inicializar (0 si es numérica y "" si es cadena).
  • Error, sería el tipo error.

Existen una serie de funciones que nos servirán para ver cual es el tipo de las variables. Estas funciones son:

  • IsEmpty (variable), devuelve True si la variable es de tipo Empty
  • IsError (variable), devuelve True si la variable es de tipo Error.
  • IsNull (variable), devuelve True si la variable es de tipo Null.
  • IsNumeric (variable), devuelve True si la variable es un número de cualquier tipo.
  • IsObject (variable), devuelve True si la variable pertenece al tipo Object.

Si bien, existe una función que devuelve el tipo de la variable, independientemente del tipo que esta sea. Esta función es vartype (variable). Los posibles valores que puede devolver son:

  • 0-Null
  • 1-Empty
  • 2 -Integer
  • 3-Long
  • 4-Single
  • 5-Double
  • 6-Currency
  • 7-Date
  • 8-String
  • 9-Objeto de automatización
  • 10-Error
  • 11-Boolean
  • 12-Variant
  • 13-Objeto de acceso a datos
  • 17-Byte
  • 8192-Array

También tenemos unas funciones que nos van a ayudar a cambiar el tipo de las variables. Estas son las funciones de conversión:

  • CBool (variable), convierte la variable en booleana. Si la variable vale 0 se convertirá en true. Otro valor se convertira en false.
  • CByte (variable), convierte la variable en Byte.
  • CInt (variable), convierte la variable en Integer.
  • CLng (variable), convierte la variable en Long.
  • CSng (variable), convierte la variable en Single.
  • CDbl (variable), convierte la variable en Double.
  • CCur (variable), convierte la variable en Currency.
  • CDate (variable), convierte la variable en Date.
  • CStr (variable), convierte la variable en String.

Variables

Para declarar una variable lo haremos de la siguiente manera:

DIM nombre_variable1, nombre_variable2,..., nombre_variableN

Los nombres de las variables deben de comenzar por una letra, no pueden contener el carácter punto y no deben de exceder de 255 caracteres.

El ámbito de las variables será global a todos el código script de la página, o bien local si la variable ha sido declarada en un procedimiento.

Constantes

Para declarar una constante deberemos de hacerlo de la siguiente manera:

CONST nombre_constante = valor

El valor que se le asigne a la variable no podrá alterarse.

Ejemplos de código relacionados

tags:, , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Estructuras Selectivas

May 28, 2010 on 9:33 pm | In VBScript | 1 Comment

Dentro de VBScript nos encontraremos con 2 tipos de estructuras selectivas: if-then-else y case. Las estructuras selectivas nos sirven para discernir el hacer una cosa u otra en base a una o varias condiciones.

If-Then-Else

Esta estructura selectiva nos permite elegir entre dos alternativas atendiendo a una condición. Veamos las diferentes formas de expresar la estrucutra:

En el caso de que solo necesitemos evaluar un caso:

IF condicion(es) THEN
  accion(es)
END IF

En el caso de que queramos expresar las dos condiciones:

IF condicion(es) THEN
  accion(es)
ELSE
  accion(es)
END IF

Incluso podemos anidar varias estructuras selectivas:

IF condicion(es) THEN
  accion(es)
ELSE IF condicion(es) THEN
  accion(es)
END IF

Case

Esta segunda estructura selectiva podremos realizar diferentes acciones atendiendo a diferentes condiciones. Es decir, que sería como una anidación de estructuras selectivas if. Su estructura será la siguiente:

SELECT CASE expresion
CASE valor1
  accion(es)
CASE valor2
  accion(es)
...
CASE ELSE
  accion(es)
END SELECT

Dependiendo del valor que tome la expresión realizaremos unas u otras acciones. En el caso de que el valor de la expresión no este recogido en el subconjunto de case se realizarán las acciones del case else.

Ejemplos de Código relacionados

tags:, , , , , ,

Applets en Java

May 23, 2010 on 11:27 pm | In Java | 2 Comments

¿Qué es un applet?

Un applet es una pequeña aplicación java, la cual esta disponible en un servidor web del cual nos la descargamos y ejecutamos dentro de una página web.

Algunas de sus características son:

  • Tamaño pequeño, esto es debido a que se requiere su descarga a través de la red. Aunque existen applets de gran tamaño.
  • Uso de interfaces gráficos, utiliza las clases AWT y Swing, las cuales dotan al interface del applet de una gran versatilidad y operabilidad para el usuario.
  • ...

Podríamos decir que es un componente, ya que va a ir incluido dentro de otras aplicaciones.

Creando un applet

Lo primer que hay que tener en cuenta es que la definición de los applet se encuentra dentro de la librería java.applet, la cual deberemos de importar para poder utilizarla. Además necesitaremos de la librería java.awt que es la que gestionará los recursos gráficos que se incluyan dentro del applet.

La librería java.applet cuenta con una clase abstracta Applet, de la que deberemos de heredar en la clase principal de nuestra aplicación.

import java.applet.*;
public class miApplet extends Applet {
  //variables y métodos
}

Ciclo de vida del applet

Un applet de java pasa por diversos estados:

  1. El applet se carga por primera vez, es decir, se inicializa. Esto sucede cuando el usuario entra en la página por primera vez.
  2. Seguidamente el applet empieza a funcionar.
  3. En el caso de que el usuario abandone la página, para desaplazarse a otra, lo que se hace es detener al applet, pero no descargarlo de memoria.
  4. Si el usuario recarga la página donde se encuentra el applet, este se descarga de memoria el applet actual y sus recursos asociados. Posteriormente se carga una nueva instancia del applet.
  5. Cuando se cierra el navegador o la aplicación que visualiza el applet, se detiene la ejecución y se libera el applet de memoria.

Cada uno de los estados lleva asociado un método:

public void init ( ) {}

Este método se llama cuando se inicializa el applet por primera vez. En este método es aconsejable fijar el tamaño (ancho y alto) del applet. Además se suelen instanciar los elementos que utilice el applet, ya sean botones, cajas de texto, imágenes,...

public void start ( ) {}

Es el método que arranca la ejecución del applet cada vez que se visita, siempre y cuando el applet esté expuesto a la visión del usuario.

public void stop ( ) {}

Para la ejecución del applet. Se ejecuta cuando el applet desaparece de la pantalla.

public void destroy ( ) {}

Destruye el applet cuando este ya no se vaya a utilizar. En este método deberemos de poner a null todas las variables que maneje el applet para que puedan ser descargadas de memoria por el Garbage Collector (GC), que es el encargado de liberar memoria dentro de la JVM (Java Virtual Machine).

Estos métodos al heredarlos no hacen nada, es por ello que deben de ser sobrecargados para dotarles de funcionalidad.

Otros métodos que utiliza el applet son:

public void paint (Graphics g) {}

Este método se ejecuta cada vez que el área de dibujo del applet es refrescada, ya sea porque es la primera vez que se visualiza el applet, porque el usuario ha movido el applet por la pantalla, porque se ha redimensionado el navegador,.... Inicialmente, el área de dibujo es un rectángulo gris.

public void update (Graphics g ) {}

Esta función es la que realmente se llama cuando se refresca el área de dibujo del applet. Lo que hace es limpiar el área de dibujo y llamar a paint. Si estamos realizando aplicaciones que trabajen con gráficos, veremos que esta función habrá que sobrecargarla para que la pantalla no parpadee.

public void repaint ( ) {}

Una llamada a este método fuerza a la actualización del applet, es decir, se llama a su método update.

Mi primer applet

En nuestro primer applet, lógicamente, deberemos de codificar la aplicación que nos muestre la cadena de texto "Hola Mundo". Veamos el código:

import java.awt.*;
import java.applet.*;
 
public class miApplet extends Applet {
  public void paint (Graphics g) {
    g.drawString("Hola Mundo",30,30);
  }
}

Código HTML de un applet

Para poder visualizar un applet dentro de una página web deberemos de introducir su código HTML correspondiente, este se referencia mediante la etiqueta .

Esta etiqueta cuenta con una serie de atributos:

  • code, indica el fichero .class que representa el applet.
  • height, indica el alto del área donde se representará el applet.
  • width, representa el ancho del área donde se representa el applet.

Veamos el código que cargaría el applet codificado anteriormente:

miApplet.html

  1. <applet code="miapplet.class" height=100 width=300></applet>

Utilizar el visor de applets (Appletviewer)

En vez de utilizar un navegador web, podemos visualizar el applet mediante una de las herramientas que se incorpora en el kit de desarrollo de Java SUN. Esta herramienta es el appletviewer. Esta herramienta se ejecutará en línea de comandos. Para poder ver nuestra aplicación deberemos de poner en línea de comandos:

C:\jdk1.4\bin\appletviewer miApplet.html

tags:, , , , , , , , , , , , , , ,

Creado con WordPress y basado en el theme Pool.
Entries and comments feeds. Valid XHTML and CSS. ^Top^
aulambra.com | Linea de Código | Manual Web | W3Api | Dudas de Programacion