Está en la página 1de 5

IES Santiago Hernndez

Examen: 3 evaluacin

Ciclo DAM Lenguajes de marcas

Nombre y apellidos: ____________________________________________CALIFICACIN: ___


1. Construir un documento XSLT que transforme el documento editorial.xml, en el
documento 1 adjunto. (1,5 puntos)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Informacin de la editorial</title>
</head>
<body>
<h2>Editorial: <xsl:value-of select="editorial/nombre"/></h2>
<br/>
<h3>PUBLICACIONES</h3>
<br/>
<xsl:for-each select="editorial/publicaciones/libros">
<h4>LIBROS</h4>
<table border="1">
<tr>
<td>Ttulo</td>
<td>Ao</td>
<td>ISBN</td>
</tr>
<xsl:for-each select="libro">
<tr>
<td>
<xsl:value-of select="titulo"/>
</td>
<td>
<xsl:value-of select="ao"/>
</td>
<td>
<xsl:value-of select="@isbn"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
<br/>
<h4>PRENSA</h4>
<br/>
<table border="1">
<tr>
<td>Periodicidad</td>
<td>Nombre</td>
<td>Cdigo</td>
</tr>
<xsl:for-each select="editorial/publicaciones/prensa/publicacion">
<xsl:sort select="." data-type="text" order="ascending"/>

IES Santiago Hernndez


Examen: 3 evaluacin

Ciclo DAM Lenguajes de marcas

<tr>
<xsl:choose>
<xsl:when test="@periodicidad='diaria'">
<td bgcolor="red">
<xsl:value-of select="@periodicidad"/>
</td>
<td bgcolor="red">
<xsl:value-of select="."/>
</td>
<td bgcolor="red">
<xsl:value-of select="@idpub"/>
</td>
</xsl:when>
<xsl:when test="@periodicidad='semanal'">
<td bgcolor="green">
<xsl:value-of select="@periodicidad"/>
</td>
<td bgcolor="green">
<xsl:value-of select="."/>
</td>
<td bgcolor="green">
<xsl:value-of select="@idpub"/>
</td>
</xsl:when>
<xsl:when test="@periodicidad='mensual'">
<td bgcolor="blue">
<xsl:value-of select="@periodicidad"/>
</td>
<td bgcolor="blue">
<xsl:value-of select="."/>
</td>
<td bgcolor="blue">
<xsl:value-of select="@idpub"/>
</td>
</xsl:when>
</xsl:choose>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
2. Construye la sentencia Path, sobre el documento editorial.xml, para extraer la siguiente
informacin:
2.1 El correo electrnico de los suscriptores del peridico Crnicas de un centro. (0,5
puntos)
//editorial/suscriptores/suscriptor/suscripciones/suscripcion[@sus="per-001"]/../../email

IES Santiago Hernndez


Examen: 3 evaluacin

Ciclo DAM Lenguajes de marcas

2.2 El contenido del elemento libro de los libros cuyo ao sea superior a 2000 (0,5
puntos)
/editorial/publicaciones/libros/libro[ao>2000]
2.3 El atributo idsus de los suscriptores (0,5 puntos)
/editorial/suscriptores/suscriptor/@idsus

3. Trabajando sobre la base de datos de Oracle, del usuario hr, construye las sentencias SQL
correspondientes para extraer la siguiente informacin:
3.1 Elaborar una gua de los telfonos y email de los empleados de cada uno de los
departamentos. (guia.xml) (1 punto)
SELECT SYS_XMLAGG(XMLELEMENT("departamento", xmlattributes(d.department_id as idep),
XMLELEMENT("denominacion", d.department_name),
xmlagg( XMLELEMENT("empleado",
XMLELEMENT("nombre", e.first_name || ' ' ||e.last_name),
XMLELEMENT("telefono", e.phone_number),
XMLELEMENT("email", e.email)))), xmlformat('guia'))
FROM employees e, departments d
WHERE d.department_id=e.department_id
GROUP BY d.department_id, d.department_name;

3.2 Construir un documento XML, clasificados por departamentos, en el que se


