Está en la página 1de 32

Tecnología de Información 2 - Luis Maguiña

MANUAL ISISSCRIPT PROFESIONAL

Internet
Red de Redes. Podemos afirmar que la unión de redes WAN si un centro fijo
constituye esta gran red.

Cuando Sir Tim Berners Lee creó Internet, tuvo en mente un sistema que
permitiera la comunicación entre las personas de manera más fácil. Una de las
herramientas existentes en Internet es el web, que junto con el correo
electrónico se han convertido en maneras muy populares de comunicarnos.

En ambos casos, existen programas (servidores) que atienden las peticiones de


otros programas llamados clientes que demandan una página web o la
recepción/envío de correos electrónicos.

Cuando una persona visita una página web, lo que hace es, a través del
navegador web, demandar al servidor web una página html. Este servidor web,
atiende la petición y envía la página que es visualizada por el usuario.

Existen, en el mercado, varios programas servidores web. Microsoft,


desarrolla y mantiene el Internet Information Server (IIS). La Fundación
Apache desarrolla el httpd (que es más conocido como Servidor Apache).

1
Tecnología de Información 2 - Luis Maguiña

Existen otros como xitami, tinyweb, etc

A lo largo del curso utilizaremos el servidor httpd, por ser software libre y
puede ser empleado con cualquier sistema operativo.

Estructura de carpetas de httpd


Cuando se instala el servidor web, usted podrá encontrar las siguientes
carpetas de suma importancia:

• htdocs
• cgi-bin
• conf

a).-La carpeta conf, tiene los archivos de configuración del servidor web

b).-La carpeta htdocs, tiene todas las páginas html que serán visualizadas por
el navegador web.

c).-Cgi-bin, aquí se guardan todos los ejecutables, archivos cgi, programas en


perl y en otros lenguajes que desarrollan una tarea.

¿Qué es una dirección IP?


Es un conjunto de números separados por puntos, que identifican a todos los
computadores que se conectan a Internet, a través de un proveedor de
servicios de Internet.

Cada uno de los servidores que tienen páginas web y que siempre están
conectados a internet, tiene un número IP. Como una forma de ayudar al ser
humano para que pueda navegar por los millones de páginas web, este número
IP se encuentra asociado a un Dominio. Así, cuando escribe en la barra de
direcciones de su navegador web http://www.aprendamosjuntos.info , en
realidad usted está haciendo una solicitud al computador que tiene el IP
67.210.123.75, esta asociación la realiza un programa que se llama SERVIDOR
DE NOMBRES.

2
Tecnología de Información 2 - Luis Maguiña

En Resumen:
El servidor web es necesario ya que este entrega las páginas web solicitadas
desde el navegador web. Si no está, simplemente no podrá publicar sus páginas
web.
Además necesitará tener un dominio, para que sus usuarios no tengan que
recordar un número IP (lo cual por cierto sería sumamente difícil).

Bases de Datos ISIS

Son bases de datos documentales, cuyas características principales son: gran


rapidez para recuperar textos, trabaja con operadores lógicos, tiene un
listado invertido que facilita la recuperación de textos.

Estructura de las Bases de Datos ISIS

Archivos de Datos *.mst (Archivo Maestro)


*.xrf (Archivo de Referencias
Cruzadas)
Listado Invertido *.l01, *n01, *.l02, *.n02, *.IFP,
*.CNT
Archivos de Definición *.FST, *.PAR

Existen diversas interfaces para operar con bases de datos ISIS como:
microisis, winisis, cisis, xisis, wwwisis.

A lo largo del curso, trabajaremos con wwwisis utilizando el lenguaje


IsisScript.
Primero veamos cómo instalar el wwwisis en los computadores.

Puede descargar el programa desde http://www.bireme.org , lo descomprime


con el winzip o con 7-zip, y el archivo ejecutable wxis.exe copiarlo a la carpeta
cgi-bin del servidor web.

Para ver si el motor wwwisis está funcionando correctamente, escribir en la

3
Tecnología de Información 2 - Luis Maguiña

barra de direcciones de su navegador web lo siguiente: http://localhost/cgi-


bin/wxis.exe?hello

Como respuesta visualizará algo similar a esto:

Esto significa que su wwwisis está correctamente instalado.

El wwwisis funciona en un entorno web, entonces nuestros elementos


indispensables para crear aplicaciones son:

