domingo, 26 de febrero de 2012

Breve repaso del lenguaje XPath y comienzo con Bases de Datos

Hola a todos
Aquí incluyo un archivo con la información sobre la que empezaremos a trabajar esta semana, ya de cara a la tercera evaluación:
Almacenamiento de información
Saludos,
Alfredo

martes, 21 de febrero de 2012

Ejercicios de XSLT

Hola a todos
A continuación voy a proponer unos seis ejercicios de XSLT, Los cinco primeros se realizarán tomando el siguiente archivo XML como base:


IES. XML


<?xml version="1.0" encoding="UTF-8"?>
<ies nombre="IES Abastos" web="http://www.iesabastos.org/" >
<ciclos>
<ciclo id="ASIR">
<nombre>Administración de Sistemas Informáticos en Red</nombre>
<grado>Superior</grado>
<decretoTitulo año="2009" />
</ciclo>
<ciclo id="DAW">
<nombre>Desarrollo de Aplicaciones Web</nombre>
<grado>Superior</grado>
<decretoTitulo año="2010" />
</ciclo>
<ciclo id="SMR">
<nombre>Sistemas Microinformáticos y Redes</nombre>
<grado>Medio</grado>
<decretoTitulo año="2008" />
</ciclo>
</ciclos>
</ies>




Se pide:
1. Que aparezcan los siguientes elementos sin etiquetas:


<?xml version="1.0" encoding="UTF-8"?>


Administración de Sistemas Informáticos en Red
Desarrollo de Aplicaciones Web
Sistemas Microinformáticos y Redes


2. Que aparezcan los elementos con etiquetas <p>




<?xml version="1.0" encoding="UTF-8"?>
<html>
<p>Administración de Sistemas Informáticos en Red</p>
<p>Desarrollo de Aplicaciones Web</p>
<p>Sistemas Microinformáticos y Redes</p>
</html>




3. Que aparezcan en forma de lista


<?xml version="1.0" encoding="UTF-8"?>
<html>
<ul>
<li>Administración de Sistemas Informáticos en Red</li>
<li>Desarrollo de Aplicaciones Web</li>
<li>Sistemas Microinformáticos y Redes</li>
</ul>
</html>


4. Que aparezcan en forma de tabla


<?xml version="1.0" encoding="UTF-8"?>
<html>
<table border="1">
<tr>
<td>Administración de Sistemas Informáticos en Red</td>
</tr>
<tr>
<td>Desarrollo de Aplicaciones Web</td>
</tr>
<tr>
<td>Sistemas Microinformáticos y Redes</td>
</tr>
</table>
</html>


5. Formatear el documento anterior para que ahora nos salga el nombre del IES entre etiquetas h1 y el resto en párrafos


<?xml version="1.0" encoding="UTF-8"?>
<html>
<h1>IES Abastos</h1>
<p>Administración de Sistemas Informáticos en Red</p>
<p>Desarrollo de Aplicaciones Web</p>
<p>Sistemas Microinformáticos y Redes</p>
</html>


6. Ejercicio Final de Bloque: Realizar un documento XML que permita formatear el contenido del índice del capítulo 1 de vuestro libro de Sistemas Informáticos/Planificación y Análisis de Redes. Una vez realizado esto, debéis hacer lo mismo con todos los capítulos del libro, realizando el índice completo del libro, a partir de un solo documento XML


Saludos,
Alfredo

domingo, 12 de febrero de 2012

Otro ejercicio de XSL


Hola a todos.
Aquí hay un ejemplo de las dos primeras preguntas de un  test que se han pasado por un XSL y se han visualizado en el navegador. Debe notarse que las respuestas correctas aparecen en un color diferente al resto.
Se pide realizar esto tanto para estas dos preguntas como para las otras ocho que se dictarán en clase.
Saludos,
Alfredo de la Presa

jueves, 2 de febrero de 2012

Enunciado trabajo Cds

Crear un documento XML que almacene una lista de CDs de música. Cada Cd deberá almacenar la siguiente información:
- Título del álbum
- Artista
- Títulos de las canciones con el tiempo por canción
- Sello discográfico
- Año de publicación
Al menos insertar 10 CDs
Con el documento XML anterior se pide
1. Generar un fichero XSL(“cd_p1.xsl”) en el que se muestre una tabla con todos los datos de los discos de música
2. Elegir un artista cualquiera y generar un fichero XSL (“cd_p2.xsl”) en el que se muestre una tabla con todas las canciones de ese artista
3. Elegir un sello cualquiera y generar un fichero XSL (“cd_p3.xsl”) en el que se muestre una tabla con todas las canciones de ese sello discográfico
4. Elegir una duración máxima de canción y generar un fichero XSL (“cd_p4.xsl”), en el que se muestre una tabla con todas las canciones que tienen una duración inferior a la elegida

martes, 24 de enero de 2012

Ejemplo de usos de atributos en XSL

