Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

1.

Fem un XML (2,5 punts)


Fes un xml per poder posar els guanyadors en un format que tots els mitjans de
comunicació puguin emetre ràpidament. El mínim que cal que tingui és:

La data que es donaran els Oscar's, el número d'edició (83a), el lloc, l'hora, el nom dels
membres del jurat i el llistat de premis.
Fes que els premis tinguin com a mínim: actor principal, actriu principal, millor pel·lícula,
millor director, millor música i millors efectes especials.
Cal (evidentment) que estigui ben format.

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


<oscars>
<edicio num="83">
<data>1/02/2012</data>
<lloc>kodak Theatre</lloc>
<hora>22:00</hora>
<jurat>
<membre>Santiago Segura</membre>
<membre>Joel Joan</membre>
<membre>Montilla</membre>
</jurat>
<premis>
<actor_principal>Johnny Deep</actor_principal>
<actriu_principal>Winona Ryder</actriu_principal>
<pelicula>Edward ScissorHands</pelicula>
<director>Tim Burton</director>
<musica>Dany Elfman</musica>
<efectes_especials>Wetta</efectes_especials>
</premis>
</edicio>

</oscars>

2. Fem un XML (1,5 punts)


Donat el següent DTD que ens ha donat l'acadèmia, cal que hi facis algun xml
que siguin
vàlids amb algun “personatge” de la classe o bé agafa algú de Lorem Ipsum
<!The
XML DTD schema for the CASTS.xml files Movies Database >
<!Comment+:
one header record giving the director's id, name, and format information.
>
<!Comment+:
multiple records for each movie and listed actor. There are no headers
for distinct movies. >
<!ELEMENT casts (dirfilms*)
<!ELEMENT dirfilms (dirid, is, castnote, filmc+)
<!ELEMENT dirid > <!unique
id for the director >
<!ELEMENT is > <!standardized
name for the director,
defined in people >
<!ELEMENT filmc (m*)> <!one
particular film >
<!ELEMENT m (rname, awards?, life?, error? )
<!Comment:
Entry for a cast member >

XML

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


<casts>
<dirfilms>
<dirid></dirid>
<is></is>
<filmc>
<m>
<rname>Nithtmare Before Christmas</rname>
<awards>Oscar, Globus d'Or</awards>
<life></life>
<error>Too short</error>
</m>
<m>
<rname>Corpse Bride</rname>
<awards>Oscar, Globus d'Or</awards>
</m>
</filmc>
</dirfilms>
</casts>

FILLS DE LIFE

<life>
<debut>Elephant Man - Març 1977</debut>
<last>Today is Tomorrow</last>
<lifenote>He lives at limit</lifenote>
</life>

amb atributs

<!ELEMENT life >

<!ATTRLIST life debut CDTATA #required>


<!ATTRLIST last debut CDTATA #required>
<!ATTRLIST lifenote debut CDTATA #required>
3. XSD (2,5 punts)
Els Oscar poden portar problemes si el format dels arxius de pel·lícules que ha
utilitzat el
jurat no és correcte.
A partir de l'arxiu XML que s'adjunta fesne
un XSD amb el que es pugui validar.
Considera que són valides les pel·lícules entre el 1900 i l'any actual
<?xml version='1.0' encoding='ISO88591'?>
<!MASTER
BASE File of Movies [varese]MyDocs/mov/xml/mainsnnn.xml >
<movies>
<!Movie
Year: 1922 Early
British Movies by Alfred Hitchcock. >
<directorfilms><director><dirid>H</dirid><dirstart>@1922</dirstart><dirname>Hitchcock</
dirname><coverage>all early British</coverage></director><films>
<film year=”1922”><fid>H1</fid><t>Always Tell Your Wife</t>
<dirs><dir><dirk>R</dirk><dirn>Se.Hicks</dirn></dir>
<dir><dirk>R</dirk><dirn>Hitchcock</dirn></dir></dirs>
<prods><prod><prodk>R</prodk><pname>Lasky</pname></prod></prods>
<studios><studio>Famous</studio></studios><prcs><prc>sbw</prc></prcs><cats><cat>Dram</
cat></cats> <awards></awards> <loc></loc><notes/></film>
<film year=”1922”>><fid>H2</fid><t>Number Thirteen</t>
<dirs><dir><dirk>R</dirk><dirn>Hitchcock</dirn></dir></dirs>
<prods><prod><prodk>R</prodk><pname>Hitchcock</pname></prod></prods>
<studios><studio>Islington</studio><distributor>Famous</distributor></studios><prcs><p
rc>sbw</prc><prctext>unfinished</prctext></prcs><cats></cats> <awards></awards>
<loc></loc><notes/></film>
</directorfilms>
</movies>