- Página web
- Base de Datos ISIS
- wwwisis
- Archivos IsisScript

Las páginas web, se pueden crear utilizando un programa como dreamweaver,


kompozer, Amaya, etc. A continuación, veremos el lenguaje html y las hojas de
estilo.

4
Tecnología de Información 2 - Luis Maguiña

Lenguaje XHTML (XML HyperText MarkUp Language)

Este lenguaje sirve para escribir páginas web. Existen diversas herramientas
de autoría web, que nos facilitan la publicación de un sitio web sin necesidad
de conocer el lenguaje. Sin embargo, para controlar todos los aspectos web lo
mejor es conocer el xhtml.
HTML y XHTML sin bien son parecidos, tenemos que estar conscientes de sus
diferencias. Mientras HTML desciende directamente de SGML el XHTML
nació de XML, es decir un documento XHTML debe seguir las reglas del XML.

Reglas para escribir documentos XML i :

• Las marcas tienen un inicio y un fin


• Orden de anidamiento de marcas (orden en el que se abren y cierras las
• marcas)
• Los nombres de las marcas se escriben en minúsculas
• Los valores de las marcas deben ir entre dobe comilla
• Los atributos no se pueden simplificar

Como su nombre lo indica, y según hemos visto en las reglas, este lenguaje
utilizar “marcas” (tag), estas marcas se escriben en par : marca de inicio y
marca de fin

Ejemplo:
<p> texto de varias lineas </p>
<table> .......</table>
<div> ...... </div>

Notamos que para cerrar la marca antecedemos un slash ( / ) al nombre de la


marca. Sin embargo, existen excepciones a esta regla. Tenemos algunas
marcas conocidas como “vacías”, significa que en sí mismas tienen el inicio y
cierre de la marca.

Ejemplos:

5
Tecnología de Información 2 - Luis Maguiña

<img src=”edificio.jpg” />


<input type=”text” name=”nombres” value=”” />

Elementos Básicos de XHTML

* la marca <p> .......</p>, formatea párrafos


* tiene los atributos <p align="justify | center | left | rigth">......</p>
* <em> ......</em>, da énfasis a una porción de texto
* <strong> ... </strong>, mayor énfasis. El texto se presenta en negrita
* <cite> ......</cite>, usado para citar un texto
*

Niveles de encabezamiento

Se puede establecer hasta seis niveles de encabezamiento usando las


etiquetas

1. <h1> ......... </h1>


2. <h2> ......... </h2>
3. <h3> ......... </h3>
4. <h4> ......... </h4>
5. <h5> ......... </h5>
6. <h6> ......... </h6>

En el nivel h1 las letras tienen un tamaño grande, luego van decreciendo


conforme aumenta el número del nivel.

Otras marcas

* <blockquote> ....</blockquote> usado para citar textos medianos o grandes


* <cite> ......</cite>, usado para citar textos pequeños (cita en línea)
* <a href="url" title="titulo descriptivo">Texto del enlace</a>
* Listas ordenadas, desordenadas y de definición
* <ol>
<li>Texto</li
<li>Texto dos</li>

6
Tecnología de Información 2 - Luis Maguiña

</ol>

* <ul>
<li>Texto</li
<li>Texto dos</li>
</ul>

Lista de Definición
• <dl>
• <dt>RAM</dt>
• <dd>Random Access Memory</dd>
• </dl>

Imágenes y Tablas

<img src="ruta_a_imagen" alt="descriptivo" width="pixeles"


height="pixeles" />

Elementos de la tabla
• <table border="numero">, define una tabla
• <caption>, damos un titulo a la tabla
• <tr>, crea una fila
• <td>, crea una celda de datos
• </table>, cierra la tabla.
• <th> se usa para escribir encabezados de tabla

Formularios
Son elementos que sirven para ingresar información que luego será enviada a
la pantalla, a un archivo de texto o a una base de datos.
Estos formularios, constan de varios elementos de distinto tipo: cajas de
texto, listas desplegables, cajas de chequeo, radio botones, listas de
selección múltiple, botones de envío y de borrado.

La marca que indica el inicio de un formulario es <form> ....</form>. Tiene un


elemento action, donde indicamos el nombre del archivo ejecutable que
procesará la información envada a través del formulario. Finalmente se debe
indicar el método que se empleará para el envío de los datos.

