You are on page 1of 4

M04.

Llenguatges de Marques
UF1. Programaci en XML
2. Conversi i adaptaci de documents XML
curs 2014-2015

Sergi Grau
Jordi Latorre

Escola del Clot


Ciclesformatiusde grau superiord'informtica
M04. Llenguatges de marques
Prof. Sergi Graui Jordi Latorre
curs 2014-2015

1. Crea el segent document XML.


<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Exercici2.xsl" type="text/xsl"?>
<!-- El tipus per defecte del sonet s Shakespeareane -->
<sonet type='Shakespearean'>
<autor>
<cognom>Shakespeare</cognom>
<nom>William</nom>
<nacionalitat>British</nacionalitat>
<any-de-naixement>1564-04-28</any-de-naixement>
<any-de-defuncio>1616-04-23</any-de-defuncio>
</autor> <!-- Aquest sonet no t ttol oficial. -->
<titol>sonet 130</titol>
<linies>
<linia>My mistress' eyes are nothing like the sun,</linia>
<linia>Coral is far more red than her lips red.</linia>
<linia>If snow be white, why then her breasts are dun,</linia>
<linia>If hairs be wires, black wires grow on her head.</linia>
<linia>I have seen roses damasked, red and white,</linia>
<linia>But no such roses see I in her cheeks.</linia>
<linia>And in some perfumes is there more delight</linia>
<linia>Than in the breath that from my mistress reeks.</linia>
<linia>I love to hear her speak, yet well I know</linia>
<linia>That music hath a far more pleasing sound.</linia>
<linia>I grant I never saw a goddess go,</linia>
<linia>My mistress when she walks, treads on the ground.</linia>
<linia>And yet, by Heaven, I think my love as rare</linia>
<linia>As any she belied with false compare.</linia>
</linies>
</sonet>
<!-- Ttol del album d'Sting del 1987 "Nothing like the sun" -->
<!-- des de la linia 1 d'aquest sonet. -->

Escola del Clot


Ciclesformatiusde grau superiord'informtica
M04. Llenguatges de marques
Prof. Sergi Graui Jordi Latorre
curs 2014-2015

2. Afegeix-li el segent DTD vinculat de manera interna. Apliqueu-li un document


XSLT que mostri tots els nodes de text de sonet concatenats per defecte. La
sortida ha de ser un document XML ben format.
<!ELEMENT sonet (autor, titol, linies)>
<!ATTLIST sonet
"Shakespearean">

public-domain

CDATA

"yes"

type

(Shakespearean

Petrarchan)

<!ELEMENT autor (cognom,nom,nacionalitat, any-de-naixement?,any-de-defuncio?)>


<!ELEMENT cognom (#PCDATA)>
<!ELEMENT

nom (#PCDATA)>

<!ELEMENT

nacionalitat (#PCDATA)>

<!ELEMENT

any-de-naixement (#PCDATA)>

<!ELEMENT

any-de-defuncio (#PCDATA)>

<!ELEMENT titol (#PCDATA)>


<!ELEMENT linies (linia,linia,linia,linia,
linia,linia,linia,linia,
linia,linia,linia,linia,
linia,linia)>
<!ELEMENT linia (#PCDATA)>

3. Realitza un programa XSLT que mostri totes les lnies del sonet, formatades amb
salt de lnia en HTML. La sortida ser un document HTML.
4. Desenvolupa un programa XSLT que transformi el document XML original en un
de nou, que mostri les dades de l'autor corresponents al nom i cognom, i totes
les linies del sonet concatenades i dins d'un nou element sonet. Utilitzeu en
algun cas la funci XSLT que ens permet accedir al text d'un element. La sortida
ha d'estar formatada en un document XML. Exemple:
<?xml version="1.0" encoding="UTF-8"?>
<poema>
<autor>
Shakespeare - William
</autor>
<sonet>My mistress' eyes are nothing like the sun,Coral is far more red than
her lips red.If snow be white, why then her breasts are dun,If hairs be wires, black
wires grow on her head.I have seen roses damasked, red and white,But no such roses
see I in her cheeks.And in some perfumes is there more delightThan in the breath
that from my mistress reeks.I love to hear her speak, yet well I knowThat music hath
a far more pleasing sound.I grant I never saw a goddess go,My mistress when she
walks, treads on the ground.And yet, by Heaven, I think my love as rareAs any she
belied with false compare.
</sonet>
</poema>

5. Realitza un programa en XSLT que mostri l'atribut de sonet, els primers i darrers
fills de l'element autor, la primera i ltima lnia del sonet i un missatge indicant
el nombre total de lnies del sonet. La sortida estar formatada en format de text
i tindr el segent aspecte:
tipus de poema: Shakespearean dades de l'autor: Shakespeare -1616 Poema: My
mistress' eyes are nothing like the sun, ... As any she belied with false compare.
total de linies :14

Escola del Clot


Ciclesformatiusde grau superiord'informtica
M04. Llenguatges de marques
Prof. Sergi Graui Jordi Latorre
curs 2014-2015

6. Exporta tots els comentaris del document XML concatenats a un fitxer de text.
7. Realitza un programa XSLT que generi una sortida en format text amb els anys
que va viure cadascun dels autors, i quants fa que va nixer Tamb indiqueu
quan de temps ha passat des del 01/01/2000
Shakespeare va viure fins el 1616
En total va viure
El

2011

va fer

52 anys
447

anys del seu naixement

Des del 2000 ha passat 4047 dies

8. Donat el segent esquema XML crea un document XML amb diversos nombres, i
crea un programa XSLT que determini si sn parells o senars i si sn majors que
10.
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/Exercici8"
xmlns:tns="http://www.example.org/Exercici8" elementFormDefault="qualified">
<complexType name="tipusNombres">
<sequence>
<element name="nombre" type="integer" maxOccurs="unbounded"
minOccurs="1"></element>
</sequence>
</complexType>

<element name="nombres" type="tns:tipusNombres"></element>


</schema>

possible sortida:

parell =

0 i major que 10 false

parell =

1 i major que 10 false

parell =

0 i major que 10 false

parell =

1 i major que 10 false

14

parell =

0 i major que 10 true

15

parell =

1 i major que 10 true

9. Continua amb el programa anterior i formata la sortida per a que indiqui si s


parell o senar.
10. Realitza un programa XSLT que ens indiqui quines de les lnies del sonet
comencen per I.

You might also like