Hola a todos
Incrusto un documento con información sobre el uso de atributos en XSL

Uso de Atributos en XML

miércoles, 18 de enero de 2012

Hola a todos
Incrusto el tema de manipulación de elementos XML
Tema Conversión y adaptación de documentos XML

Saludos,
Alfredo

martes, 10 de enero de 2012

Ejercicios XML

Hola a todos. 
Aquí os incluyo ejercicios XML para preparar el examen de la semana que viene

Ejercicio 1.
¿Cómo hacer una agenda que guardará el nombre y teléfono de cada persona?Además, cada persona tendrá un identificador (obligatoriamente) como atributo


       <!ELEMENT agenda (persona)+>
       <!ELEMENT persona (nombre, tlf)>
       <!ATTLIST persona id ID #REQUIRED>
       <!ELEMENT nombre (#PCDATA)>
       <!ELEMENT tlf (#PCDATA)>

<?xml version="1.0"?>
       <!DOCTYPE agenda SYSTEM "ejemplo-agenda.dtd">
       <agenda>
 
       <persona id="ricardo">
       <nombre>Ricardo Borriquero</nombre>
       <tlf>951345678</tlf>
       </persona>
 
       <persona id="eva">
       <nombre>Eva Risto</nombre>
       <tlf>955837659</tlf>
       </persona>
 
       </agenda>

Ampliar el ejemplo anterior de forma que además del nombre y teléfono, cada entrada de la agenda esté definida como persona del sexo masculino o femenino, tenga uno o varios emails, y se puedan especificar relaciones de amistad entre las diferentes personas de la agenda.



Ejercicio 2: Test
Conteste a las siguientes preguntas, señalando la opción que considere correcta.
1. En un esquema, si queremos establecer una secuencia de elementos hijos y se añade un indicador <xs:all> significa:
a) Que el orden de todos los hijos es indiferente siempre que solo aparezcan una vez (En el caso de cambiar de ocurrencia)
b) Que el orden de todos los hijos es importante y debe aparecer en el documento XML en el indicado en la secuencia
c) Que el orden de todos los hijos es indiferente puesto que sirve únicamente para elegir uno de los hijos indicados
d) Ninguna de las anteriores

2. En un esquema, si queremos establecer una secuencia de elementos hijos y se añade un indicador llamado <xs:Choice>, significa
a) Que el orden de todos los hijos es indiferente siempre que solo aparezcan una vez (En el caso de cambiar de ocurrencia)
b) Que el orden de todos los hijos es importante y debe aparecer en el documento XML en el indicado en la secuencia
c) Que el orden de todos los hijos es indiferente puesto que sirve únicamente para elegir uno de los hijos indicados
d) Ninguna de las anteriores

3. En un esquema, si queremos establecer una secuencia de elementos hijos  y se añade un indicador llamado <xs:sequence>, significa:
a) Que el orden de todos los hijos es indiferente siempre que solo aparezcan una vez (En el caso de cambiar de ocurrencia)
b) Que el orden de todos los hijos es importante y debe aparecer en el documento XML en el indicado en la secuencia
c) Que el orden de todos los hijos es indiferente puesto que sirve únicamente para elegir uno de los hijos indicados
d) Ninguna de las anteriores

4. En un esquema, si nos encontramos con <xs:whiteSpacevalue=”preserve” />, significa:
a) Que en el texto que se almacene podrá sustituir todos los espacios en blanco, tabuladores, saltos de línea y retornos de carro; por un único espacio en blanco.
b) Que en el texto que se almacene se mantendrá inalterado, aún cuando se tengan multitud de espacios en blanco, tabuladores, saltos de línea y retornos de carro.
c) Que en el texto que se almacene se eliminarán todos los espacios en blanco , tabuladores, saltos de línea y retornos de carro
d) Ninguna de las anteriores.

Ejercicio 3:
Realizar un documento  test.xml que incluya un elemento raíz test, hijos preguntas, con enunciado y opciones hijos de cada una de las cuatro preguntas anteriores
Hacer un DTD asociado a test.xml titulado test.dtd. Validar ambos archivos en http://xmlvalidation.com
Hacer un XSD asociado a test.xml titulado test.xsd. Validar ambos archivos en la localización anterior

Ejercicio 4
Modelar con XML una libreta de marcadores de páginas web. Cada archivo XML representará una lista de marcadores. Se debe modelar la siguiente información:
  • nombre
  • URL
Realizar el DTD y el XSD asociados, y comprobar que validan.

Ejercicio 5
Horario de aviones.
Contenido: Compañía, número de vuelo o nombre del trayecto, origen, destino, ruta, horas de salida, llegada.
Realizar el DTD y el XSD asociados, y comprobar que validan.