7
Tecnología de Información 2 - Luis Maguiña

Ejemplo:
<form action="http://localhost/cgi-bin/wxis.exe” method="post">

Nota importante
Existen dos métodos para enviar la información POST y GET. La diferencia
fundamental ii
es que en el método GET, la información es enviada
utilizando el URL, el que tiene una limitación de 256 caracteres. La
especificación técnica dice que el método GET se debe usar cuando
realicemos alguna operación de recuperación de información (vgr. búsqueda
en opac), y se emplea el método POST cuando se deba realizar alguna
operación de grabación o actualización de información o cuando se realice
alguna compra por web o cuando se envíe algún correo electrónico.

A continuación veremos la sintaxis de cada elemento del formulario:

Cajas de texto
<input type="text" name="codigobarras" value="" />

Permite al usuario ingresar un texto.

Este elemento de formulario admite también otros parámetros como:


• size, indica el tamaño de la caja de texto.
• Maxlength,

Consejo: Cuando se trabaja con formularios es recomendable indicar un


máximo número de caracteres, de esta manera evitamos que algún hacker
tenga espacio para incluir código maligno.

Cada elemento del formulario debe tener asociado un nombre, para ello se
utiliza la etiqueta <label>

Ejemplo:
<label for="codigobarras">Código de Barras</label>
<input type="text" name="codigobarras" value="" />

8
Tecnología de Información 2 - Luis Maguiña

Listas Desplegables

<label for="opciones">Nivel de Educación</label> Seleccione una opcion <select


name="opciones">
<option value="1">Primaria</option>
<option value="2">Secundaria</option>
<option value="3">Superior</option>
</select>

Permite seleccionar un valor de una lista.

Radio Botón
<form action="http://localhost/cgi-bin/wxis.exe" method="post">
<label for="sexo">masculino</label> <input type="radio" name="sexo"
value="hombre" />
<label for="sexo">femenino</label> <input type="radio" name="sexo"
value="mujer" />
<input type="submit" name="enviar" value="Aceptar" />
</form>

Nota importante: observe que en este elemento del formulario cada una
de las opciones tiene el mismo nombre, esto es así para conseguir que las
opciones sean excluyentes.

Se puede elegir una de las opciones para que aparezca seleccionada de


manera predeterminada.

Ejemplo:
<form action="http://localhost/cgi-bin/wxis.exe" method="post">
<label for="sexo">masculino</label> <input type="radio" name="sexo"

9
Tecnología de Información 2 - Luis Maguiña

value="hombre" />
<label for="sexo">femenino</label> <input type="radio" name="sexo" value="mujer"
checked="checked" />
<input type="submit" name="enviar" value="Aceptar" />
</form>

Listas de Selección Múltiple


Permite elegir varias opciones, presionando la tecla CTRL.

<select name="programacion" multiple="multiple" size="4">


<option value="1">Lenguaje C</option>
<option value="2">Perl</option>
<option value="3">C++</option>
<option value="4">Java</option>
<option value="4">Smalltalk</option>
</select>

Check Box (casillas de verificación)


A diferencia de los radio botones, las opciones de las casillas de verificación
no son excluyentes entre sí, por lo que se utiliza con frecuencia para poder
elegir varias opciones al mismo tiempo.
Eso significa que cada línea de input es enviada al servidor en un par (nombre
= valor)

Elija sus hobbies:<br />


<input type="checkbox" name="hobbieuno" value="lectura" />Leer<br />
<input type="checkbox" name="hobbiedos" value="correr" />Footing<br />
<input type="checkbox" name="hobbietres" value="cine" />Ir al cine<br />

10
Tecnología de Información 2 - Luis Maguiña

Areas de Texto
Da la oportunidad de ingresar grandes cantidades de texto. Se utiliza para
ingresar resúmenes.

<textarea name="resumen" value="" cols="60" rows="20"></textarea>

Texto tipo Password


Sirve para escribir passwords (claves secretas), cuando el usuario escribe
solo se ven asteriscos.

<input type="password" name="clave" value="" />

Texto Oculto
Podemos utilizar este elemento del formulario para enviar datos sin que el
usuario los ingrese.

11
Tecnología de Información 2 - Luis Maguiña

Estos valores no serán vistos por el usuario.

<input type="hidden" name="categoria" value="" />

