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).