<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FireTeam &#187; xml</title>
	<atom:link href="http://www.fireteam.it/tag/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fireteam.it</link>
	<description>#fuoco@AzzurraNet</description>
	<lastBuildDate>Tue, 16 Mar 2010 15:55:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Descrivere i media con Mpeg-7</title>
		<link>http://www.fireteam.it/2009/09/descrivere-i-media-con-mpeg-7/</link>
		<comments>http://www.fireteam.it/2009/09/descrivere-i-media-con-mpeg-7/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 12:34:35 +0000</pubDate>
		<dc:creator>saverio</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Mpeg-7]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.fireteam.it/?p=705</guid>
		<description><![CDATA[La diffusione delle connessioni a banda larga ha agevolato la diffusione di audio e video via web: un esempio eclatante è YouTube! Ma riuscire a trovare un video particolare tra la grossa quantità di dati multimediali sul web è un compito arduo: il valore del dato multimediale dipende da quanto è agevole trovarlo, gestirlo, ed [...]]]></description>
			<content:encoded><![CDATA[<p class="western">La diffusione delle connessioni a banda larga ha agevolato la diffusione di audio e video via web: un esempio eclatante è YouTube! Ma riuscire a trovare un video particolare tra la grossa quantità di dati multimediali sul web è un compito arduo: il valore del dato multimediale dipende da quanto è agevole trovarlo, gestirlo, ed accedere.</p>
<p style="margin-bottom: 0cm">Per gestire questa grossa quantità di dati multimediali, sia da parte degli utenti, sia da parte dei sistemi automatici, ci aiuta Mpeg-7: uno standard nato per codificare i contenuti multimediali attraverso la definizione di metadati sui dati multimediali.</p>
<p style="margin-bottom: 0cm">I precedenti standard Mpeg-1 (1992), Mpeg-2 (1994), e Mpeg-4 (1999) riguardano la codifica del video. Nel 2001 è stato definito Mpeg-7 che non definisce il modo di codificare un video, ma riguarda la sua metataggatura attraverso un linguaggio XML.<br />
Perché 7? Mpeg-7 permette di definire metadati sui video codificati con Mpeg 1, 2, e 4. Siccome 4+2+1=7, nasce il nome Mpeg-7.
</p>
<p style="margin-bottom: 0cm"><span id="more-705"></span></p>
<p style="margin-bottom: 0cm">Notiamo come non è stato nominato Mpeg-3, lo standard per i famosissimi mp3 <img src='http://www.fireteam.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . In realtà questo standard non esiste, ma il nome Mpeg-3 è usato per riferirsi alla parte audio di Mpeg-2.</p>
<h2 class="western">Metadati</h2>
<p style="margin-bottom: 0cm">I metadati associati ad un video permettono di descrivere cosa c&#8217;è nel video. Mpeg-7 permette descrizioni sia a basso livello (caratteristiche del segnale, come il colore di un oggetto), sia ad alto livello (informazioni semantiche, come la scena di un goal in una partita di calcio).<br />
Un esempio di file XML in formato Mpeg-7 contenente la descrizione di un video di una notizia è:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span> <span style="color: #000066;">standalone</span>=<span style="color: #ff0000;">&quot;no&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
 <span style="color: #808080; font-style: italic;">&lt;!--Metadati generati automaticamente dall'applicazione--&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Mpeg7</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:schema:2001&quot;</span> <span style="color: #000066;">xmlns:mpeg7</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:schema:2001&quot;</span></span>
<span style="color: #009900;"> <span style="color: #000066;">xmlns:xsi</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span></span>
<span style="color: #009900;"> <span style="color: #000066;">xsi:schemaLocation</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:schema:2001 Mpeg7-2001.xsd&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Description</span> <span style="color: #000066;">xsi:type</span>=<span style="color: #ff0000;">&quot;ContentEntityType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MultimediaContent</span> <span style="color: #000066;">xsi:type</span>=<span style="color: #ff0000;">&quot;VideoType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Video<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaProfile<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaFormat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Content</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;MPEG7ContentCS&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FileFormat</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:cs:FileFormatCS:2001:3&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>mpeg<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FileFormat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FileSize<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>17333073<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FileSize<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;VisualCoding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Format</span> <span style="color: #000066;">colorDomain</span>=<span style="color: #ff0000;">&quot;color&quot;</span></span>
<span style="color: #009900;"> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:cs:VisualCodingFormatCS:2001:1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Frame</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;576&quot;</span> <span style="color: #000066;">rate</span>=<span style="color: #ff0000;">&quot;8000&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;720&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/VisualCoding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaFormat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaInstance</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;v20090201_video_15213221&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;InstanceIdentifier</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090201_video_15213221.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaInstance<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaProfile<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CreationInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Creation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Obama: presto un piano per famiglie Usa per tagliare costi
 mutui<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Abstract<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FreeTextAnnotation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 Presidente cerca arginare effetti devastante crisi economica
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FreeTextAnnotation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;StructuredAnnotation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;When<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1 Feb 2009<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/When<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StructuredAnnotation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Abstract<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Creator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Role</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:cs:RoleCS:2001:producer&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Red<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Role<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Agent</span> <span style="color: #000066;">xsi:type</span>=<span style="color: #ff0000;">&quot;OrganizationType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Apcom<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Agent<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Creator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CreationCoordinates<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>milano<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TimePoint<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2009-02-01T15:21:32<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/TimePoint<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CreationCoordinates<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CopyrightString<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>TMNews<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CopyrightString<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Creation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Classification<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Genre</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;urn:mpeg:TVAnytime_v0.1ContentCS:3.14&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>est<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Genre<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaReview<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Rating<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RatingValue<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0.0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RatingValue<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RatingScheme</span> <span style="color: #000066;">best</span>=<span style="color: #ff0000;">&quot;5&quot;</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;higherBetter&quot;</span> <span style="color: #000066;">worst</span>=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Overall<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RatingScheme<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Rating<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaReview<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Classification<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090201_video_17483840.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090201_video_18024720.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090201_video_18094945.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090201_video_18153193.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090202_video_13033231.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090202_video_13094131.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090202_video_16491593.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090202_video_17042673.mov<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/RelatedMaterial<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CreationInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;UsageInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Availability</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;onDemand&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;InstanceRef</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;MPEG7PublicationTypeCS:4&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Dissemination<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Format</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;MPEG7PublicationTypeCS:4&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Internet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Format<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Region<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>it<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Region<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Dissemination<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Availability<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;UsageRecord<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;AvailabilityRef</span> <span style="color: #000066;">idref</span>=<span style="color: #ff0000;">&quot;onDemand&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Audience<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Audience<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/UsageRecord<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/UsageInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaTime<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaTimePoint<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>T00:00:00<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaTimePoint<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaDuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>PT0H0M29S<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaDuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaTime<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Video<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MultimediaContent<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MultimediaContent</span> <span style="color: #000066;">xsi:type</span>=<span style="color: #ff0000;">&quot;ImageType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Image<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaProfile<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaFormat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Content</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:cs:ContentCS:2001:2&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>visual<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Content<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FileFormat</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:cs:FileFormatCS:2001:3&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>JPEG2000<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FileFormat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FileSize<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>12014<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FileSize<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;VisualCoding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Format</span> <span style="color: #000066;">colorDomain</span>=<span style="color: #ff0000;">&quot;binary&quot;</span></span>
<span style="color: #009900;"> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:cs:VisualCodingFormatCS:2001:1&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>JPEG2000<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Format<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Frame</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;288&quot;</span> <span style="color: #000066;">rate</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;360&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/VisualCoding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaFormat<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaInstance</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;i20090201_video_15213221&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;InstanceIdentifier</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>20090201_video_15213221.jpg<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaUri<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaLocator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaInstance<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaProfile<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MediaInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CreationInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Creation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 Foto
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Creator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Role</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;urn:mpeg:mpeg7:cs:RoleCS:AUTHOR&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Red<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Role<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Agent</span> <span style="color: #000066;">xsi:type</span>=<span style="color: #ff0000;">&quot;OrganizationType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>MPEG<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Agent<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Creator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Creation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CreationInformation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Image<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MultimediaContent<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Mpeg7<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

</p>
<p style="margin-bottom: 0cm">Mpeg-7 è un linguaggio XML, ossia usa XML per definire i metadati. In realtà un file Mpeg-7 non è altro che un file &#8216;.xml&#8217; associato ad uno o più oggetti multimediali. Quindi è possibile memorizzare i metadati indipendentemente dai video&#8230; ad esempio un possibile uso di Mpeg-7, è la costruzione di un database multimediale!</p>
<h2 class="western">Componenti di Mpeg-7</h2>
<p style="margin-bottom: 0cm">Lo standard Mpeg-7 è composta da quattro elementi fondamentali:</p>
<ul>
<li>
<p style="margin-bottom: 0cm">Description Tools</p>
</li>
<li>
<p style="margin-bottom: 0cm">Descriptor</p>
</li>
<li>
<p style="margin-bottom: 0cm">Description Scheme</p>
</li>
<li>
<p style="margin-bottom: 0cm">DDL – Description Definition<br />
Language</p>
</li>
<li>
<p style="margin-bottom: 0cm">System Tool</p>
</li>
</ul>
<p style="margin-bottom: 0cm">I metadati di un oggetto multimediale saranno descritti usando i &#8216;Description Tools&#8217;.<br />
I &#8216;Description Tools&#8217; a loro volta fanno uso del &#8216;Description Definition Language&#8217; (DDL) che è una estensione di XML Schema proprio per Mpeg-7.<br />
I &#8216;System Tool&#8217; non riguardano la definizione di metadati, ma la loro rappresentazione e trasmissione. Quindi il file XML è prodotto utilizzando solo &#8216;Description Tools&#8217; e &#8216;DDL&#8217;, e poi questo file XML può essere diffuso utilizzando le tecniche dei &#8216;System Tools&#8217;.</p>
<h3 class="western">Description Definition Language (DDL)</h3>
</p>
<p style="margin-bottom: 0cm">Il DDL è basato su XML Schema Language e ne rappresenta una sorta di estensione orientata al multimedia. In particolare XML Schema non è stato progettato per le descrizioni di contenuti audio/video e necessita quindi di tipi di dato per array e matrici, e tipo di dato per gestire il tempo (BasicTimePoint e BasicDuration).</p>
<p style="margin-bottom: 0cm">Ad esempio la definizione di TimeType è:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!-- Definition of Time datatype --&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;complexType</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;TimeType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;choice<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;TimePoint&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;mpeg7:TimePointType&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;RelTimePoint&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;mpeg7:RelTimePointType&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;RelIncrTimePoint&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;mpeg7:RelIncrTimePointType&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/choice<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;choice</span> <span style="color: #000066;">minOccurs</span>=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Duration&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;mpeg7:durationType&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;element</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;IncrDuration&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;mpeg7:IncrDurationType&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/choice<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/sequence<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/complexType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!-- Definition of TimePoint datatype --&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;simpleType</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;TimePointType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;restriction</span> <span style="color: #000066;">base</span>=<span style="color: #ff0000;">&quot;mpeg7:basicTimePointType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pattern</span></span>
<span style="color: #009900;"> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;(\-?\d+(\-\d{2}(\-\d{2})?)?)?(T\d{2}(:\d{2}(:\d{2} (:\d+)?)?)?)?(F\d+)?(\-|\+\d{2}:\d{2})?&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/restriction<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/simpleType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!-- Definition of duration datatype --&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;simpleType</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;durationType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;restriction</span> <span style="color: #000066;">base</span>=<span style="color: #ff0000;">&quot;mpeg7:basicDurationType&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pattern</span></span>
<span style="color: #009900;"> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;\-?P(\d+D)?(T(\d+H)?(\d+M)</span>
<span style="color: #009900;"> ?(\d+S)?(\d+N)?)?( \d+F)?((\-|\+)\d{2}:\d{2}Z)?&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/restriction<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/simpleType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p style="margin-bottom: 0cm">Usando queste definizioni di tipo contenute nella DDL, siamo in grado di descrivere il fatto che un certo filmato rappresenta un evento iniziato il 16 ottobre 2002 alle ore 17:00 in un paese con GTM+1, e dura 10 giorni, con questo codice:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>0
1
2
3
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Time<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TimePoint<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2002-10-16T17:00+01:00<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/TimePoint<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Duration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>P10D<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Duration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Time<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p style="margin-bottom: 0cm">Ovviamente il DDL, oltre ai tipi qui introdotti (TimeType, TimePointType, e durationType), contiene molte altre definizioni che per brevità non tratteremo.</p>
<h3 class="western">Description Tools</h3>
<p style="margin-bottom: 0cm">I Description Tools comprendono &#8216;Descriptor&#8217; e &#8216;Descriptor Schemes&#8217; che preferisco non distinguere e trattarli insieme, raggruppandoli in base alle loro funzionalità:</p>
<ul>
<li>
<p style="margin-bottom: 0cm"><strong>Schema and Basic Elements</strong>:<br />
forniscono tutti i tipi di dato utilizzati nelle descrizioni, e la<br />
loro corrispondenza con i tag utilizzati in Mpeg-7;</p>
</li>
<li>
<p style="margin-bottom: 0cm"><strong>Content Description</strong>:<br />
rappresentazione dell&#8217;informazione audio/video sia a livello<br />
strutturale (basso livello), sia a livello semantico (alto livello);</p>
</li>
<li>
<p style="margin-bottom: 0cm"><strong>Content Management</strong>:<br />
permette di descrivere caratteristiche come creazione, formato, ed<br />
uso del materiale multimediale;</p>
</li>
<li>
<p style="margin-bottom: 0cm"><strong>Content Organization</strong>:<br />
Permette di gestire collezioni di materiale multimediale: si possono<br />
usare questi tool per implementare una base di dati XML di<br />
informazioni su materiale multimediale;</p>
</li>
<li>
<p style="margin-bottom: 0cm"><strong>Navigation and Access</strong>:<br />
aiutano l&#8217;accessibilità al file multimediale;</p>
</li>
<li>
<p style="margin-bottom: 0cm"><strong>User Interaction</strong>:<br />
permettono di memorizzare le preferenze dell&#8217;utente.</p>
</li>
</ul>
<p>Con i Description Tools siamo in grado di produrre due tipi di descrizioni Mpeg-7 valide: le &#8220;Complete Descriptions&#8221; che descrivono interamente un materiale multimediale come un video (l&#8217;esempio di file xml Mpeg-7 di questo articolo corrisponde ad una Complete Description perchè descrive completamente il video), e le &#8220;Descriptions Units&#8221; che non sono descrizioni intere ma dei componenti che possono far parte di una Complete Description.</p>
<h2 class="western">Conclusioni</h2>
<p style="margin-bottom: 0cm">Non si è trattata la parte dei System Tools, inoltre della parte dei Description Tool si è data una semplice descrizione generale. I Description Tool sono la parte più corposa dello standard Mpeg-7, e studiarli tutti può richiedere tempo. Si suggerisce a tal proposito di utilizzare i documenti ufficiali dello standard o l&#8217;utilissima guida di Chiariglione all&#8217;indirizzo http://www.chiariglione.org/mpeg/ .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fireteam.it/2009/09/descrivere-i-media-con-mpeg-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introduzione alla Tecnologia XML</title>
		<link>http://www.fireteam.it/2009/09/introduzione-alla-tecnologia-xml/</link>
		<comments>http://www.fireteam.it/2009/09/introduzione-alla-tecnologia-xml/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 15:16:49 +0000</pubDate>
		<dc:creator>saverio</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Database XML]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.fireteam.it/2009/09/introduzione-alla-tecnologia-xml/</guid>
		<description><![CDATA[Il linguaggio XML è diventato uno degli elementi fondamentali per la realizzazione di sistemi informativi, indipendentemente dalla tecnologia usata.
Storia
Il World Wide Web Consortium (W3C), in seguito alla guerra dei browser fu costretto a seguire le individuali estensioni al linguaggio HTML. Dovette scegliere quali caratteristiche standardizzare e quali lasciare fuori dalle specifiche ufficiali dell&#8217;HTML. Fu in [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_700" class="wp-caption alignleft" style="width: 268px"><a href="http://www.fireteam.it/wp-content/uploads/2009/09/xquery.png"><img class="size-full wp-image-700" title="xquery" src="http://www.fireteam.it/wp-content/uploads/2009/09/xquery.png" alt="Relazione tra XQuery ed XPath" width="258" height="169" /></a><p class="wp-caption-text">Relazione tra XQuery ed XPath</p></div>
<p>Il linguaggio XML è diventato uno degli elementi fondamentali per la realizzazione di sistemi informativi, indipendentemente dalla tecnologia usata.</p>
<h2>Storia</h2>
<p>Il World Wide Web Consortium (W3C), in seguito alla guerra dei browser fu costretto a seguire le individuali estensioni al linguaggio HTML. Dovette scegliere quali caratteristiche standardizzare e quali lasciare fuori dalle specifiche ufficiali dell&#8217;HTML. Fu in questo contesto che iniziò a delinearsi la necessità di un linguaggio di markup che desse maggiore libertà nella definizione dei tag, pur rimanendo in uno standard.</p>
<p>Il &#8220;progetto XML&#8221;, che ebbe inizio alla fine degli anni &#8216;80 nell&#8217;ambito della SGML Activity del W3C, suscitò un così forte interesse a tal punto che la W3C creò un gruppo di lavoro, chiamato XML Working Group, composto da esperti mondiali delle tecnologie SGML, ed una commissione, XML Editorial Review Board, deputata alla redazione delle specifiche del progetto.</p>
<p>Nel febbraio del 1998 le specifiche divennero una raccomandazione ufficiale con il nome di Extensible Mark-up Language, versione 1.0. Ben presto ci si accorse che XML non era solo limitato al contesto web, ma era qualcosa di più: uno strumento che permetteva di essere utilizzato nei più diversi contesti, dalla definizione della struttura di documenti, allo scambio delle informazioni tra sistemi diversi, dalla rappresentazione di immagini alla definizione di formati di dati.</p>
<p><span id="more-696"></span></p>
<h2>Il Linguaggio</h2>
<ul>
<li><strong>Definizione XML</strong>: (acronimo di eXtensible Markup Language) è un metalinguaggio di markup, ovvero un linguaggio marcatore che definisce un meccanismo sintattico che consente di estendere o controllare il significato di altri linguaggi marcatori. Costituisce il tentativo di produrre una versione semplificata di SGML che consenta di definire in modo semplice nuovi linguaggi di markup</li>
</ul>
<p>Quindi quello che si fa con XML è definire/progettare dei propri “Linguaggi XML” (cioè un linguaggio basato su XML); ad esempio possiamo scegliere di codificare in XML i risultati di una giornata del campionato di calcio:</p>
<p><!--more--></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>0
1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;partite</span> <span style="color: #000066;">giornata</span>=”3°”<span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;partita</span> <span style="color: #000066;">numero</span>=”1”<span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;squadra<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Napoli<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/squadra<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;squadra<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Juventus<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/squadra<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;risultato<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>3-0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/risultato<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/partita<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;partita</span> <span style="color: #000066;">numero</span>=”2”<span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;squadra<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Roma<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/squadra<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;squadra<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Lazio<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/squadra<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;risultato<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2-2<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/risultato<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/partita<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/partite<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Il processo di sviluppo di un linguaggio XML è detto “XMLificazione”: ossia la scelta dei tag (partite, partita, squadra, risultato), degli attributi (giornata, numero), e della loro struttura.</p>
<p>Ci possono essere però altri linguaggi XML che usano i nostri stessi tag, e mischiare più linguaggi XML con nomi dei tag uguali può portare a confusione, per questo possiamo introdurre un namespace per i nostri nomi.</p>
<ul>
<li><strong>Namespace XML</strong>: Un namespace è una collezione di nomi di entità, definite dal programmatore, omogeneamente usate in uno o più file sorgente. Lo scopo dei namespace è quello di evitare confusione ed equivoci nel caso siano necessarie molte entità con nomi simili, fornendo il modo di raggruppare i nomi per categorie.Nel linguaggio XML i namespaces sono definiti esplicitamente.</li>
</ul>
<p>Nel nostro caso la prima riga diventerà:</p>
<p>&lt;partite giornata=”3°” xmlns=”http://www.fireteam.it”&gt;</p>
<p>In questo modo indichiamo che il tag &#8216;partite&#8217; e tutto il suo contenuto appartengono al namespace &#8216;http://www.fireteam.it&#8217; di default.</p>
<p>Fin qui XML sembra la più banale delle tecnologie, eppure ha avuto così tanto successo&#8230; allora perché è così importante?</p>
<h2>La Tecnologia XML</h2>
<p>Il primo motivo è che tutti i file XML sono codificati in UNICODE (i famosi UTF-8 UTF-16, ed UTF-32), e sono stati eliminati in questo modo molto dei fastidi che affligevano i formati testuali.</p>
<p>Il secondo motivo è che con XML si può rappresentare l&#8217;informazione in modo semplice, mantenendo un minimo di struttura; non a caso l&#8217;informazione codificata in XML è detta semistrutturata, che è il compromesso dalla completa strutturazione (come ad esempio la struttura rigida di uno schema di un database relazionale) e l&#8217;assenza di struttura (schema-less, ossia il testo puro).</p>
<p>Il terzo motivo, che ritengo più importante, è che attorno a questo semplice linguaggio di markup sono state definite parecchie tecnologie utili a risparmiare lavoro durante il trattamento dei dati. Queste sono:</p>
<ul>
<li><strong>Xpath</strong>: è un linguaggio parte della famiglia XML che permette di individuare i nodi all&#8217;interno di un documento XML.</li>
</ul>
<ul>
<li><strong>Linguaggi Schema</strong>: un linguaggio di schema è un linguaggio formale per esprimere “schemi”. Uno schema è la definizione formale della sintassi di un linguaggio XML, ovvero una famiglia di documenti XML.
<ul>
<li><strong>DTD</strong>: Il linguaggio DTD è utile a definire schemi DTD per un particolare linguaggio XML. DTD è semplice, con un potere espressivo limitato, non è autoesplicativo poiché non usa una notazione XML (è descritto da una grammatica BNF), e tra i tanti difetti non supporta i namespace in quanto il linguaggio DTD stato definito è stato definito prima dei namespace.</li>
<li><strong>Schema</strong>: è un linguaggio di schema nato per sostituire DTD. E&#8217; più espressivo, è quasi autoesplicativo (è scritto in XML e la sua sintassi è definibile con XML schema stesso, ma non si riescono a catturare tutti gli aspetti sintattici del linguaggio). Inoltre introduce i tipi di dato e permette di crearne nuovi, in modo da riuscire a fare buoni controlli sui contenuti dei file XML.</li>
</ul>
</li>
</ul>
<ul>
<li><strong>XSL</strong>: acronimo di eXtensible Stylesheet Language, è il linguaggio di descrizione dei fogli di stile per i documenti in formato XML. Com&#8217;è noto, lo standard XML prevede che i contenuti di un documento siano separati dalla formattazione della pagina in cui verranno pubblicati.
<ul>
<li><strong>XSLT</strong>: XSL Transformations &#8211; il linguaggio di trasformazione dell&#8217;XML. Fa uso di XPath per accedere alle parti di un documento XML. La trasformazione è fatta da un modulo detto Processore XSLT, come ad esempio quello incluso nei browser.</li>
<li><strong>XSL-FO</strong>: XSL Formatting Objects &#8211; usato per l&#8217;applicazione degli stili e del modo di apparizione a un documento XML.</li>
</ul>
</li>
</ul>
<ul>
<li><strong>XQuery</strong>: abbrevazione per XML Query Language, è un linguaggio di programmazione specificato dal W3C e destinato ad interrogare documenti e basi di dati XML.</li>
</ul>
<p>Qui è d&#8217;obbligo soffermarsi per discutere sull&#8217;utilità di un linguaggio di interrogazione XML. Un&#8217;ambiziosa applicazione di XML ha come scopo la generalizzazione del tradizionale modello delle basi di dati relazionali. Da tempo si sta cercando un&#8217;alternativa ai vecchissimi database relazionali, e si è provato in svariate direzioni&#8230; database gerarchici, database multidimensionali, database ad oggetti, ecc.</p>
<p>XML è un alternativa allettane! Oggi si scrive molto in XML, specialmente sul web dove vi sono pagine XHTML (che sono XML), e l&#8217;idea di avere un database XML perfettamente integrabile con tutti gli altri nostri dati non è affatto male&#8230; il World Wide Web può così diventare una gigantesca base di dati.</p>
<p>XQuery è un linguaggio per interrogare file XML, allo stesso modo in cui SQL interroga base di dati relazionali&#8230; ed è qui che una collezione di file XML è spesso chiamata Database XML.</p>
<p>E come tutti i linguaggi di interrogazione che si rispettano anche per XQuery c&#8217;è un algebra&#8230; XML Query Algebra definita dal W3C. In realtà i lavori sono ancora in progresso e ci sono varie proposte di algebra:</p>
<ul>
<li><strong>Algebra per linguaggi di interrogazione XML</strong>: sono stati proposti svariati linguaggi di interrogazione XML, come XQuery, XML-QL, ed altri; quindi c&#8217;è un interesse crescente verso l&#8217;interrogazione di file XML. Non ancora però è stata definita un&#8217;algebra comune per questi linguaggi. Un algebra formale è un passo obbligato per avere una buona ottimizzazione delle query.
<ul>
<li><strong>TAX</strong>: E&#8217; una proposta di algebra non standard, utilizzata da un motore di database XML chiamato “Timber XML”. TAX sta per “Tree Algebra for XML”, ed è una proposta interessante perché usa un modello di dati dove i documenti XML sono effettivamente visti come alberi, quindi le varie operazioni (Selezione, Proiezione, Prodotto, Set, Raggruppamento, Aggregazione, Renaming, Reordering, Copy-and-Paste, Cancellazione, Inserimento) risultano definite in modo naturale.</li>
<li><strong>XML Query Algebra</strong>: anche chiamata “The Algebra” è la proposta di standardizzazione da parte del W3C. Questa algebra, che sembra assomigliare ad un linguaggio di programmazione dichiarativo, non definisce le operazioni con operatori ad HOC, ma riesce a ricavare le consuete operazioni mediante l&#8217;uso di cicli for, assegnazioni di variabili, costrutti condizionali, ed altro. Inoltre i tipi di dato sono molto importanti, e sono definiti per ogni espressione. Una volta tradotta una query, la sua ottimizzazione sfrutta delle regole di inferenza logica; un metodo del tutto innovativo.</li>
</ul>
</li>
</ul>
<p>E quando queste tecnologie non riescono a soddisfare le nostre richieste, entra in gioco la solita programmazione:</p>
<ul>
<li><strong>Programmazione XML</strong>: Benchè gli strumenti XML (Schema, XSLT, XQuery, XPath, ecc&#8230;) ci permettono di fare molti tipi di elaborazione, spesso c&#8217;è la necessita di manipolare file XML da linguaggi di programmazione di uso generale come ad esempio Java.
<ul>
<li><strong>DOM</strong>: Il Document Object Model (DOM) è una forma di rappresentazione dei documenti strutturati come modello orientato agli oggetti. DOM definisce un API per accedere e manipolare file XML comune a diversi linguaggi.</li>
<li><strong>SAX</strong>: (Simple API for XML) è un&#8217;API per numerosi linguaggi di programmazione che permette di leggere ed elaborare dei documenti XML. Contrariarmente al DOM, il SAX processa i documenti linea per linea. Il flusso di dati XML è unidirezionale, così che dati a cui si è acceduto in precedenza non possono essere riletti senza la rielaborazione dell&#8217;intero documento.</li>
<li><strong>JDOM</strong>: JDom è un API per accedere ed elaborare documenti XMl specifica per il linguaggio di programmaziopne Java, che (rispettando il principio del 80/20) permette di sviluppare con semplicità l&#8217;80% delle applicazione, mentre richiede una soluzione ad HOC per il restante 20%&#8230; cioè JDom sacrifica parte della generalità per dar miglior supporto alle applicazioni più comuni.</li>
</ul>
</li>
</ul>
<ul>
<li><strong>XML Retrieval</strong>: L&#8217;information retrieval (IR) è la disciplina che studia le tecniche utilizzate per il recupero mirato dell’informazione in formato elettronico.</li>
</ul>
<h2>Le Applicazioni XML</h2>
<p>XML è oggi una tecnologia matura ed utilizzata negli ambiti più disparati&#8230; basta provare a salvare un documento di testo scritto con il famosissimo word processor OpenOffice, rinominare questo file .zip, e provare ad estrarre il contenuto: dentro troveremo il nostro documento descritto in XML!!!</p>
<p>Un altro esempio è SVG, lo standard aperto per la grafica vettoriale che punta a sostituire la tecnologia &#8216;flash&#8217; sul web. Un file .svg è interamente scritto in XML, tant&#8217;è vero che si può aprire senza problemi con un qualsiasi editor di testo.</p>
<p>Alcuni linguaggi XML hanno avuto particolare successo come XHTML, CML (Chemical Markup Language), WML (usato nella tecnologia WAP dei cellulari), RSS ed altri&#8230; in particolare Mpeg7:</p>
<ul>
<li><strong>Mpeg-7</strong>: MPEG-7 è uno standard nato per codificare i contenuti multimediali; non è uno standard nato per codificare flussi audio o video come, ad esempio, MPEG-1 MPEG-2 o MPEG-4 ma per definire metadati sui dati multimediali.La codifica utilizza l&#8217;XML per memorizzare dei metadati che utilizzano a loro volta il timecode del filmato permettendo di sincronizzare i flussi multimediali con particolari eventi. Per esempio, permette di sincronizzare un filmato con i suoi sottotitoli o un video con il testo della canzone.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fireteam.it/2009/09/introduzione-alla-tecnologia-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interrogazioni XQuery in Java</title>
		<link>http://www.fireteam.it/2009/08/interrogazioni-xquery-in-java/</link>
		<comments>http://www.fireteam.it/2009/08/interrogazioni-xquery-in-java/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 08:28:25 +0000</pubDate>
		<dc:creator>saverio</dc:creator>
				<category><![CDATA[Programmazione Java]]></category>
		<category><![CDATA[basex]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xquery]]></category>

		<guid isPermaLink="false">http://www.fireteam.it/?p=574</guid>
		<description><![CDATA[XQuery, una abbrevazione per XML Query Language, è un linguaggio di programmazione specificato dal W3C e destinato ad interrogare documenti e basi di dati XML. Questo perché XML si sta proponendo come la tecnologia per rimpiazzare i vecchi DBMS relazionali  
Il w3c ha definito il linguaggio XQuery 1.0; usa la sintassi delle espressioni di [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.fireteam.it/wp-content/uploads/2009/08/xquery.gif"><img class="alignright size-full wp-image-577" title="xquery" src="http://www.fireteam.it/wp-content/uploads/2009/08/xquery.gif" alt="xquery" width="160" height="160" /></a>XQuery, una abbrevazione per XML Query Language, è un linguaggio di programmazione specificato dal W3C e destinato ad interrogare documenti e basi di dati XML. Questo perché XML si sta proponendo come la tecnologia per rimpiazzare i vecchi DBMS relazionali <img src='http://www.fireteam.it/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Il w3c ha definito il linguaggio XQuery 1.0; usa la sintassi delle espressioni di XPath  2.0, con l&#8217;aggiunta delle cosiddette espressioni FLWOR per la formulazione di query complesse. Il risultato è un linguaggio di programmazione funzionale, dichiarativo, con somiglianze con il vecchio SQL.</p>
<p style="text-align: justify;">Per effettuare delle query xquery su un file XML possiamo usare delle librerie come BaseX e Saxon. Purtroppo attualmente Saxon non è un prodotto del tutto gratuito, quindi scegliamo di usare BaseX, un processore Xquery-XPath open source.</p>
<p style="text-align: justify;"><span id="more-574"></span>In realtà BaseX, oltre ad essere utlilizzabile come libreria all&#8217;interno del linguaggio Java, ci mette a disposizione un&#8217;interfaccia grafica dalla quale possiamo effettuare query su file XML ben formati arbitrari.</p>
<h2 style="text-align: justify;">Primo esempio di query</h2>
<p style="text-align: justify;">La prima cosa da fare è inserire i file jar di BaseX nel build path del nostro progetto; la seconda è assicurarsi di avere java 1.6 (non funziona con java 1.5) perché BaseX utilizza il package javax.xml.stream.</p>
<p style="text-align: justify;">Questo è un sempio dove si esegue la query <strong>//li </strong>sul file &#8216;<strong>input</strong>&#8216;:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.xml.xquery.XQConnection</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.xml.xquery.XQDataSource</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.xml.xquery.XQPreparedExpression</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.xml.xquery.XQResultSequence</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000000; font-weight: bold;">class</span> XQueryAPIExample <span style="color: #009900;">&#123;</span>
 <span style="color: #008000; font-style: italic; font-weight: bold;">/** Database Driver. */</span>
 <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> DRIVER <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;org.basex.api.xqj.BXQDataSource&quot;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">Exception</span> <span style="color: #009900;">&#123;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Gets the XQDataSource for the specified Driver.</span>
 XQDataSource source <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>XQDataSource<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">&#40;</span>DRIVER<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">newInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Creates an XQConnection</span>
 XQConnection conn <span style="color: #339933;">=</span> source.<span style="color: #006633;">getConnection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Prepares the Expressionwith the Document and the Query.</span>
 XQPreparedExpression expr <span style="color: #339933;">=</span> conn.<span style="color: #006633;">prepareExpression</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;doc('input')//li&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Executes the XQuery query.</span>
 XQResultSequence result <span style="color: #339933;">=</span> expr.<span style="color: #006633;">executeQuery</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Gets all results of the execution.</span>
 <span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>result.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #666666; font-style: italic;">// Prints the results to the console.</span>
 <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>result.<span style="color: #006633;">getItemAsString</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
&nbsp;
 <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Questo esempio funziona solo se il file XML interrogato non dichiara nessun namespace.</p>
<h2 style="text-align: justify;">Query in presenza di namespace</h2>
<p style="text-align: justify;">Supponiamo adesso di interrogare un file XML con namespace&#8230; ad esempio un file in formato XML Mpeg-7 che usa i seguenti namespace:<br />
xmlns=&#8221;urn:mpeg:mpeg7:schema:2001&#8243;<br />
xmlns:mpeg7=&#8221;urn:mpeg:mpeg7:schema:2001&#8243;<br />
xmlns:xsi=&#8221;http://www.w3.org/2001/XMLSchema-instance&#8221;</p>
<p style="text-align: justify;">Per far riconoscere i namespace dobbiamo dichiararli nel prologo della xquery in questo modo:<br />
declare default element namespace &#8220;urn:mpeg:mpeg7:schema:2001&#8243;<br />
declare  namespace mpeg7 = &#8220;urn:mpeg:mpeg7:schema:2001&#8243;<br />
declare  namespace xsi = &#8220;http://www.w3.org/2001/XMLSchema-instance&#8221;
</p>
<p style="text-align: justify;">Questo è il codice che esegue la query sul file file/video/extract.xml:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">String</span> prologoQuery <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">+</span>
 <span style="color: #0000ff;">&quot;declare default element namespace <span style="color: #000099; font-weight: bold;">\&quot;</span>urn:mpeg:mpeg7:schema:2001<span style="color: #000099; font-weight: bold;">\&quot;</span>; &quot;</span> <span style="color: #339933;">+</span>
 <span style="color: #0000ff;">&quot;declare  namespace mpeg7 = <span style="color: #000099; font-weight: bold;">\&quot;</span>urn:mpeg:mpeg7:schema:2001<span style="color: #000099; font-weight: bold;">\&quot;</span>; &quot;</span> <span style="color: #339933;">+</span>
 <span style="color: #0000ff;">&quot;declare  namespace xsi = <span style="color: #000099; font-weight: bold;">\&quot;</span>http://www.w3.org/2001/XMLSchema-instance<span style="color: #000099; font-weight: bold;">\&quot;</span>; &quot;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Gets the XQDataSource for the specified Driver.</span>
 XQDataSource source <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>XQDataSource<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">&#40;</span>DRIVER<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">newInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #666666; font-style: italic;">// Creates an XQConnection</span>
 XQConnection conn <span style="color: #339933;">=</span> source.<span style="color: #006633;">getConnection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #666666; font-style: italic;">// Prepares the Expressionwith the Document and the Query.</span>
 <span style="color: #666666; font-style: italic;">//XQPreparedExpression expr = conn.prepareExpression(&quot;&lt;xml&gt;1 + 2 = { 1+2 }&lt;/xml&gt;/text()&quot;);</span>
 <span style="color: #666666; font-style: italic;">//XQPreparedExpression expr = conn.prepareExpression(&quot;doc('file/video/20090201_video_15213221.xml')//meta&quot;);</span>
 XQPreparedExpression expr <span style="color: #339933;">=</span> conn.<span style="color: #006633;">prepareExpression</span><span style="color: #009900;">&#40;</span>prologoQuery <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; doc('file/video/extract.xml')//Name&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Executes the XQuery query.</span>
 XQResultSequence result <span style="color: #339933;">=</span> expr.<span style="color: #006633;">executeQuery</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #666666; font-style: italic;">// Gets all results of the execution.</span>
 <span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>result.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #666666; font-style: italic;">//element = (org.w3c.dom.Element) result.getObject();</span>
 <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>result.<span style="color: #006633;">getItemAsString</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Nella riga 18 è commentato un altro modo per usare gli oggetti restiuiti dalla query, che ci restituisce il risultato come elementi della struttura DOM del file XML.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fireteam.it/2009/08/interrogazioni-xquery-in-java/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Java 1.6 su Mac OS X</title>
		<link>http://www.fireteam.it/2009/08/java-1-6-su-mac-os-x/</link>
		<comments>http://www.fireteam.it/2009/08/java-1-6-su-mac-os-x/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 19:44:56 +0000</pubDate>
		<dc:creator>saverio</dc:creator>
				<category><![CDATA[Programmazione Java]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.fireteam.it/?p=558</guid>
		<description><![CDATA[Giorni fa stavo lavorando su un progetto java riguardante XML ed XQuery, ed ho avuto questo errore:
&#8220;Exception in thread &#8220;main&#8221; java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamReader&#8221;
uso Mac Os X 10.4 aggiornato all&#8217;ultima versione di Java supportata da Apple&#8230; perché ho questo errore? Quando si ha:
Exception in thread &#8220;main&#8221; java.lang.NoClassDefFoundError: NomeFile
Probabilmente il file NomeFile.class non viene &#8220;visto&#8221; da Java. Bisogna [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fireteam.it/wp-content/uploads/2009/08/imac_java.jpg"><img class="alignleft size-full wp-image-563" title="imac_java" src="http://www.fireteam.it/wp-content/uploads/2009/08/imac_java.jpg" alt="imac_java" width="384" height="261" /></a>Giorni fa stavo lavorando su un progetto java riguardante XML ed XQuery, ed ho avuto questo errore:</p>
<p>&#8220;Exception in thread &#8220;main&#8221; java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamReader&#8221;</p>
<p>uso Mac Os X 10.4 aggiornato all&#8217;ultima versione di Java supportata da Apple&#8230; perché ho questo errore? Quando si ha:<br />
Exception in thread &#8220;main&#8221; java.lang.NoClassDefFoundError: NomeFile<br />
Probabilmente il file NomeFile.class non viene &#8220;visto&#8221; da Java. Bisogna verificare se nella directory è contenuto il file NomeFile.class, ma nel mio caso è una classe della JVM (javax.xml.stream.XMLStreamReader)!!!</p>
<p>Il problema è che java 1.5 non ha il package javax.xml.stream.*, ed ho bisogno di fare l&#8217;aggiornamento a java 1.6. Per chi ha Mac Os X 10.5 l&#8217;aggiornamento di java è molto semplice</p>
<p><span id="more-558"></span></p>
<p>per via delle politiche di Apple per la distribuzione delle JVM.</p>
<h2>Java 1.6 su Mac OS X 10.5</h2>
<p>Per prima cosa verifichiamo la nostra versione di java dal Terminale</p>
<pre class="shell">saverio$ java -version
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)</pre>
<p>se abbiamo la versione 1.5.x, allora aggiorniamo il sistema all&#8217;ultima versione cliccando sulla mela e poi &#8216;Aggiornamento software&#8230;&#8217;, e seguiamo la procedura guidata.</p>
<p>Una volta aggiornato il sistema abbiamo java 1.6 installato nella cartella <em>/System/Library/Frameworks/JavaVM.framework/Versions/1.6/</em> , ma non è abilitato di default; infatti quando il sistema chiama java fa riferimento al file <strong>/usr/bin/java</strong> che è un link simbolico alla versione 1.5 di java:</p>
<pre class="shell">saverio$ ls -la /usr/bin/java
lrwxr-xr-x 1 root wheel 74 Apr 30 08:41 /usr/bin/java -&gt; /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java</pre>
<p>Per abilitare java 1.6 cancelliamo (o rinominiamo) il link simbolico con:<br />
<strong>sudo rm /usr/bin/java</strong><br />
e ne creiamo uno nuovo che punta alla nuova versione di java:<br />
<strong>sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/java /usr/bin/java</strong></p>
<p>Questa procedura funziona solo con sistemi a 64bit. Per quelli a 32bit bisogna seguire la seguente procedura per Mac OS X 10.4</p>
<h2>Java 1.6 su Mac OS X 10.4</h2>
<p>Installare invece Java 1.6 su Mac OS X 10.4 è leggermente più complicato. Prima di tutto verifichiamo che nel sistema sia installata la versione 1.5</p>
<pre class="shell">saverio$ java -version
java version "1.5.0_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02-306)
Java HotSpot(TM) Client VM (build 1.5.0_19-138, mixed mode, sharing)</pre>
<p>La versione 1.6 di java per questa piattaforma è un porting di OpenJDK chiamato SoyLatte. Per installarla:</p>
<p>* Scaricare SoyLatte 1.0.2 per Mac OS X 10.4 (oppure 10.5 se stiamo su Mac OS X 10.5 a 32bit) dal sito <a href="http://landonf.bikemonkey.org/static/soylatte/">http://landonf.bikemonkey.org/static/soylatte/</a>. Per scaricarlo si avrà bisogno delle credenziali username: jrl, e password: I am a Licensee in good standing.<br />
* Unzippare il pacchetto in una directory a scelta (si può anche rinominare la directory <em>soylatte16-1.0.2</em>)<br />
* Aggiungere la directory <em>soylatte16-1.0.2/bin</em> al path di sistema $PATH in modo da dargli precedenza rispetto al path della versione 1.5 di java</p>
<p>Per verificare la nuova installazione digitiamo come consueto il comando <strong>java -version</strong>, e se tutto è stato fatto bene allora la versione sarà 1.6</p>
<h2>Java e Mac OS X</h2>
<p>Mac OS X è uno splendido sistema operativo, nettamente superiore rispetto ai suoi concorrenti! Purtroppo ho sempre avuto problemi con le versioni di java supportate da Apple. Se siete dei programmatori java appassionati dei sistemi unix-like, vi consiglio di usare Ubuntu Linux per sviluppare le vostre applicazioni.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fireteam.it/2009/08/java-1-6-su-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