seleccionen los empleados que tengan un salario superior a 12000
(lista_salarios.xml) (1,5 puntos)
SELECT sys_XMLAGG( XMLELEMENT("departamento", xmlattributes(dep.department_id as "idep"),
XMLELEMENT("denominacion", dep.department_name),
XMLELEMENT("ciudad", loc.city),
XMLELEMENT("empleados",
xmlagg( XMLELEMENT("empleado",
XMLELEMENT("nombre",emp.first_name || ' ' ||emp.last_name),
XMLELEMENT("email", emp.email),
XMLELEMENT("salario", emp.salary))))), XMLFORMAT('departamentos'))
FROM departments dep, locations loc, employees emp
WHERE dep.location_id=loc.location_id AND dep.department_id=emp.department_id and
emp.salary>12000
group by dep.department_id, dep.department_name, loc.city;

3.3 Construir un documento XML en el que se relacione los datos de las ciudades y el
departamento (ciudades.xml) (0,5 puntos)
SELECT SYS_XMLAGG(XMLELEMENT("localidad", xmlattributes(l.location_id as "idloc"),
XMLELEMENT("direccion", l.street_address),
XMLELEMENT("codigo_postal", l.postal_code),
XMLELEMENT("ciudad",l.city),
XMLELEMENT("provincia", l.state_province),
XMLELEMENT("region", c.country_name),
XMLELEMENT("departamento", XMLATTRIBUTES(d.department_id as "iddep"),
d.department_name)), xmlformat('ciudades'))
FROM regions r, locations l, countries c, departments d
WHERE c.region_id=r.region_id and c.country_id=l.country_id and d.location_id=l.location_id;
4.

Con la base de datos nativa BaseX y el documento editorial.xml, construye las sentencias para:

IES Santiago Hernndez


Examen: 3 evaluacin

Ciclo DAM Lenguajes de marcas

4.1 Extraer, mediante una sentencia FLWOR, la informacin acerca del nombre, apellidos,
email y nombre de la publicacin cuya identificacin es per-001. (1 punto) (Sugerencia:

utilizar la funcin concat para visualizar la informacin solicitada)


for $suscriptor in //editorial/suscriptores/suscriptor
let $nombre:=$suscriptor/nombre
let $apellidos:=$suscriptor/apellidos
let $email:=$suscriptor/email
let $suscripcion:=$suscriptor/suscripciones/suscripcion
let $codigo:="per-001"
let $publicacion:=//editorial/publicaciones/prensa/publicacion[@idpub=$codigo]
where $suscripcion[@sus=$codigo]
return concat($nombre," ",$apellidos," ",$email, " ", $publicacion)
4.2 Transformar el documento editorial.xml en un documento html que nos permita sacar en
una tabla la siguiente informacin: (1 punto)
<html>
<body>
<h2>Informacin de los libros publicados</h2>
<table border="1">
<tr>
<th>Ttulo</th>
<th>Autor/es</th>
<th>ISBN</th>
<th>Ao publicacin</th>
</tr>
{
for $libro in //editorial/publicaciones/libros/libro
let $titulo:=$libro/titulo
let $isbn:=$libro/@isbn
let $autor1:=$libro/autores/autor[1]
let $autor2:=$libro/autores/autor[2]
let $ao:=$libro/ao
order by $titulo
return
<tr>
<td>{data($titulo)}</td>
<td>{data($autor1)}, {data($autor2)}</td>
<td>{data($isbn)}</td>
<td>{data($ao)}</td>
</tr>
}
</table>
</body>
</html>

Informacin de los libros publicados


Ttulo

Autor/es

Fundamentos de la gestin de empresas Pedro Sanz,

ISBN

Ao publicacin

976-001-002 2010

Introduccin a la informtica de gestin Andrs Prez , Elisa Dominguez 976-001-001 2000


Redes de gestin de la calidad

Mara Miguel , Luisa Gimenez

976-001-101 2012

Poner la sintaxis de cada respuesta a continuacin de la pregunta

IES Santiago Hernndez


Examen: 3 evaluacin

Ciclo DAM Lenguajes de marcas

Crear una carpeta en el escritorio del ordenador con vuestro nombre, en el cual
guardareis los documentos creados en el examen.
No se puede conectar a Internet. Ser motivo de retirar el examen.
Se puede consultar los ejercicios y apuntes relacionados con el tema.
Al finalizar el examen, imprimir el examen con las soluciones incluidas, firmarlos,
entregar y eliminar la carpeta creada en el escritorio del ordenador
El examen son 8 puntos, el proyecto 2 puntos.

También podría gustarte