(només feta la part amb negreta)


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="movies">
<xs:complexType>
<xs:sequence>
<xs:element name="directorfilms">
<xs:complexType>
<xs:sequence>
<xs:element name="director" type="xs:string"/>
<xs:element name="dirid" type="xs:string"/>
<xs:element name="dirstart" type="xs:string"/>
<xs:element name="dirname" type="xs:string"/>
<xs:element name="coverage" type="xs:string"/>
<xs:element name="films">
<xs:complexType>
<xs:sequence>
<xs:element name="film" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="fid" type="xs:string"/>
<xs:element name="t" type="xs:string"/>
<xs:element name="dirs" >
<xs:complexType>
<xs:sequence>
<xs:element name="dirk" type="xs:string" />
<xs:element name="dirn" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="prods" >
<xs:complexType>
<xs:sequence>
<xs:element name="prod" type="xs:string" />
<xs:element name="prodk">
<xs:complexType>
<xs:sequence>
<xs:element name="pname" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="year">
<xs:simpleType>
<xs:restriction base="xs:Integer">
<xs:minIncluded value="1900"/>
<xs:maxIncluded value="2012"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

4. Preguntes curtes (2 punts)


Comenta els següents fragments i digues si validarien, en cas que no digues
perquè no
a)
<xml version="1.0" encoding="ISO-8859-1" standalone="no">
<!DOCTYPE tvschedule SYSTEM "tvschedule.dtd">
<tvschedule>
<name>
TV1

b)
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE diari SYSTEM "newspaper.dtd">
<NEWSPAPER>
&NEWSPAPER;
<ARTICLE AUTHOR="David" EDITOR="IBNS" DATE="10/05/2001" EDITION ="2">
<HEADLINE>TITOL </HEADLINE>
<BYLINE> TITOL 2</BYLINE>
<LEAD> INTRODUCCIÓ </LEAD>
<BODY> COS </BODY>
&PUBLISHER;
<NOTES> NOTES</NOTES>
</ARTICLE>
<!ELEMENT NEWSPAPER (ARTICLE+)>
<!ELEMENT ARTICLE (HEADLINE, BYLINE, LEAD, BODY, NOTES)>
<!ELEMENT HEADLINE (#PCDATA)>
<!ELEMENT BYLINE (#PCDATA)>
<!ELEMENT LEAD (#PCDATA)>
<!ELEMENT BODY (#PCDATA)>
<!ELEMENT NOTES (#PCDATA)>
<!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
<!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
<!ATTLIST ARTICLE DATE CDATA #IMPLIED>
<!ATTLIST ARTICLE EDITION CDATA #IMPLIED>
<!ENTITY NEWSPAPER "Vervet Logic Times">
<!ENTITY PUBLISHER "Vervet Logic Press">
<!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press">

PROBLEMA: l’entitat &NEWSPAPER; està a un lloc no permés

c)
<?xml version=”1.0” encoding=”UTF8”
?>
<!DOCTYPE process [
<!ELEMENT adress (#PCDATA)>
]>
<process>
<adreca>http://www.iescendrassos.net</adreca>
</process>

PROBLEMA: Adress I adreca no és el mateix!

d)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE discoteca SYSTEM "discoteca.dtd">
<discoteca
xmlns:musica ="musica"
xmlns:personal ="personal"
xmlns:alcohol="alcohol">

OK!

5. Més preguntes (1,5 punts)


1) Té alguna cosa veure l'ID/IDREF del DTD amb el NAME/REF del Schema?

No. L'IDREF del dtd és com una mena de clau primària i clau secundària, l'ID ha de ser únic i
l'IDREF ha d'apuntar
a un (o més) ID's existents.

El NAME/REF fa referència a una manera d'estalviar de definir els elements/atributs en el lloc


que toca. En primer
lloc es defineix amb NAME l'element /atribut amb tots els fills que ha de tenir i després es
crida amb una
sola línia en el lloc que li toca. Dóna més claretat per la comprensió de l'estructura de l'XML.

2) Explica la diferència entre ALL, CHOICE i SEQUENCE.

• ALL - Fills han d'aperèixer, però no s'imposa l'ordre


• SEQUENCE- Fills han d'aparèixer forçosament amb l'ordre que s'ha definit.
• CHOICE - Ha d'aparèixer una de les opcions que s'ofereix

3) Donat el següent DTD indica quins dels sigüents documents XML serien vàlids
<!ELEMENT a (b,(c | d)?)+ >
<!ELEMENT b (#PCDATA)>
<!ELEMENT c (#PCDATA)>
<!ELEMENT d (#PCDATA)>
a) <a></a><b>...</b><c>...</c><b>...</b>
b) <a><b>...</b><c>...</c><b>...</b></a>
c) <a><b>...</b><b>...</b><c>...</c><d>...</d></a>
Seria vàlid el B)

You might also like