Ejercicio 6
Los siguientes documentos no son válidos porque contienen uno o dos errores (los errores no están en la DTD interna, salvo en el último documento). Corrija los errores y compruebe que ya son documentos válidos.
1.       números
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE numeros [
  <!ELEMENT numeros (#PCDATA)>
]>

<numeros>
  <numero>25</numero>
</numeros>

2.       letras
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE letras [
  <!ELEMENT letras (letra)>
  <!ELEMENT letra (#PCDATA)>
]>

<letras>
  <letra>m</letra>
  <letra>uve doble</letra>
</letras>

3.       colores
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE colores [
  <!ELEMENT colores (color*)>
  <!ELEMENT color (#PCDATA)>
]>

<colores>
  <color>azul marino</color>
  negro
  <color>amarillo</color>
</colores>

4.       flores

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE flores [
  <!ELEMENT flores (flor+)>
  <!ELEMENT flor (#PCDATA)>
]>
 
<flores>
</flores>

5.       Animales

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE animales [
  <!ELEMENT animales (animal*)>
  <!ELEMENT animal (#PCDATA)>
]>
 
<animales>
  <perro>Caniche</perro>
  <gato>Siamés</gato>
</animales>

6.       Escritores

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE escritores [
  <!ELEMENT escritores (escritor*)>
  <!ELEMENT escritor (nombre, nacimiento)>
  <!ELEMENT nombre (#PCDATA)>
  <!ELEMENT nacimiento (#PCDATA)>
]>
 
<escritores>
  <escritor>
    <nombre>Mario Vargas LLosa</nombre>
    <nacimiento>28 de marzo de 1936</nacimiento>
  </escritor>
  <escritor>
    <nacimiento>1 de abril de 1929</nacimiento>
    <nombre>Milan Kundera</nombre>
  </escritor>
</escritores>

7.       Músicos

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE musicos [
  <!ELEMENT musicos (musico*)>
  <!ELEMENT musico ((nombre | apodo), fechaNacimiento)>
  <!ELEMENT nombre (#PCDATA)>
  <!ELEMENT apodo (#PCDATA)>
  <!ELEMENT fechaNacimiento (#PCDATA)>
]>
 
<musicos>
  <musico>
    <nombre>Antonio Vivaldi</nombre>
    <apodo>El cura pelirrojillo</apodo>
    <fechaNacimiento>4 de marzo de 1678</fechaNacimiento>
  </musico>
  <musico>
    <nombre>Johann Sebastian Bach</nombre>
    <apodo>El viejo peluca</apodo>
    <fechaNacimiento>21 de marzo de 1685</fechaNacimiento>
  </musico>
</musicos>


8.       Teléfonos de emergencia

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE agenda [
  <!ELEMENT agenda (contacto*)>
  <!ELEMENT contacto (nombre, telefonoFijo*, telefonoMovil+)>
  <!ELEMENT nombre (#PCDATA)>
  <!ELEMENT telefonoFijo (#PCDATA)>
  <!ELEMENT telefonoMovil (#PCDATA)>
]>
 
<agenda>
  <contacto>
    <nombre>Ayuntamiento</nombre>
    <telefonoFijo>010</telefonoFijo>
  </contacto>
  <contacto>
    <nombre>Emergencias</nombre>
    <telefonoFijo>112 (Unión Europea)</telefonoFijo>
    <telefonoMovil>Desconocido</telefonoMovil>
    <telefonoFijo>911 (Estados Unidos)</telefonoFijo>
  </contacto>
</agenda>


9.       El Sistema Solar

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sistemaSolar [
  <!ELEMENT sistemaSolar (cuerpo*)>
  <!ELEMENT cuerpo ((planeta|satelite|asteroide)+)>
  <!ELEMENT planeta (#PCDATA)>
  <!ELEMENT satelite (#PCDATA)>
  <!ELEMENT asteroide (#PCDATA)>
]>
 
<sistemaSolar>
  <cuerpo>
    <planeta>Tierra</planeta>
    <satelite>Luna</satelite>
  </cuerpo>
  <asteroide>Ceres</asteroide>
</sistemaSolar>


10.   Álbumes Mortadelo y Filemón.
En el siguiente caso, el problema está en la DTD interna: Arregladlo de la mejor forma posible:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE albumesMortadelo [
  <!ELEMENT albumesMortadelo (album*)>
  <!ELEMENT album (nombre, fecha)>
  <!ATTLIST album nombre CDATA #REQUIRED>
  <!ATTLIST album fecha(1969,1970,1971,1972,1973,1974) #REQUIRED>
]>
 
<albumesMortadelo>
  <album nombre="El sulfato atómico" fecha="1969"/>
  <album nombre="La caja de diez cerrojos" fecha="1971"/>
  <album nombre="El otro yo del profesor Bacterio" fecha="1973"/>
  <album nombre="Los cacharros majaretas" fecha="1974"/>
</albumesMortadelo>

Ejercicio 7. Realizar el esquema XSD asociado a cada uno de los apartados del  ejercicio anterior y validarlos.

Saludos,
Alfredo