TD#1 Exercice 1 Ecrire un exemple de document XML bien

Transcription

TD#1 Exercice 1 Ecrire un exemple de document XML bien
MASTER 2 IST
2008-09
XML et Java :: TD#1
Exercice 1
Ecrire un exemple de document XML bien-formé regroupant les
informations d'un carnet d'adresses professionnelles. Ce carnet
contient des informations sur des personnes et des entreprises. A
propos d'une personne, vous devez stocker : le nom, le prénom, le
sexe, les numéros de téléphone (professionnel, portable et personnel),
l'adresse email, l'URL de la page personnelle, l'adresse. En ce qui
concerne les entreprises, vous devez stocker le nom de l'entreprise,
l'adresse, les numéros de téléphone, le contact (une personne) dans
cette entreprise, l'URL de la page d'accueil du site de l'entreprise.
Le document doit permettre de retrouver les salariés d'une
entreprise même si celui-ci n'est pas un contact de cette dernière.
Vérifiez que votre document est bien-formé à l'aide du 'XML
well-formedness checker and validator' disponible à l'URL suivante :
http://www.cogsci.ed.ac.uk/~richard/xml-check.html
ou http://pscode.org/xml/xmltools.html#xmlwfc
Affichez votre document sur un navigateur Internet (Internet
explorer et/ou Mozilla).
Exercice 2
Corriger les erreurs du document 1 de manière à le rendre bienformé.
Transformer le document 1 en un document orienté donnée
bien-formé contenant des attributs à la place de éléments lorsque
c'est possible.
<?xml version="1.1"?>
<records>
<cd>
<title>None too soon</title>
<artist>Allan Holdsworth</artist>
<country>UK</Country>
<company>Polidor</company>
<year>1996</cd>
</year>
<cd>
<title>All night wrong</title>
<artist>Allan Holdsworth</artist>
<country>UK</country>
<company>Sony</company>
<year>2002</year>
</cd>
</records>
Document 1 : un document XML bien-formé
Exercice 3
Corriger les erreurs du document 2 de manière à le rendre bienformé.
Transformer le document 2 en un document sémantiquement
équivalent bien-formé mais présentant des éléments à la place
d'attributs lorsque c'est possible.
<?xml:stylesheet type="text/xsl" href="stocks.xsl" version="1.0" encoding="UTF­8"?>
<portfolio xmlns="http//toto.org">
<stock symbol="SUNW" name="Sun Microsystems" price="17.1"/>
<stock symbol="AOL" name="America Online" price=51.05/>
<stock symbol="IBM" name="International Business Machines" price="116.10">
<stock symbol="MOT" name="MOTOROLA" price="15.20"/>
</portfolio>
Document 2 : un document XML bien-formé orienté donnée
Exercice 4
Transformer le document 3 pour lui fournir une structure plus
riche.
Remarque : le (999) du numéro de téléphone correspond au code de la
zone téléphonique (area code).
<Telephone_Directory_Listing> <Name> John A. Doe </Name> <Address> 123 Main Street </Address> <City> Pleasantville </City> <State> MD </State> <Zip_Code> 12345 </Zip_Code> <Telephone> (999) 555­1234 </Telephone> </Telephone_Directory_Listing> Document 3 : Un document XML portant sur un enregistrement d'une
fiche téléphone
Correction
Exercice 1
<addr_book>
<person pid="p01" work="b01" gender="m" age="21">
<name>
<first>Gerard</first>
<last>Uffelman</last>
<middle>Alexander</middle>
</name>
<phone type="work">518­276­6907</phone>
<phone type="home">518­276­8964</phone>
<email>[email protected]</email>
<email>[email protected]</email>
<addr>
<street>51 Central St.</street>
<pobox>400</pobox>
<city>MDI</city>
<state>ME</state>
</addr>
<url>http://www.cs.rpi.edu/~uffelg/</url>
</person>
<person pid="p02" work="b01" gender="m">
<name>
<first>John</first>
<last>Punin</last>
<middle>Rigo</middle>
</name>
<phone type="work">518­276­6907</phone>
<email>[email protected]</email>
<addr>
<street>22 Norte Ecuador</street>
<pobox>5</pobox>
<city>Guiaquile</city>
</addr>
<url>http://www.cs.rpi.edu/~puinij/XMLJ</url>
</person>
<person pid="p03" work="b01" gender="f">
<name>
<first>Chriss</first>
<last>Coonrad</last>
</name>
<phone>518­276­8412</phone>
<email>[email protected]</email>
</person>
<business bid="b01" contact_person="p03">
<bname>RPI Computer Science Dept.</bname>
<phone type="fax">1­518­276­6110</phone>
<phone type="work">518­276­6510</phone>
<email>[email protected]</email>
<url>http://www.cs.rpi.edu</url>
</business>
</addr_book>
Exercice 2
<?xml version="1.0" standalone="yes"?>
<records>
<cd title="None too soon" artist="Allan Hodlsworth" country="UK" company ="Polidor" year="1996"/> <cd title="All night wrong" artist="Allan Hodlsworth" country="UK" company="Sony" year="2002"/>
</records>
Exercice 3
<?xml version="1.0" encoding="UTF­8"?>
<portfolio xmlns="http//toto.org">
<stock>
<symbol>SUNW</symbol>
<name>Sun Microsystems</name>
<price>17.1</price>
</stock>
<stock>
<symbol>AOL</symbol>
<name>America Online</name>
<price>51.05</price>
</stock>
<stock>
<symbol>IBM</symbol>
<name>International Business Machines</name>
<price>116.10</price>
/stock>
<stock>
<symbol>MOT</symbol>
<name>MOTOROLA</name>
<price>15.20</price>
</stock>
</portfolio>
Exercice 4
<Telephone_Directory_Listing> <Name>
<FirstName>John</FirstName>
<MiddleName>A</MiddleName>
<LastName>Doe</LastName> </Name> <Address> <StreetNum>123</AddressNum>
<StreetName>Main Street</StreetName>
</Address> <City> Pleasantville </City> <State> MD </State> <Zip_Code> 12345 </Zip_Code> <Telephone>
<AreaCode>999</AreaCode>
<PhoneNumber>555­1234</PhoneNumber>
</Telephone> </Telephone_Directory_Listing>