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

Tietojenkäsittelyn koulutusohjelma
Tieto ja tiedon varastointi

XML tuntitehtäviä 2

 

Keskeinen asia

Tehtävä 2.1

Tulkitse seuraavat DTD-määrittelyrivit:

  1. <!ELEMENT tilaukset (tilaus+)>
  2. <!ELEMENT tilaus (asiakas, tuote+)>
  3. <!ELEMENT tilaus (asiakas, tuote)+>
  4. <!ELEMENT asiakas(nimi , osoite , puhelin+)>
  5. <!ELEMENT tuote (numero, nimi+, hinta?)>
  6. <!ATTLIST tilaus
        nro CDATA #REQUIRED
        toimitustapa CDATA "posti">
  7. <!ATTLIST asiakas
        email CDATA #IMPLIED
        status (tavallinen | hopea | kulta) #REQUIRED
        kieli CDATA "Suomi">

Tehtävä 2.2

Tee XML-dokumentti, joka noudattaa  ulkoisen tilaus.dtd-tiedoston määrittelemää rakennetta.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT tilaus (asiakas, tuote+)>
<!ATTLIST tilaus
    nro CDATA #REQUIRED
    toimitustapa CDATA "posti">
<!ELEMENT asiakas (nimi, osoite, puhelin+)>
<!ATTLIST asiakas
    email CDATA #IMPLIED
    status (tavallinen | hopea | kulta) #REQUIRED
    kieli CDATA "Suomi">
<!ELEMENT nimi (#PCDATA)>
<!ELEMENT osoite (katuosoite, postitoimipaikka)>
<!ELEMENT katuosoite (#PCDATA)>
<!ELEMENT postitoimipaikka (#PCDATA)>
<!ELEMENT puhelin (#PCDATA)>
<!ELEMENT tuote (numero, nimi+, hinta?)>
<!ATTLIST tuote
    nro CDATA #REQUIRED>
<!ELEMENT numero (#PCDATA)>
<!ELEMENT hinta (#PCDATA)>

Ratkaisu: tilaus.xml

Tehtävä 2.3

Tee seuraaville elementeille DTD määrittely:

Ratkaisu: henkilot.xml    henkilot.dtd

Tehtävä 2.4

Tee tuotteet.xml-dokumentille DTD.

Ratkaisu: tuotteet2.xml    tuotteet2.dtd

Määrittele tuotteet-elementille kokoaja-attribuutti, joka voi saadaa arvot Salminen, Lahtinen, Virtanen. Toteuta attribuutti käyttäen parametrientiteettejä.

Ratkaisut: tuotteet3.xml   tuotteet3.dtd

Tehtävä 2.5

Tee edellisellä kertaa laatimallesi Panun Kuppilan XML-dokumentille DTD.

Tehtävä 2.6

Tee edellisellä kerralla laaditulle saa.xml-dokumentille DTD. Voit käyttää pohjana myös omaa XML-dokumenttiasi.

Ratkaisu: saadtd.xml   saadtd.dtd

Tehtävä 2.7

Kirjoita allaoleviin DTD - määrityksiin vastaavat XML - elementit. Tee jokaiseen kaksi vaihtoehtoa.

  1. <!ELEMENT kurssi (numero, (yliopettaja | opettaja+), (arvosana | hyvaksytty))>
  2. <!ELEMENT muistilappu (paiva | henkilo)*>
  3. <!ELEMENT muistilappu (#PCDATA | paiva | henkilo)*>
  4. <!ATTLIST henkilo
        tunnus ID #REQUIRED
        titteli (tuntiopettaja | lehtori | koulutusohjelmavastaava) "lehtori"
        aloitusvuosi NMTOKEN #IMPLIED     osaamisalueet CDATA #REQUIRED>

Päivitetty: 09.03.2009