Haaga-Helia
ICT1TD003 -> XML -> Tuntitehtävät 7

Tietojenkäsittelyn koulutusohjelma
Tieto ja tiedon varastointi

XML tuntitehtäviä 7

 

Keskeinen asia

Tehtävä 7.1

Mitä seuraavat xml-schema-määrittelyt tarkoittavat:

  1. <xs:element name="sukunimi" type="xs:string" />
  2. <xs:element name="etunimi" type="xs:string" maxOccurs="3" />
  3. <xs:element name="hinta" type="xs:decimal" default="0" />
  4. <xs:attribute name="entinen" type="xs:string" use="required" />
  5. <xs:attribute name="valuutta" type="xs:string" default="euro" />

Tehtävä 7.2

Tee seuraavia elementtejä vastaavat XML Schema-määrittelyt

  1. <ika>10</ika>
  2. <maat>
       <maa>Suomi</maa>
       <maa>Ruotsi</maa>
    </maat>
  3. <kirja laji="tieto">
       <nimi>XML-opas</nimi>
       <julkaisuvuosi>2005</julkaisuvuosi>
    </kirja>
  4. <tuote koodi="123" status="poistettu"/>
  5. <lapsi ika="4">Ville</lapsi>

Tehtävä 7.3.

Täydennä perheet.xml-dokumentille laadittua perheet.xsd-dokumenttia.

Ratkaisu: perheet7.xml    perheet7.xsd

Tehtävä 7.4.

Tee alla olevaa XML-schemaa vastaava xml-dokumentti.

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="muistio">
 <xs:complexType>
  <xs:sequence>
   <xs:element name="henkilo">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="nimi">
        <xs:complexType>
         <xs:sequence>
          <xs:element name="sukunimi" type="xs:string"/>
          <xs:element name="etunimi" type="xs:string"/>
         </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="email" type="xs:string"/>
      <xs:element name="ika" type="xs:integer"/>
      <xs:element name="puhelin" maxOccurs="5">
       <xs:complexType>
        <xs:simpleContent>
         <xs:extension base="xs:string">
          <xs:attribute name="laji" type="xs:string" use="optional"/>
         </xs:extension>
        </xs:simpleContent>
       </xs:complexType>
      </xs:element>
      <xs:element name="osoite">
       <xs:complexType>
        <xs:sequence>
         <xs:element name="katuosoite" type="xs:string"/>
         <xs:element name="postinumero" type="xs:string"/>
         <xs:element name="postitoimipaikka" type="xs:string"/>
        </xs:sequence>
       </xs:complexType>
      </xs:element>
      </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name="teksti" type="xs:string"/>
  </xs:sequence>
 </xs:complexType>
</xs:element>
</xs:schema>


Ratkaisu: muistio7.xml

Tehtävä 7.5

Täydennä tuotteet.xml dokumentille laadittua XML Schemaa tuotteet.xsd.

Ratkaisut: tuotteet7.xml   tuotteet7.xsd

Tehtävä 7.6

Laadi Panun Kuppilan ruokalistasta tehdylle XML-dokumentille XML Schema.

Tehtävä 7.7

Kokoa alla oleva yhdeksi XML Schemaksi. XML Schemaa vastaava XML-dokumentti saa.xml

  1. Elementit
    1. <lampotila>-4.5</lampotila>
      pakollinen
    2. <ilma>Puolipilvinen<ilma>
      ei pakollinen
    3. <tunti>12</tunti>
      oletusarvona 12
    4. <minuutti>0</minuutti>
      oletusarvona 0
    5. <paikkakunta>Helsinki</paikkakunta>
      pakollinen
  2. Attribuutit
    1. suunta="länsi"
      pakollinen
  3. Monimutkaista rakennetta olevat elementit
    1. <kello>
          <tunti>12</tunti>
          <minuutti>0</minuutti>
      </kello>
    2. <tuuli suunta="länsi">7</tuuli>
    3. <saatieto>
        <paiva>
          <pp>25</pp>
          <kk>10</kk>
          <vv>2005</vv>
        </paiva>
        <kello>
          <tunti>12</tunti>
          <minuutti>0</minuutti>
        </kello>
        <paikkakunta>Helsinki</paikkakunta>
        <lampotila>-4.5</lampotila>
        <tuuli suunta="länsi">7</tuuli>
      </saatieto>
    4. <saatiedot>
         <saatieto>
         </saatieto>
      </saatiedot>
      saatiedot sisältää yhden tai useamman säätiedon

Ratkaisut: saa7.xml   saa7.xsd

Tehtävä 7.8.

Tee alla olevaa huoneistot7.dtd-määrittelyä vastaava XML Schema

<!ELEMENT huoneistot (huoneisto+)> 
<!ELEMENT huoneisto (huoneiden_lkm, koko, sijainti, hinta, kuvaus?)> 
<!ATTLIST huoneisto 
          myyja CDATA #REQUIRED 
          osoite CDATA #REQUIRED> 
<!ELEMENT huoneiden_lkm (#PCDATA)> 
<!ELEMENT koko (#PCDATA)> 
<!ELEMENT sijainti (#PCDATA)> 
<!ATTLIST sijainti 
          kaupunginosa CDATA #REQUIRED> 
<!ELEMENT hinta (#PCDATA)> 
<!ELEMENT kuvaus (#PCDATA)> 

Ratkaisut: huoneistot7.xml   huoneistot7.xsd


Päivitetty: 25.03.2009