Exercitii 2

Se considera sistemul electronic de control al calitatii aerului, ce salveaza inregistrarile intr-un fisier XML descris prin urmatorul DTD:
 
<!ELEMENT jurnal (senzor+) >
<!ATTLIST senzor 
    nume CDATA #REQUIRED
    timp CDATA #REQUIRED>
<!ELEMENT senzor (indice+)>     
<!ELEMENT indice (#PCDATA)>
<!ATTLIST indice id CDATA #REQUIRED>
 
De exemplu:
 
<jurnal>
<senzor nume="L01" timp="18:00:15 23.01.2010">
    <indice id="SO2">2</indice>
    <indice id="CO">3.5</indice>
    <indice id="PM10">1000</indice>
</senzor>
<senzor nume="L02" timp="18:00:35 23.01.2010">
    <indice id="O3">2.9</indice>
    <indice id="PM10">1010</indice>
</senzor>
<senzor nume="L01" timp="18:01:15 23.01.2010">
    <indice id="SO2">2.5</indice>
    <indice id="PM10">1200</indice>
</senzor>
...
</jurnal>
 
Datele despre senzori sunt inregistrate intr-un fisier XML descris prin urmatorul DTD:
 
<!ELEMENT senzori (senzor+) >
<!ELEMENT senzor EMPTY>
<!ATTLIST senzor 
    nume CDATA #REQUIRED
    locatie CDATA #REQUIRED>
 
De exemplu:
 
<senzori>
    <senzor nume="L01" locatie="Unirii nr. 17"/>
    <senzor nume="L02" locatie="Republicii nr. 100"/>
...
</senzori>
 
 
CERINTE
 
Se cere sa se afiseze, folosind un singur document XSL:
  - numarul total de senzori instalati;
  - de cate ori s-a inregistrat la o raportare nivelul de ozon "O3", dar nu si cel de pulberi in suspensie "PM10";
  - in ordine cronologica, toate inregistrarile din ziua de 1 ianuarie 2010: numar curent, valoare si nume indice de forma "SO2: 2.5, CO: 3.5, NO2: 100.", nume senzor (cu rosu daca este situat pe Republicii sau Victoriei, cu albastru altfel);
  - numele senzorului care a raportat ieri ultimul nivelul de dioxid de sulf "SO2";
  - intr-un tabel, pentru fiecare senzor, valorile minime, maxime, si medii inregistrate in perioada 1 ian - 1 apr 2010 pentru poluantii: dioxid de sulf (SO2), dioxid de azot (NO2), ozon (O3), monoxid de carbon (CO), pulberi in suspensie (PM10).
Comments