Personalización de Botones
Se puede incluir imágenes como botones de envío. De esta manera se puede
mejorar el aspecto de los botones en los formularios.

Ejemplo:
<td><input type="image" name="enviar" src="ir.jpg" alt="Buscar" /></td>

Todas las etiquetas se pueden agrupar utilizando <fieldset>, en este elemento


de formulario se agrega la etiqueta <legend> para dar un título al grupo de
elementos que se encuentran bajo <fieldset>

Ejemplo:

<h3>Formulario de Inscripción</h3>
<form action="http://localhost/cgi-bin/wxis.exe" method="post">

<fieldset>
<legend>Estudios</legend>
<label>Educación</label>
<select name="educacion">
<option value="Egresado">Egresado</option>
<option value="Bachiller">Bachiller</option>
<option value="Licenciado">Licenciado</option>
<option value="Magister">Magister</option>
<option value="Doctor">Doctor</option>
</select>
<br /><br />
<label>Centro de Estudios</label>
<input type="text" name="universidad" value="" size="60" maxlength="50" />

12
Tecnología de Información 2 - Luis Maguiña

</fieldset>
<br />
<fieldset>
<legend>Experiencia Laboral</legend>
<label for="primero">Primer trabajo</label><input type="text" name="primero"
value="" />
<br /><br />
<label for="ultimo">Ultimo trabajo</label><input type="text" name="ultimo"
value="" />
</fieldset>
</form>

Divisiones y Maquetado de Páginas Web


Antiguamente, los diseñadores de páginas web utilizaban TABLAS para
organizar los elementos de una página web. Era muy común, ver tablas
anidadas que contenían textos, imágenes, etc

Hoy gracias, a que el xhtml ha separado el contenido del diseño, es fácil


ordenar los elementos de cualquier página web, utilizando <div> que luego serán
ubicados en los lugares que indiquemos mediante las hojas de estilo (CSS)

Ejercicio:
Elabore una página web con un formulario para búsqueda.

Cuando se escribe xhtml, veremos una página web simple, sencilla. Algunos
dirán se ve “feo”. Pero, por suerte CSS se encargará de adornar y darle el
toque “bonito” a esa página web “fea”.

Hojas de Estilo (CSS)


Cascade Style Sheet proporciona independencia entre contenido y diseño.
Hoy, una página html es la suma de etiquetas con texto plano. El resultado es
visualmente poco agradable, pero se puede identificar claramente el contenido
del documento, el mantenimiento resulta más fácil que cuando se tenía a la
vista el contenido mezclado con marcas y atributos que indicaban posiciones,
colores, tamaños, etc

Cuando se tiene una hoja de estilos, enlazada a todas nuestras páginas web,

13
Tecnología de Información 2 - Luis Maguiña

entonces se puede cambiar colores, tipo de letra de todo el sitio web en


cuestión de minutos.

¿Cómo enlazamos nuestra hoja de estilos con nuestra página html?


Insertamos la línea <link rel .... /> en el <head> de nuestra página web

Ejemplo:
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>datos</title>
<meta name="generator" content="Amaya, see http://www.w3.org/Amaya/" />
<link rel="stylesheet" type="text/css" href="personal.css" />
</head>

Sintaxis CSS

selector {
atributo : valor;
atributo : valor;
}

Ejemplos:

h1 {
font-family: Verdana;
color: red;
}

h2 {
color: red;
font-family: Verdana;
}

14
Tecnología de Información 2 - Luis Maguiña

También puede ser:

h1, h2 {
font-family: Verdana;
color: red;
}

De esta manera otorgamos atributos a las marcas h1 y h2 con un solo conjunto


de órdenes.

Ejemplo 2:

p strong {
color: navy;
}

Esto indica que se pintará de color “navy” todas las etiquetas strong que se
encuentren entre el <p> y </p>

<p>
Las <strong>Naciones Unidas</strong> obligaron a los países .....
</p>

Clases CSS
Se define una clase antecediendo un punto al nombre de la clase. Se puede
aplicar a cualquier etiqueta del html.

.importante {
font-family: Arial;
font-size: 1.5 em;
font-weight: bold;
color: blue;
}

En el html indicaríamos así:


<p class=”importante”> El Perú es Libre e Independiente por la Voluntad

15
Tecnología de Información 2 - Luis Maguiña

General de los Pueblos.</p>

El texto asumirá las características señaladas en la clase “importante”. Pero,


