< XML - Managing Data Exchange < The one-to-many relationship
Chapter
To return to the chapter, follow this link: One-to-many relationship
Exercises
To view the exercises, follow this link: exercises
Answer - Exercise 1
XML schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="museum_info"> <xsd:complexType> <xsd:sequence> <xsd:element name="museum" type="museum_details" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="museum_details"> <xsd:sequence> <xsd:element name="museumName" type="xsd:string"/> <xsd:element name="dateEstablished" type="xsd:int"/> <xsd:element name="address" type="xsd:string"/> <xsd:element name="link" type="xsd:string"/> <xsd:element name="mPicture"/> <xsd:element name="country"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Germany"/> <xsd:enumeration value="Turkey"/> <xsd:enumeration value="USA"/> <xsd:enumeration value="Canada"/> <xsd:enumeration value="Mexico"/> <xsd:enumeration value="France"/> <xsd:enumeration value="Holland"/> <xsd:enumeration value="Spain"/> <xsd:enumeration value="China"/> <xsd:enumeration value="Japan"/> <xsd:enumeration value="India"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="museumHours" type="hours" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="hours"> <xsd:sequence> <xsd:element name="date" type="xsd:string"/> <xsd:element name="openingTime" type="xsd:string"/> <xsd:element name="location" type="xsd:string"/> <xsd:element name="eventType" type="xsd:string"/> <xsd:element name="eventDescription" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema> |
XML document:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <museum_info xsi:noNamespaceSchemaLocation="museum.xsd"> <museum> <museumName>Metropolitan Museum of Art</museumName> <dateEstablished>1870</dateEstablished> <address>1000 Fifth Avenue, New York, NY 10028</address> <link>http://metmuseum.org</link> <mPicture filename="themet.jpg"/> <country>USA</country> <museumHours> <date>02-17-2004</date> <openingTime>11:00 a.m.</openingTime> <location>Great Hall</location> <eventType>Gallery Talk</eventType> <eventDescription> Poets, Lovers, and Heroes in Italian Mythological Prints </eventDescription> </museumHours> <museumHours> <date>02-17-2004</date> <openingTime>11:00 a.m.</openingTime> <location>Uris Center for Education</location> <eventType>Family Program</eventType> <eventDescription> A gallery program for visitors ages five through twelve and accompanying adults to welcome them to the Museum's collection through discussions and sketching </eventDescription> </museumHours> <museumHours> <date>02-18-2004</date> <openingTime>6:00 p.m.</openingTime> <location>Grace Rainey Rogers Auditorium</location> <eventType>Lecture</eventType> <eventDescription> Curious Combinations in Siracusa and Palermo; a Baroque Stucco Oratory; and Churches in Modica and Ragusa Ibla </eventDescription> </museumHours> <museumHours> <date>02-19-2004</date> <openingTime>11:00 a.m.</openingTime> <location>Great Hall</location> <eventType>Gallery Talk</eventType> <eventDescription> Images of George Washington </eventDescription> </museumHours> <museumHours> <date>02-20-2004</date> <openingTime>2:00 p.m.</openingTime> <location>Vanderlyn's Panorama</location> <eventType>Lecture</eventType> <eventDescription> A Lacquer Penbox by Manohar: An Example of Late Safavid Style Painting in India </eventDescription> </museumHours> <museumHours> <date>02-20-2004</date> <openingTime>3:00 p.m.</openingTime> <location>Great Hall</location> <eventType>Gallery Talk</eventType> <eventDescription> Trade and Exchange in the Ancient Near East </eventDescription> </museumHours> <museumHours> <date>02-21-2004</date> <openingTime>11:00 a.m.</openingTime> <location> Grace Rainey Rogers Auditorium</location> <eventType>Film</eventType> <eventDescription> Like Water for Chocolate - this feature film weaves a romantic fable in which chocolate plays a pivotal role in the cuisine of a passionate young cook. </eventDescription> </museumHours> </museum> </museum_info> |
Answer - Exercise 2
XML schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"> <!-- currencies --> <xsd:element name="currencies"> <xsd:complexType> <xsd:sequence> <xsd:element name="currency" type="currencyDetails" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- countries with currencies--> <xsd:simpleType name="currencyCodeType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\w{3}"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="currencyDetails"> <xsd:sequence> <xsd:element name="countryName" type="xsd:string"/> <xsd:element name="currencyCode" type="currencyCodeType"/> <xsd:element name="currencyName" type="xsd:string"/> <!-- the next line is not necessary for answering question 1 of the exercise--> <xsd:element name="flagImage"/> </xsd:sequence> </xsd:complexType> </xsd:schema> |
XML document:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="currency.xsl" type="text/xsl"?> <!-- Well, didn't quite took the correct image paths, because there is no internet connection available right now. I'm sure you can figure it out yourself! --> <currencies xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='currency.xsd'> <currency> <countryName>Germany</countryName> <currencyCode>EUR</currencyCode> <currencyName>Euros</currencyName> <!-- the next line is not necessary for answering question 1 of the exercise--> <flagImage filename="deutscheflagge.gif" value="German Flag" imageURL="http://www.deutschland.de"/> </currency> <currency> <countryName>United Kingdom</countryName> <currencyCode>GBP</currencyCode> <currencyName>Pounds</currencyName> <!-- the next line is not necessary for answering question 1 of the exercise--> <flagImage filename="flag.gif" value="Flag" imageURL="http://www.uk.co.uk"/> </currency> <currency> <countryName>Australia</countryName> <currencyCode>AUD</currencyCode> <currencyName>Dollars</currencyName> <!-- the next line is not necessary for answering question 1 of the exercise--> <flagImage filename="flag.gif" value="Flag" imageURL="http://www.australia.au"/> </currency> <currency> <countryName>Tuvalu</countryName> <currencyCode>TVD</currencyCode> <currencyName>Tuvalu Dollars</currencyName> <!-- the next line is not necessary for answering question 1 of the exercise--> <flagImage filename="flag.gif" value="Flag" imageURL="http://www.tavalu.tuv"/> </currency> <currency> <countryName>United States of America</countryName> <currencyCode>USD</currencyCode> <currencyName>Dollars</currencyName> <!-- the next line is not necessary for answering question 1 of the exercise--> <flagImage filename="flag.gif" value="Flag" imageURL="http://www.whitehouse.gov/"/> </currency> </currencies> |
Answer - Exercise 3
XML schema:
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"> <!-- Spa Finder --> <xsd:element name="spaFinder"> <xsd:complexType> <xsd:sequence> <xsd:element name="spa" type="spaDetails" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- Spa --> <xsd:complexType name="spaDetails"> <xsd:sequence> <xsd:element name="spaName" type="xsd:string"/> <xsd:element name="spaOwner" type="xsd:string"/> <xsd:element name="spaPhone" type="xsd:string"/> <xsd:element name="spaCity" type="xsd:string"/> <xsd:element name="spaState" type="xsd:string"/> <xsd:element name="spaAddress" type="xsd:string"/> <xsd:element name="startedIn" type="xsd:date"/> <xsd:element name="spaType" type="xsd:string"/> <!--Activity is a complexType defined in the Spa to indicate the one-to-many relationship between spa and activities.--> <xsd:element name="activity" type="activityDetails" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <!-- Activity --> <xsd:complexType name="activityDetails"> <xsd:sequence> <xsd:element name="activityName" type="xsd:string"/> <xsd:element name="description" type="xsd:string"/> <xsd:element name="price" type="xsd:decimal" /> <!--Offering is a complexType defined in the Activities to indicate the one-to-many relationship between activities and offerings.--> <xsd:element name="offering" type="offeringDetails" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <!-- Offering --> <xsd:complexType name="offeringDetails"> <xsd:sequence> <xsd:element name="days" type="xsd:string"/> <xsd:element name="time" type="xsd:string"/> <xsd:element name="practitioner" type="xsd:string" /> <xsd:element name="floor" type="xsd:integer"/> <xsd:element name="room" type="xsd:string" /> </xsd:sequence> </xsd:complexType></xsd:schema>
Exercises
To view the exercises, follow this link: exercises
This article is issued from
Wikibooks.
The text is licensed under Creative
Commons - Attribution - Sharealike.
Additional terms may apply for the media files.