<?xml version="1.0" encoding="ISO-8859-1"?>
<equipo id="Atenas C.F.">
<entrenador>Pericles</entrenador>
<lista_jugadores>
<jugador posicion="portero">Socrates</jugador>
<jugador posicion="defensa">Empedocles</jugador>
<jugador posicion="defensa">Diogenes</jugador>
<jugador posicion="centro">Aristofanes</jugador>
<jugador posicion="mediapunta">Aristoteles</jugador>
<jugador posicion="delantero">Pitagoras</jugador>
<jugador posicion="delantero">Platon</jugador>
</lista_jugadores>
</equipo>
lunes, 23 de marzo de 2009
Bloque T2.2.1
jueves, 19 de marzo de 2009
Practica 2
El ejemplo funcionando lo podéis encontrar aqui.
// Definición de la clase noticia
function noticia(title, descrip, fech, enlac){
this.titulo=title;
this.descripcion=descrip;
this.fecha=fech;
this.enlace=enlac;
this.setNoticia=setNoticia;
this.toString=toString;
}
//Establece una noticia nueva.
function setNoticia(tit, desc, fec, enl){
this.titulo = tit;
this.descripcion = desc;
this.fecha = fec;
this.enlace = enl;
}
//Muestra el contenido de la noticia en HTML
function toString() {
return "<h1>" + this.titulo.toString() + "</h1><h5>"+ this.fecha +"</h5><h4>"+ this.descripcion +"</h4><p><a href='"+this.enlace+"' target='_blank'>Leer mas</a><br><br>";
}
/**Script importado desde http://www.jr.pl/www.quirksmode.org/dom/importxml.html*/
function importXML(){
//Si el navegador dispone de la estructura de Mozilla,
if (document.implementation && document.implementation.createDocument){
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.onload = mostrarNoticias;
}
//Si estamos en internet Explorer.
else if (window.ActiveXObject){
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.onreadystatechange = function () {
if (xmlDoc.readyState == 4) mostrarNoticias()
};
}
else{
alert('Your browser can\'t handle this script');
return;
}
xmlDoc.load("rssfeed.xml");
}
//Esta función carga todas las noticias desde el
function mostrarNoticias(){
var oyetu=new noticia("prueba", "perfect", "13", "http://www.animaadversa.es");
//Extraemos los objetos items.
var items = xmlDoc.getElementsByTagName('item');
//Creamos el componente de lista desordenada
var ul = document.createElement('UL');
//Y hacemos la conversión a HTML
for(var i=0; i<items.length;i++){
//Los textos que vamos a incluir, dentro de la lista
var container = document.createElement('LI');
var array=new Array();//un array con 0.- titulo, 1.- desc, 3.- link, 4.- fecha
for (var j=0; j<items[i].childNodes.length/2-1; j++){
array[j] = items[i].childNodes[2*j+1].firstChild.textContent;
}
oyetu.setNoticia(array[0]+" ", array[1]+" ", array[4]+" ", array[3]+" ");
var htmlamostrar =oyetu.toString();
container.innerHTML=(htmlamostrar);
ul.appendChild(container);
}
document.getElementById("sections").appendChild(ul);
iniciarjQuery();
}
//Funcion para iniciar el plugin de jQuery SerialScroll, de ARiel Flesler
function iniciarjQuery(){
$('#screen').serialScroll({
target:'#sections',
items:'li',
prev:'img.prev',
next:'img.next',
axis:'xy',
navigation:'#navigation li a',
duration:700,
force:true,
onBefore:function( e, elem, $pane, $items, pos ){
e.preventDefault();if( this.blur )this.blur();
},
onAfter:function( elem ){}});
}
Bloque T1.8 Ejercicio 1
// ==UserScript==
// @name AAP-Nav-Pachus
// @namespace http://geneura.org/projects/greasemonkey
// @description Navegación por las secciones de AAP
// @include http://geneura.ugr.es/~jmerelo/asignaturas/*
// ==/UserScript==
GM_log('Entrando AAP-Nav');
var ejercicios = document.getElementsByTagName('div');
GM_log(ejercicios);
var a_nodes = new Array;
var anchors = new Array;
var contador =0;
for ( var secs = 0; secs < ejercicios.length; secs ++ ) {
if(ejercicios[secs].getAttribute('class')=='ejercicios'){
a_nodes[contador] = ejercicios[secs].firstChild;
anchors[contador] = ejercicios[secs].getAttribute('id');
GM_log('Anchor ' + secs + " " + anchors[contador]);
contador++;
}
}
for ( var secs = 0; secs < ejercicios.length; secs ++ ) {
var span = document.createElement('span');
span.setAttribute('style','background:lightblue');
if ( secs > 0 ) {
var ahref = document.createElement('a');
ahref.setAttribute('href','#'+anchors[secs-1]);
var txt=document.createTextNode('^');
ahref.appendChild(txt);
span.appendChild(ahref);
}
if ( secs < ejercicios.length -1 ) {
span.appendChild(document.createTextNode(' | '));
var ahref = document.createElement('a');
ahref.setAttribute('href','#'+anchors[secs+1]);
var txt=document.createTextNode('v');
ahref.appendChild(txt);
span.appendChild(ahref);
}
a_nodes[secs].parentNode.insertBefore(span,a_nodes[secs]);
}
domingo, 15 de marzo de 2009
Bloque T1.7 Ejercicio 1
function mostrarTitulos(){
var titulos=new Array();
titulos=document.getElementsByTagName('h2');
var ejs="";
for (i in titulos){
ejs = (ejs+"Apartado "+ i +": "+titulos[i].innerHTML+"<br>");
}
document.getElementById("resumen").innerHTML=ejs;
}
viernes, 13 de marzo de 2009
Bloque T1.4. Ejercicio 1
Esta es mi resolución de el ejercicio, que contabiliza el número de partidos ganados, empatados y perdidos.
#!/usr/bin/smjs
load('Partido.js');
var equipos= new Array('Madrid', 'Barça', 'Atleti', 'Geta', 'Betis', 'Depor', 'Sevilla', 'Graná');
function jornada( estosEquipos ) {
var equiposAqui = new Array;
equiposAqui = equiposAqui.concat(estosEquipos);
var midsize = equiposAqui.length/2;
var quiniela = new Array( midsize );
var unox2 = new Array( '1','x','2');
for ( var i=0; i < midsize ; i++ ) {
var equipo1 = equiposAqui.splice(Math.floor( equiposAqui.length*Math.random()) , 1);
var equipo2 = equiposAqui.splice(Math.floor( equiposAqui.length*Math.random()), 1);
quiniela[i] = new Partido( equipo1, equipo2 );
quiniela[i].setResultado( unox2[Math.floor( 3*Math.random()) ]);
}
return quiniela;
}
var quinielas = new Array;
for ( var i = 0; i < 10; i ++ ) {
quinielas[i] = jornada( equipos );
}
var resultados= new Array;
var ganados = new Array;
var empatados = new Array;
var perdidos = new Array;
for ( var i in equipos ) {
resultados[equipos[i]]=0;
ganados[equipos[i]]=0;
empatados[equipos[i]]=0;
perdidos[equipos[i]]=0;
}
for ( var i = 0; i < quinielas.length; i ++ ) {
for ( var j = 0;j < quinielas[i].length; j ++ ) {
var local = quinielas[i][j].local;
var visitante = quinielas[i][j].visitante;
var resultado = quinielas[i][j].resultado;
switch(resultado){
case '1':
resultados[local]+=3;
ganados[local]+=1;
perdidos[visitante]+=1;
break;
case 'x':
resultados[local]+=1;
resultados[visitante]+=1;
empatados[local]+=1;
empatados[visitante]+=1;
break;
case '2':
resultados[visitante]+=3;
ganados[visitante]+=1;
perdidos[local]+=1;
break;
}
}
}
for ( var i in resultados ) {
print( i + ": \t" + resultados[i] + "\t" + ganados[i] + "\t" + empatados[i] + "\t" + perdidos[i])
}
lunes, 2 de marzo de 2009
Bloque 1.2. Ejercicio 2
REST es una colección de principios de "arquitecturas" para sistemas distribuidos que define como los recursos se definen y se direccionan. Conmunmente se refiere a cualquier interfaz que transmita datos específicos de un dominio sobre HTTP sin necesidad de una capa adiccional de mensajes.
Buscando ejemplos de programas que utilicen interfaces del tipo REST me he encontrado que una de las cosas que más utilizamos hoy día tiene una estructura de este tipo: me refiero a los blogs. En particular, lo que llamamos "sindicaciones" o "suscripciones" no son más que descargas y actualizaciones de un archivo en formato XML (utilizando RSS o Atom), que contienen enlaces a diferentes recursos webs (cada una de las publicaciones en dicho blog).
He encontrado otro ejemplo que me ha parecido interesante, en un proyecto que está hospedado en sourceforge: sqlREST. Se trata de un una aplicación web basada en java que puede ser configurada para acceder a cualquier base de datos que utilice JDBC (Java DataBase Conectivity) mediante URIs. También se puede utilizar como interfaz para cualquier otra base de datos del tipo MySQL, Oracle o SQL server, y para instalarlo solo hace falta tener un "contenedor-web" como Tomcat (o algún otro servidor que soporte servlets).
Buscando ejemplos de programas que utilicen interfaces del tipo REST me he encontrado que una de las cosas que más utilizamos hoy día tiene una estructura de este tipo: me refiero a los blogs. En particular, lo que llamamos "sindicaciones" o "suscripciones" no son más que descargas y actualizaciones de un archivo en formato XML (utilizando RSS o Atom), que contienen enlaces a diferentes recursos webs (cada una de las publicaciones en dicho blog).
He encontrado otro ejemplo que me ha parecido interesante, en un proyecto que está hospedado en sourceforge: sqlREST. Se trata de un una aplicación web basada en java que puede ser configurada para acceder a cualquier base de datos que utilice JDBC (Java DataBase Conectivity) mediante URIs. También se puede utilizar como interfaz para cualquier otra base de datos del tipo MySQL, Oracle o SQL server, y para instalarlo solo hace falta tener un "contenedor-web" como Tomcat (o algún otro servidor que soporte servlets).
Suscribirse a:
Entradas (Atom)