como hemos dicho, el atributo de clase se puede especificar en cualquier
etiqueta html, y qué sucede si hay más etiquetas que asumen la clase
“importante” y se quiere dar características especiales solo a los párrafos que
tengan la clase “importante”?

Tendría que escribirse algo así:

p.importante {
color: red;
font-family: Verdana;
}

Para aplicar características a solo UN elemento de una página web se debe


emplear el selector ID

#importante {
color: red;
}

<p>texto .....</p>
<p id="importante">GNU/Linux es un sistema operativo</p>
<p>otro texto ... </p>

Ejemplo Completo CSS

body {
overflow: auto;
}

#contenedor {
border: 1px solid #000057;
margin: 0 auto;

16
Tecnología de Información 2 - Luis Maguiña

width: 800px;
height: 518px;
}

p{
font-family: Arial;
color: #000000;
font-size: 0.9em;
text-align: justify;
}

#imagenes {
position: relative;
left: 2px;
}

div#contactenos p > strong {


color: #336609;
}

#header {
border: 0px solid #EFF5FB;
padding-top: 4px;
padding-bottom: 1px;
margin-bottom: 1px;
background: #ffffff none repeat scroll 0% 50%;
width: 320px;
height: 20px;
font-family: Verdana;
text-align: center;
font-size: 13px;
font-weight: bold;
color: #000000;
}

#header p {

17
Tecnología de Información 2 - Luis Maguiña

font-family: Verdana;
color: #000000;
font-size: 13px;
text-align: left;
}

#expo_texto {
clear: both;
}

#item {
border: 1px solid #d8d8d8;
background-color: #f2f2f2;
margin-top: 10px;
width: 158px;
}

.redondo {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
-moz-box-shadow: 2px 2px 10px #000000;
}

Nuestro Formulario para Opac

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"


"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>opac.html</title>
</head>
<body>

18
Tecnología de Información 2 - Luis Maguiña

<h2 style="text-align: left;">Catálogo En Línea</h2>


<form target="_self" method="post"
action="http://localhost/cgi-bin/wxis.exe" name="opac">Ingrese
su término de Búsqueda<input name="IsisScript"
value="aj/recupera.xis" type="hidden"> <input
maxlength="40" size="40" name="terminos"> <input
name="enviar" value="Buscar" type="submit"></form>
</body>
</html>

ISISSCRIPT

Es un lenguaje de marcado, parecido al xhtml, que sirve para realizar diversas


