lab6 PAI GR312B CHEBDOWSKI GRZESZCZAK LAB6

Politechnika Świętokrzyska
Projektowanie Aplikacji Internetowych

Laboratorium 6

XML

Data wykonania ćwiczenia: 09.01.2012

Godzina: 11:40

1. Zbudować witrynę opartą o język XML.
Baza danych magazynu wojskowego. Przedmioty z magazynu są przypisane osobą na podstawie ID zawartych w podelementach ‘relation’.

<!DOCTYPE baza [

<!ELEMENT baza (magazyn,osoby,relacje)>
<!ELEMENT magazyn (sprzet*)>
<!ELEMENT osoby (osoba*)>
<!ELEMENT relacje (relation*)>
<!ELEMENT sprzet (#PCDATA)>
<!ELEMENT relation (EMPTY)>
<!ELEMENT osoba (#PCDATA)>
<!ATTLIST sprzet id_sprz ID #REQUIRED>
<!ATTLIST osoba id_os ID #REQUIRED>
<!ATTLIST relation id_sprz IDREF #REQUIRED>
<!ATTLIST relation id_os IDREF #REQUIRED>

]>

<baza>

<magazyn>

<sprzet id_sprz="a1">ckm</sprzet>
<sprzet id_sprz="a2">skarpety</sprzet>
<sprzet id_sprz="a3">manierka</sprzet>
<sprzet id_sprz="a4">granat</sprzet>
<sprzet id_sprz="a5">kalosze</sprzet>
<sprzet id_sprz="a6">bazuka</sprzet>

</magazyn>

<osoby>

<osoba id_os="b3">Kazimierz</osoba>
<osoba id_os="b2">Waldek</osoba>
<osoba id_os="b1">Pedro</osoba>

</osoby>

<relacje>

<relation id_os="b1" id_sprz="a1"/>
<relation id_os="b1" id_sprz="a2"/>
<relation id_os="b1" id_sprz="a3"/>
<relation id_os="b1" id_sprz="a5"/>

<relation id_os="b2" id_sprz="a2"/>
<relation id_os="b2" id_sprz="a3"/>
<relation id_os="b2" id_sprz="a5"/>
<relation id_os="b2" id_sprz="a6"/>

<relation id_os="b3" id_sprz="a1"/>
<relation id_os="b3" id_sprz="a2"/>
<relation id_os="b3" id_sprz="a5"/>

</relacje>

</baza>

a) CSS
Wyświetlenie bazy z pliku army2.xml z użyciem CSS.
Prolog pliku xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<?xml-stylesheet type="text/css" href="army.css"?>

Plik army.css:
baza {
font-family:Arial, Helvetica, sans-serif;
font-size: 20px;
background-color: #66FF00;
padding: 50px;
}

magazyn {
display:block;
font-size: 15px;
}

sprzet {
display:block;
}

osoby {
font-weight: bold;
}

osoba {
display:block;
}

h1 {
font-weight: bold;
font-size: 50px;
color:#969696;
}

b) XSL
Wyświetlenie bazy z pliku army.xml z użyciem XSL..
Prolog pliku xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="army.xsl"?>

Plik army.xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html>

<head>

<title> Magazyn wojskowy </title>

<link href="army.css" rel="stylesheet" type="text/css"/>

</head>

<body>

<center><h1>

-- Magazyn wojskowy --

</h1></center>

<table>

<tr>

<th>Osoba</th>

</tr>

<xsl:for-each select="//osoba">

<tr>

<td><xsl:apply-templates/></td>

</tr>

</xsl:for-each>

<th>Itemy</th>

<xsl:for-each select="//sprzet">

<tr>

<td><xsl:apply-templates/></td>

</tr>

</xsl:for-each>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

c)PHP
Wyświetlenie bazy z pliku army.xml. Przechodząc po relacjach wyświetlamy osobę i przypisane jej przedmioty.
Plik army.php:
<?php

$baza = simplexml_load_file("army.xml");

foreach($baza->relacje->relation as $s) {

$id = $s->attributes(); //id z relacji

foreach($baza->osoby->osoba as $boo) {

$b = $boo->attributes(); //id z osoby

if(!strcmp($b, $id[0])) {

print $boo.' : ';

}

}

foreach($baza->magazyn->sprzet as $bs) {

$idbs = $bs->attributes(); // id ze sprzetu

if(!strcmp($idbs, $id[1])) {

print $bs.'</br>';

}

}

}

?>


Wyszukiwarka

Podobne podstrony:
metobl 312B lab6 scilab Chebdowski
lab6, SWBlab6
lab6
lab6
lab6 NHIP pyt
lab6 doc
Lab6 PSN cd 2015
AKiSO lab6
rownania nieliniowe, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, metody numeryczne,
Lab6 5 id 260087 Nieznany
AK lab6 (2)
lab6 7
lab6
konspekt lab6 id 245555 Nieznany
Sprawozdanie EM lab6
lab6, Edukacja, ZiIP, sem. I, Podstawy programowania, Laborki i inne, Podstawy Programowania
lab6, MECHATRONIKA 1 ROK PWSZ, SEMESTR II, Metrologia techniczna i systemy pomiarowe, Laborki
Sprawozdanie kartka, AGH WIMIR AiR, Semestr 3, JPO, lab6 JPO

więcej podobnych podstron