tareas con las bases de datos ISIS.
El programa que lee los archivos ISISSCRIPT y que implementa las tareas es
el wwwisis (descargar de la página web de Bireme http://www.bireme.org ).
Actualmente se encuentra en la versión 7.1, funciona tanto en los sistemas
operativos windows como en GNU/Linux.
Nota Importante: Una vez descargado, descomprimir en la carpeta “cgi-bin”
del servidor web.
Los archivos ISISSCRIPT, por convención les colocaremos la extensión .xis,
se pueden escribir en un editor de textos (block de notas, notepad++, gedit,
kedit etc)
Todo documento ISISSCRIPT inicia con la marca <IsisScript>, indica que
vamos a escribir un archivo que contiene lenguaje e instrucciones
ISISSCRIPT. Como en xhtml, las marcas tienen un inicio y un fin. Por lo
tanto :

<IsisScript>

</IsisScript>

Esta marca tiene un atributo “name” que sirve para documentar el archivo.
Ejemplo:

<IsisScript name=”Primer Script”>

19
Tecnología de Información 2 - Luis Maguiña

</IsisScript>

Esta marca puede contener cualquiera de estas otras marcas :


<function>, <section>, <trace>

Estudiemos la marca <section>. Esta marca indica que se inician


instrucciones para operar con bases de datos ISIS. Al igual que ISISSCRIPT,
también admite el atributo “name”.
Esta marca puede contener cualquiera de estas otras marcas :
<call> <cgitable> <define> <display> <do> <export> <extract> <field> <file> <flow>
<hl> <label> <list> <parm> <proc> <trace>
Pero <section> solo puede ser usado en <IsisScript>

Entonces nuestro primer script puede ir quedando así.


<IsisScript name=”Primer Script”>
<section name=”inicio”>

</section>
</IsisScript>

En programación, el primer ejemplo que se estudia cuando se aprende algún


lenguaje nuevo es el ya famoso 'hola mundo'. Nosotros no seremos la
excepción. Por lo que construyendo nuestro primer script, haremos que nos
muestre el mensaje 'Hola mundo'.

Para mostrar textos en la salida estándar (pantalla) utilizaremos la etiqueta


<display>, que como vemos líneas arriba sí se puede emplear en <section>. La
etiqueta <display>, permite presentar textos planos o como salidas de
instrucciones en lenguaje de formateo. Por lo que esta etiqueta permite
emplear las marcas <htmlpft> <pft>

Nota Importante : Nuestra aplicación se verá en un navegador web por lo que


es necesario informar la cabecera 'content-type:text/html'.

20
Tecnología de Información 2 - Luis Maguiña

Imprescindible: la cabecera debe ser seguida de una línea en blanco,


según lo especifica el rfc del protocolo http.

Continuando con nuestro primer script

<IsisScript name="Primer Script">


<section name="inicio">
<display><pft>'Content-type:text/html',## </pft></display>
<display><pft>'Hola Mundo'</pft></display>
</section>
</IsisScript>

Tareas en IsisScript
Se pueden desarrollar tareas como: búsquedas, actualización de información,
eliminación de registros, importación – exportación

Tarea de Búsqueda
Empezaremos construyendo nuestro script para recuperar información de una
base de datos ISIS existente.

Modificaremos nuestro primer script


Como ya hemos visto, el usuario ingresará los términos de búsqueda en el
formulario xhtml y esta información será capturada por el wwwisis que luego
realizará la consulta a la base de datos de acuerdo a lo especificado en
nuestro archivo IsisScript.
Por lo que será IMPORTANTE recuperar dicha información. Para ello
IsisScript cuenta con la marca <field>, con ella se puede adicionar, eliminar,
modificar, importar y exportar campos.
Los comentarios en IsisScript se escriben :
<!-- este es un comentario -->, son importantes para documentar el Script y
recordar todas las tareas que realiza.

<IsisScript name="Primer Script">

21
Tecnología de Información 2 - Luis Maguiña

<section name="inicio">

<!-- Esta es la cabecera para que el servidor devuelva html -->


<display><pft>'Content-type:text/html',## </pft></display>
<!-- fin de cabecera -->

<!-- se recuperan los terminos ingresados por el usuario -->


<field action="cgi" tag="9000">terminos</field>
<!-- fin de la recuperación -->

<do task="search">
<parm name="db">bases/sdoc/sdoc</parm>
<parm name="expression"><pft>v9000</pft></parm>
<loop>
<display><pft>mfn,'<br />'</pft></display>
</loop>
</do>
</section>
</IsisScript>

Explicación del IsisScript.


El atributo action, informa el tipo de acción que va a desarrollar la marca
<field>. El atributo tag, indica el número del campo que guardará los términos
enviados desde el formulario. En el ejemplo anterior, el campo 9000
almacenará el dato enviado por el usuario desde el opac.
La marca <do> indica el tipo de tarea que desarrollará wwwisis, en este caso
iniciamos con la tarea search (búsqueda). Para que el wwwisis pueda realizar
una operación de búsqueda necesita como mínimo contar con la siguiente
información:
nombre y ubicación de la base de datos
expresión de búsqueda

Esta información es pasada al wwwisis utilizando la marca <parm>, el atributo


name de esta marca informa sobre el tipo de información que se está
indicando. En nuestro ejemplo se dice que la base de datos se llama sdoc y la
expresión de búsqueda es el contenido del campo 9000.

22
Tecnología de Información 2 - Luis Maguiña

La marca <loop> ejecuta las instrucciones especificadas para cada registro


recuperado.

Este script, solo funciona si ingresamos un término de búsqueda. Veamos las


modificaciones para permitir que el usuario pueda escribir la cantidad de
términos que él quiera.

<IsisScript name="Primer Script">


<section name="inicio">

<!-- Esta es la cabecera para que el servidor devuelva html -->


<display><pft>'Content-type:text/html',## </pft></display>
<!-- fin de cabecera -->

<!-- se recuperan los terminos ingresados por el usuario -->


<field action="cgi" tag="9000">terminos</field>

<!--convirtiendo al campo 9000 en repetible y guardandolo en 9001-->


<field action="replace" tag="9001" split="occ"><pft>replace(v9000,'
',s(#))</pft></field>

<!-- fin de la recuperación -->

<do task="search">
<parm name="db">bases/sdoc/sdoc</parm>
<parm name="expression"><pft>v9001+|*|</pft></parm>
<loop>
<display><pft>'Autor: ',v10+|; |,'<br />','Titulo: ',v12,'<br /><br
/>'</pft></display>
</loop>
</do>
</section>
</IsisScript>

Uso de cgitable
Es una forma más rápida de recibir los datos desde el formulario web. Se

23
Tecnología de Información 2 - Luis Maguiña

puede usar la etiqueta <pft> que nos permite insertar instrucciones en


lenguaje de formateo si fuese necesario.
En el siguiente ejemplo, guardamos el contenido del elemento “terminos” del
formulario en el campo 9000.

<cgitable>
<pft>'9000 terminos'</pft>
</cgitable>

Uso de CIPAR
informa sobre las rutas de los archivos de bases de datos. Para ello
empleamos la etiqueta <parm> de la siguiente manera:

<parm name="cipar">
<pft>
'sdoc.*=bases/sdoc/sdoc.*'/
</pft>
</parm>

La ventaj a de usar el parámetro cipar es que si en algún momento decidimos


modificar la ubicación de la base de datos, solo bastaría con cambiar la
información del cipar para que nuestros scripts funcionen correctamente.

Tarea mfnrange
Trabaja con un rango de registros de la base de datos. El usuario puede
solicitar al sistema recuperar un conjunto de registros.
La información que se debe suministrar para que se realice la tarea :
<parm name=db>
<parm name=from>
<parm name=to> | <parm name=count>

Ejemplo:

24
Tecnología de Información 2 - Luis Maguiña

<IsisScript name="rango">
<section name="rango">
<display><pft>'Content-type:text/html',##</pft></display>
<!-- <trace>On</trace> -->
<!-- definiendo las rutas de las bases de datos -->
<parm name="cipar">
<pft>
'sdoc.*=bases/sdoc/sdoc.*'/
</pft>
</parm>

<cgitable>
<pft>
'9000 desde'/
'9001 hasta'/
</pft>
</cgitable>

<do task="mfnrange">
<parm name="db">sdoc</parm>
<parm name="from"><pft>v9000</pft></parm>
<parm name="to"><pft>v9001</pft></parm>
<loop>
<display><pft>mfn(4),'<br />','Autor: ',v10+|; |,'<br />','Titulo: ',v12,'<br
/><br />'</pft></display>
</loop>
</do>

</section>
</IsisScript>

En el ejemplo anterior, se ha introducido la etiqueta <trace>, esta sirve para


realizar un seguimiento de las tareas del script ante cualquier resultado
inesperado. En la práctica es como un depurador de código. El desarrollador se
dará cuenta dónde está el problema, en caso el script no funcione de acuerdo

25
Tecnología de Información 2 - Luis Maguiña

a lo esperado.

Tarea keyrange
Recupera información de la base de datos a partir de los términos del listado
invertido. En su estructura es muy similar a la tarea mfnrange, pues se tiene
que pasar al wwwisis los mismos parámetros.

Ejemplo:
<IsisScript name="rango">
<section name="rango">
<display><pft>'Content-type:text/html',##</pft></display>
<!-- <trace>On</trace> -->
<!-- definiendo las rutas de las bases de datos -->
<parm name="cipar">
<pft>
'sdoc.*=bases/sdoc/sdoc.*'/
</pft>
</parm>

<cgitable>
<pft>
'9000 clave'/
</pft>
</cgitable>

<do task="keyrange">
<parm name="db">sdoc</parm>
<parm name="from"><pft>v9000</pft></parm>
<parm name="count">30</parm>
<field action="define" tag="1001">Isis_Current</field>
<field action="define" tag="1">Isis_Key</field>
<field action="define" tag="2">Isis_Postings</field>

<display><pft>
'<form action=http://localhost/cgi-bin/wxis.exe method=get>'/
'<input type=hidden name=IsisScript value=aj/recupera.xis />'/
'<select name=terminos size=10>'

26
Tecnología de Información 2 - Luis Maguiña

</pft></display>

<loop>
<display><pft>
'<option value='v1'>'v1'</option>'
</pft></display>
</loop>
<display><pft>
'</select><input type=submit name=enviar value=Recuperar></form>'
</pft></display>
</do>
</section>
</IsisScript>

27
Tecnología de Información 2 - Luis Maguiña

Concepto Nuevo : Zona de Variables y Variables de Ambiente

Zona loop. En esta zona del script se trabaja con los campos de las bases de
datos. No se tiene acceso a los campos de la base virtual. Para poder tener
acceso a estos campos debemos importarlos. Todo lo que esté fuera del loop,
trabaja con los campos del registro virtual.

Cuando se realiza alguna operación con el wxis, se generan variables de


entorno (también llamadas de ambiente). Las más importantes son:

• Isis_Current, indica el registro actual de procesamiento en un loop.

• Isis_Total, el número de registros recuperados

• Isis_Status, indica el exito o fracaso de alguna tarea. Si el resultado


es cero, entonces la operación se desarrolló con éxito, en cualquier otro
caso hubo un error.

Estas variables de Entorno, se definen utilizando <field action=define>

Tarea Fullinvertion
Genera el listado invertido de una base de datos, conociendo la FST.

Parámetros :
Nombre de la base de datos
Nombre de la FST (Field Selection Table)

Importante: cuando se haga referencia a la FST, hay que llamarla usando el


comando CAT.

Ejemplo:
<IsisScript name="invierte">
<section name="invierte">
<display><pft>'Content-type:text/html',##</pft></display>

28
Tecnología de Información 2 - Luis Maguiña

<!-- <trace>Table</trace> -->


<!-- definiendo las rutas de las bases de datos -->
<parm name="cipar">
<pft>
'sdoc.*=bases/sdoc/sdoc.*'/
</pft>
</parm>

<cgitable>
<pft>
'9001 base'/
'9002 fichero'/
</pft>
</cgitable>

<display><pft>v9001,'<br />',v9002</pft></display>

<do task="fullinvertion">
<parm name="db"><pft>v9001</pft></parm>
<parm name="fst"><pft>cat(v9002)</pft></parm>
<field action="define" tag="1102">Isis_Status</field>
<loop></loop>
<display><pft>'Archivo Invertido Generado'</pft></display>
</do>

</section>
</IsisScript>

Tarea Update
Mediante esta tarea se graba información en la base de datos ISIS o se actualizan
sus registros.
Los parámetros que admite esta tarea son:
<parm name=”db”>nombre de base de datos</parm>
<parm name=”mfn”>NEW</parm>
<parm name=”fst”>nombre de fst</parm>

El parámetro mfn debe llevar la palabra NEW cuando se trate de crear un nuevo
registro

29
Tecnología de Información 2 - Luis Maguiña

Funciones
Deben ser declaradas entre <IsisScript> y <section>

Ejemplo:

<IsisScript>
<function ...>

</function>

<section>
....
</section>
</IsisScript>

Al igual que <loop> crea una zona de trabajo especial, donde se necesita importar las
variables que no son de “registro”, igualmente también <function> crea una zona
especial de trabajo.

Ejemplo

<IsisScript name="sistemabusqueda">

<function name="cabecera">
<display><pft>'Content-type:text/html'##</pft></display>
</function>

<function name="buscar">
<parm name="cipar">
<pft>
'sub.*=bases/sub/sub.*'/
'gizmo.*=bases/gizmo/gizmo.*'/
'noti.*=bases/noticia/noti.*'/
</pft>
</parm>

<cgitable>
<pft>'9005 termino'</pft>
</cgitable>
<do task=”search”>

30
Tecnología de Información 2 - Luis Maguiña

(.....)
</do>
</function>

<function>
<display><pft>'Modulo de edicion de datos'</pft></display>
</function>

<section>
<call name="cabecera">now</call>
<cgitable>
<pft>'9050 accion'/</pft>
</cgitable>
<flow action="jump">
<pft>if v9050='buscar' then 'BUSCAR' else if v9050='editar' then 'EDITAR' fi
fi</pft>
</flow>

<label>BUSCAR</label>
<call name="buscar">now</pft></call>

<label>EDITAR</label>
<call name="editar">now</pft></call>

</section>
</IsisScript>

31
i Javier Eguiluz Pérez (2008). Introducción xhtml.
ii http://www.cs.tut.fi/~jkorpela/forms/methods.html fecha de último acceso: lunes 16 de marzo de 2009

También podría gustarte