<?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>xml | www.valeriofinazzo.it</title>
	<atom:link href="http://www.valeriofinazzo.it/wordpress/tag/xml-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.valeriofinazzo.it/wordpress</link>
	<description>Il sito dell&#039;ingegnere Valerio Finazzo</description>
	<lastBuildDate>Wed, 22 Apr 2020 12:37:33 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.3</generator>
	<item>
		<title>JAXB: manca un&#8217;annotazione @XmlRootElement</title>
		<link>http://www.valeriofinazzo.it/wordpress/2020/04/jaxb-manca-unannotazione-xmlrootelement/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 22 Apr 2020 12:37:28 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[JAXB]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=571</guid>

					<description><![CDATA[<p>L&#8217;eccezione com.sun.istack.SAXException2: impossibile eseguire il marshalling del tipo come elemento poichè manca un&#8217;annotazione @XmlRootElement capita quando si prova a fare il marshalling di un oggetto non annotato come root element. Per risolvere questo problema basta annotare l&#8217;elemento con la annotation @XmlRootElement E&#8217; la soluzione più semplice ma se le classi sono ottenute in modo automatico, &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2020/04/jaxb-manca-unannotazione-xmlrootelement/" class="more-link">Continua la lettura di <span class="screen-reader-text">JAXB: manca un&#8217;annotazione @XmlRootElement</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2020/04/jaxb-manca-unannotazione-xmlrootelement/">JAXB: manca un’annotazione @XmlRootElement</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p>L&#8217;eccezione com.sun.istack.SAXException2: impossibile eseguire il marshalling del tipo come elemento poichè manca un&#8217;annotazione @XmlRootElement capita quando si prova a fare il marshalling di un oggetto non annotato come root element.</p>



<p>Per risolvere questo problema basta annotare l&#8217;elemento con la annotation @XmlRootElement</p>



<p>E&#8217; la soluzione più semplice ma se le classi sono ottenute in modo automatico, magari tramite un plugin maven ad ogni iterazione si presenta nuovamente il problema.</p>



<p>In questo caso vi viene in soccorso la classe ObjectFactory generata dal plugin che vi offre dei metodi create* che restituisco l&#8217;oggetto annidato dentro il wrapper JAXBElement e il gioco è fatto.</p>



<p>JAXBElement createTrasferimentoDati = new ObjectFactory().createTrasferimentoDati(trasferimentoDati);</p>



<p></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2020%2F04%2Fjaxb-manca-unannotazione-xmlrootelement%2F&amp;linkname=JAXB%3A%20manca%20un%E2%80%99annotazione%20%40XmlRootElement" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2020%2F04%2Fjaxb-manca-unannotazione-xmlrootelement%2F&amp;linkname=JAXB%3A%20manca%20un%E2%80%99annotazione%20%40XmlRootElement" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2020%2F04%2Fjaxb-manca-unannotazione-xmlrootelement%2F&amp;linkname=JAXB%3A%20manca%20un%E2%80%99annotazione%20%40XmlRootElement" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2020%2F04%2Fjaxb-manca-unannotazione-xmlrootelement%2F&amp;linkname=JAXB%3A%20manca%20un%E2%80%99annotazione%20%40XmlRootElement" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2020%2F04%2Fjaxb-manca-unannotazione-xmlrootelement%2F&amp;linkname=JAXB%3A%20manca%20un%E2%80%99annotazione%20%40XmlRootElement" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2020%2F04%2Fjaxb-manca-unannotazione-xmlrootelement%2F&#038;title=JAXB%3A%20manca%20un%E2%80%99annotazione%20%40XmlRootElement" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2020/04/jaxb-manca-unannotazione-xmlrootelement/" data-a2a-title="JAXB: manca un’annotazione @XmlRootElement"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2020/04/jaxb-manca-unannotazione-xmlrootelement/">JAXB: manca un’annotazione @XmlRootElement</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VUFIND &#8211; Tutorial 3 &#8211; Importare Record</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/vufind-tutorial-3-importare-record/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 28 Jun 2014 15:34:27 +0000</pubDate>
				<category><![CDATA[VUFIND]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[vufind]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=326</guid>

					<description><![CDATA[<p>Nell&#8217;articolo di oggi vedremo come popolare la base dati di VUFIND. VUFIND presenta delle utility per il caricamento dati, che si interfacciano con Solr per la creazione del nostro catalogo. Sono presenti due modalità di caricamenti: tramite file in formato MARC21 oppure tramite file xml con un foglio xsl associato. Nel caso del formato MARC21 &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/vufind-tutorial-3-importare-record/" class="more-link">Continua la lettura di <span class="screen-reader-text">VUFIND &#8211; Tutorial 3 &#8211; Importare Record</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/vufind-tutorial-3-importare-record/">VUFIND – Tutorial 3 – Importare Record</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Nell&#8217;articolo di oggi vedremo come popolare la base dati di VUFIND. VUFIND presenta delle utility per il caricamento dati, che si interfacciano con Solr per la creazione del nostro catalogo.</p>
<p style="text-align: justify;">Sono presenti due modalità di caricamenti: tramite file in formato MARC21 oppure tramite file xml con un foglio xsl associato.</p>
<p style="text-align: justify;">Nel caso del formato MARC21 rimando al <a title="Specifiche Marc21" href="http://www.loc.gov/marc/">sito ufficiale</a>. Sostanzialmente si tratta di aver un file MARC21 e di caricarlo tramite il comando</p>
<p></p><pre class="crayon-plain-tag">import-marc.bat nomefile.mrc</pre><p></p>
<p style="text-align: justify;">Per chi non conoscesse MARC21 (ad esempio me) VUFIND da la possibilità di caricare i libri in formato XML associando un foglio di stile xsl che effettui la trasformazione del file nel formato xml supportato da Solr, le cui specifiche sono consultabili <a title="Xml Message Format Per Solr" href="http://wiki.apache.org/solr/UpdateXmlMessages">qui</a>.</p>
<p style="text-align: justify;">Personalmente preferisco questa seconda soluzione, più abbordabile e alla portata di tutti. Inoltre permette a chiunque abbia un catalogo xml di poterlo caricare sul nostro sistema agevolmente.</p>
<p style="text-align: justify;">Facciamo un caso pratico, l&#8217;esempio vale più di 1000 parole. Supponiamo di avere un file xml che contiene il nostro catalogo così fatto:</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;books&gt;
&lt;book&gt;
&lt;id&gt;0000000001&lt;/id&gt;
&lt;title&gt;titolo1&lt;/title&gt;
&lt;/book&gt;
&lt;book&gt;
&lt;id&gt;0000000002&lt;/id&gt;
&lt;title&gt;titolo2&lt;/title&gt;
&lt;/book&gt;
&lt;book&gt;
&lt;id&gt;0000000003&lt;/id&gt;
&lt;title&gt;titolo3&lt;/title&gt;
&lt;/book&gt;
&lt;/books&gt;</pre><p></p>
<p style="text-align: justify;">A questo punto definiamo un foglio xsl che trasforma il file xml nel formato atteso da Solr.</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
&lt;xsl:template match="/"&gt;
&lt;add&gt;
&lt;xsl:for-each select="/books/book"&gt;
&lt;doc&gt;
&lt;field name="id"&gt;
&lt;xsl:value-of select="id"/&gt;
&lt;/field&gt;
&lt;field name="title"&gt;
&lt;xsl:value-of select="title"/&gt;
&lt;/field&gt;
&lt;field name="recordtype"&gt;book&lt;/field&gt;
&lt;/doc&gt;
&lt;/xsl:for-each&gt;
&lt;/add&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;</pre><p></p>
<p style="text-align: justify;">Questo file permetterà di trasformare il file xml nel seguente formato atteso da Solr:</p>
<p></p><pre class="crayon-plain-tag">&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;xml version&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;color: #008800;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt; encoding&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;color: #008800;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;add&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;doc&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;0000000001&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;title&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;titolo1&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;recordtype&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;book&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/doc&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;doc&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;0000000002&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;title&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;titolo2&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;recordtype&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;book&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/doc&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;doc&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;0000000003&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;title&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;titolo3&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;field&lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;color: #660066;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;color: #008800;&quot;&gt;&quot;recordtype&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;color: #000000;&quot;&gt;book&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/field&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/doc&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;color: #000088;&quot;&gt;&amp;lt;/add&amp;gt;&lt;/span&gt;</pre><p></p>
<p style="text-align: justify;">Per Solr ogni documento è definito come una sequenza di field, ciascuno con il proprio nome e valore. Il file deve rispettare lo schema definito in solr, in caso contrario il file verrà rifiutato durante l&#8217;importazione.</p>
<p style="text-align: justify;">A questo punto non ci resta che caricare il file tramite la direttiva</p>
<p></p><pre class="crayon-plain-tag">c:\vufind\import&gt;php import-xsl.php books.xml opac.properties</pre><p></p>
<p style="text-align: justify;">Tale direttiva processa il file books.xml applicando le regole definite nel file opac.properties che contiene i parametri per invocare il servizio esposto da solr.  La configurazione minimale è la seguente:</p>
<p></p><pre class="crayon-plain-tag">[General]
xslt = opac.xsl
custom_class[] = VuFind
truncate_custom_class = true</pre><p></p>
<p style="text-align: justify;">Il parametro xslt indica il file xsl da usare e deve essere disponibile all&#8217;interno della directory xsl</p>
<p></p><pre class="crayon-plain-tag">C:\vufind\import\xsl</pre><p></p>
<p style="text-align: justify;">A questo punto se abbiamo operato riceveremo come risposta</p>
<p></p><pre class="crayon-plain-tag">c:\vufind\import&gt;php import-xsl.php books.xml opac.properties
&lt;pre&gt;2014-06-28T11:21:46-04:00 DEBUG: =&gt; POST http://localhost:8080/solr/biblio/
update&lt;/pre&gt;
&lt;pre&gt;2014-06-28T11:21:46-04:00 DEBUG: &lt;= 200 OK&lt;/pre&gt;
Successfully imported books.xml...</pre><p></p>
<p style="text-align: justify;">Buon caricamento dati</p>
<p style="text-align: justify;">
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fvufind-tutorial-3-importare-record%2F&amp;linkname=VUFIND%20%E2%80%93%20Tutorial%203%20%E2%80%93%20Importare%20Record" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fvufind-tutorial-3-importare-record%2F&amp;linkname=VUFIND%20%E2%80%93%20Tutorial%203%20%E2%80%93%20Importare%20Record" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fvufind-tutorial-3-importare-record%2F&amp;linkname=VUFIND%20%E2%80%93%20Tutorial%203%20%E2%80%93%20Importare%20Record" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fvufind-tutorial-3-importare-record%2F&amp;linkname=VUFIND%20%E2%80%93%20Tutorial%203%20%E2%80%93%20Importare%20Record" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fvufind-tutorial-3-importare-record%2F&amp;linkname=VUFIND%20%E2%80%93%20Tutorial%203%20%E2%80%93%20Importare%20Record" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fvufind-tutorial-3-importare-record%2F&#038;title=VUFIND%20%E2%80%93%20Tutorial%203%20%E2%80%93%20Importare%20Record" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/vufind-tutorial-3-importare-record/" data-a2a-title="VUFIND – Tutorial 3 – Importare Record"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/vufind-tutorial-3-importare-record/">VUFIND – Tutorial 3 – Importare Record</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>JASPERREPORTS TUTORIAL &#8211; 5 &#8211; DATASOURCE XML</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/jasperreports-tutorial-5-datasource-xml/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 20:11:00 +0000</pubDate>
				<category><![CDATA[JASPERREPORTS]]></category>
		<category><![CDATA[ireport]]></category>
		<category><![CDATA[jasperreports]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=148</guid>

					<description><![CDATA[<p>L&#8217;articolo illustra come usare un datasource di tipo xml. Per prima cosa occorre disporre la sorgente dati: in questo usiamo un file xml così definito [crayon-6413813a86b74018518376/] A questo punto sfruttiamo il report definito per l&#8217;articolo precedente ma creiamo il nuovo datasource di tipo Xml File Datasource e tra le opzioni indichiamo il path del file xml &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/jasperreports-tutorial-5-datasource-xml/" class="more-link">Continua la lettura di <span class="screen-reader-text">JASPERREPORTS TUTORIAL &#8211; 5 &#8211; DATASOURCE XML</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/jasperreports-tutorial-5-datasource-xml/">JASPERREPORTS TUTORIAL – 5 – DATASOURCE XML</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">L&#8217;articolo illustra come usare un datasource di tipo xml. Per prima cosa occorre disporre la sorgente dati: in questo usiamo un file xml così definito</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="windows-1250"?&gt;
&lt;libri&gt;
  &lt;libro id="1" titolo="titolo1" autore="autore1" genere="giallo" &gt;
  &lt;/libro&gt;
  &lt;libro id="2" titolo="titolo2" autore="autore2" genere="giallo" &gt;
  &lt;/libro&gt;
&lt;/libri&gt;</pre><p></p>
<p style="color: #0d293f; text-align: justify;">A questo punto sfruttiamo il report definito per l&#8217;articolo precedente ma creiamo il nuovo datasource di tipo Xml File Datasource e tra le opzioni indichiamo il path del file xml creato e l&#8217;utilizzo di XPath per estrarre i dati.</p>
<p style="color: #0d293f; text-align: justify;">Resta a questo punto da definire i campi e come essi vanno estratti dal file. Per far questo usiamo Xpath, per chi non lo conoscesse esso permette di individuare i nodi all&#8217;interno di un documento XML. Le espressioni XPath, a differenza delle espressioni XML, non servono a identificare la struttura di un documento, bensì a localizzarne con precisione i nodi. Ireport offre uno strumento che permette di individuare i nodi senza conoscere la sintassi Xpath. A questo punto non resta che lanciare l&#8217;anteprima e ottenere il nostro report.</p>
<p style="color: #0d293f; text-align: justify;">Scaricate il file <a style="color: #2675b5;" href="http://www.valeriofinazzo.it/file/reportFromXml.jrxml" target="_self">jrxml</a> per replicare quanto descritto nell&#8217;articolo.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjasperreports-tutorial-5-datasource-xml%2F&amp;linkname=JASPERREPORTS%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20DATASOURCE%20XML" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjasperreports-tutorial-5-datasource-xml%2F&amp;linkname=JASPERREPORTS%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20DATASOURCE%20XML" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjasperreports-tutorial-5-datasource-xml%2F&amp;linkname=JASPERREPORTS%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20DATASOURCE%20XML" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjasperreports-tutorial-5-datasource-xml%2F&amp;linkname=JASPERREPORTS%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20DATASOURCE%20XML" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjasperreports-tutorial-5-datasource-xml%2F&amp;linkname=JASPERREPORTS%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20DATASOURCE%20XML" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fjasperreports-tutorial-5-datasource-xml%2F&#038;title=JASPERREPORTS%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20DATASOURCE%20XML" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/jasperreports-tutorial-5-datasource-xml/" data-a2a-title="JASPERREPORTS TUTORIAL – 5 – DATASOURCE XML"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/jasperreports-tutorial-5-datasource-xml/">JASPERREPORTS TUTORIAL – 5 – DATASOURCE XML</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XML TUTORIAL &#8211; 6 &#8211; USARE XMLBEANS</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-6-usare-xmlbeans/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 18 Jun 2014 21:21:44 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xmlbeans]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=92</guid>

					<description><![CDATA[<p>Con l&#8217;articolo di oggi vediamo in dettaglio come sfruttare una delle librerie più note nella gestione dei file XML, ovvero XMLBEANS dell&#8217;Apache Software Foundation. Questa libreria permette di generare a partire dallo schema XSD tutte le classi per la manipolazione di file xml che rispettino lo schema dato. Per l&#8217;installazione rimando alla guida esauriente presente sul sito &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-6-usare-xmlbeans/" class="more-link">Continua la lettura di <span class="screen-reader-text">XML TUTORIAL &#8211; 6 &#8211; USARE XMLBEANS</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-6-usare-xmlbeans/">XML TUTORIAL – 6 – USARE XMLBEANS</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: rgb(13, 41, 63); text-align: justify;">Con l&#8217;articolo di oggi vediamo in dettaglio come sfruttare una delle librerie più note nella gestione dei file XML, ovvero <a style="color: #2675b5;" title="XMLBEANS" href="http://xmlbeans.apache.org/" target="_blank">XMLBEANS</a> dell&#8217;Apache Software Foundation.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Questa libreria permette di generare a partire dallo schema XSD tutte le classi per la manipolazione di file xml che rispettino lo schema dato.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Per l&#8217;installazione rimando alla guida esauriente presente sul sito di XMLBEANS. Per l&#8217;utilizzo vediamo invece quali sono gli step da seguire.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Individuiamo uno schema XSD, da cui generare le nostre classi e scegliamo la struttura libro.</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/libro" xmlns:tns="http://www.example.org/libro" elementFormDefault="qualified"&gt;
&lt;element name="libro" type="tns:LibroType"&gt;&lt;/element&gt;
&lt;complexType name="LibroType"&gt;
&lt;sequence&gt;
&lt;element name="capitolo" type="tns:CapitoloType"
maxOccurs="unbounded" minOccurs="1"&gt;
&lt;/element&gt;
&lt;element name="autore" type="tns:AutoreType" maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
&lt;/sequence&gt;
&lt;attribute name="titolo" type="string" use="required"&gt;&lt;/attribute&gt;
&lt;/complexType&gt;
&lt;complexType name="CapitoloType"&gt;
&lt;sequence&gt;
&lt;element name="contenuto" type="string" minOccurs="1" maxOccurs="1"&gt;&lt;/element&gt;
&lt;/sequence&gt;
&lt;attribute name="titolo" type="string" use="required"&gt;&lt;/attribute&gt;
&lt;/complexType&gt;
&lt;complexType name="AutoreType"&gt;
&lt;attribute name="Cognome" type="string" use="required"&gt;&lt;/attribute&gt;
&lt;attribute name="Nome" type="string" use="required"&gt;&lt;/attribute&gt;
&lt;/complexType&gt;
&lt;/schema&gt;</pre><p>Tramite la direttiva scomp posso generare la libreria contenente le classi per la manipolazione dei file.</p><pre class="crayon-plain-tag">scomp libro.xsd -out libro.jar -javasource 1.5</pre><p>Con questo comando dico a XmlBeans di generare un jar che libro.jar secondo gli standard di java 1.5</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">A questo punto importanto la libreria dentro un qualsiasi progetto posso creare file xml in accordo con lo schema definito o validare dei file xml esistenti.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;"><strong>Lettura File XML</strong></p>
<p></p><pre class="crayon-plain-tag">File file = new File("libro.xml");
LibroDocument parse = Factory.parse(file);
LibroType libro = parse.getLibro();</pre><p>In questo modo posso instanziare un oggetto libro ottenuto dalla lettura del file xml</p>
<p style="color: rgb(13, 41, 63); text-align: justify;"><strong>Creazione File XML</strong></p>
<p></p><pre class="crayon-plain-tag">LibroDocument newInstance = Factory.newInstance();
newInstance.addNewLibro();
newInstance.getLibro().setTitolo("titolo");
newInstance.save(new File("libro2.xml"));</pre><p>In questo modo posso creare un file xml a partire dall&#8217;oggetto java.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;"><strong>Validazione File XML</strong></p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Ultimo caso, ma non per questo meno interessante, prevede lo scenario in cui l&#8217;utente vuole verificare se il file da analizzare rispetta lo schema e in caso negativo in quali punti non è corretto.</p>
<p></p><pre class="crayon-plain-tag">Collection&lt;XmlError&gt; errors = new ArrayList&lt;XmlError&gt;();
XmlOptions options = new XmlOptions();
options.setErrorListener(errors);
newInstance.validate(options);</pre><p>&nbsp;</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-6-usare-xmlbeans%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%206%20%E2%80%93%20USARE%20XMLBEANS" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-6-usare-xmlbeans%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%206%20%E2%80%93%20USARE%20XMLBEANS" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-6-usare-xmlbeans%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%206%20%E2%80%93%20USARE%20XMLBEANS" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-6-usare-xmlbeans%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%206%20%E2%80%93%20USARE%20XMLBEANS" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-6-usare-xmlbeans%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%206%20%E2%80%93%20USARE%20XMLBEANS" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-6-usare-xmlbeans%2F&#038;title=XML%20TUTORIAL%20%E2%80%93%206%20%E2%80%93%20USARE%20XMLBEANS" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-6-usare-xmlbeans/" data-a2a-title="XML TUTORIAL – 6 – USARE XMLBEANS"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-6-usare-xmlbeans/">XML TUTORIAL – 6 – USARE XMLBEANS</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XML TUTORIAL &#8211; 5 &#8211; XSD E PARSER</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-5-xsd-e-parser/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 18 Jun 2014 21:18:44 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsd]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=90</guid>

					<description><![CDATA[<p>Per poter validare un file XML occorre indicare al parser dove recuperare lo schema. Tale informazione può essere indicata  nell&#8217;elemento radice del file usando i tag xmlns:xsi e xsi:noNamespaceSchemaLocation. [crayon-6413813a874e0939886914/] L&#8217;attributo xmlns:xsi indica un URL che specifica la modalità con cui si indicherà il riferimento allo schema XML, mentre l&#8217;attributoxsi:noNamespaceSchemaLocation indica il nome e l&#8217;eventuale percorso del file &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-5-xsd-e-parser/" class="more-link">Continua la lettura di <span class="screen-reader-text">XML TUTORIAL &#8211; 5 &#8211; XSD E PARSER</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-5-xsd-e-parser/">XML TUTORIAL – 5 – XSD E PARSER</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: rgb(13, 41, 63); text-align: justify;">Per poter validare un file XML occorre indicare al parser dove recuperare lo schema. Tale informazione può essere indicata  nell&#8217;elemento radice del file usando i tag xmlns:xsi e xsi:noNamespaceSchemaLocation.</p>
<p></p><pre class="crayon-plain-tag">&lt;libro 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="libro.xsd" 
titolo="Titolo" &gt;</pre><p>L&#8217;attributo xmlns:xsi indica un URL che specifica la modalità con cui si indicherà il riferimento allo schema XML, mentre l&#8217;attributoxsi:noNamespaceSchemaLocation indica il nome e l&#8217;eventuale percorso del file contenente lo schema XML di riferimento.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Concetto fondamentale è quello del namespace, che permette di individuare univocamente un tipo all&#8217;interno del file xml, qualora all&#8217;interno del file sia presenti grammatiche diverse.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Per namespace si intende un insieme di nomi di elementi e nomi di attributi identificati univocamente da un identificatore.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Per definire un namespace si usa l&#8217;attributo xmlns associato al root element, come nel seguente esempio:</p>
<p></p><pre class="crayon-plain-tag">&lt;libro xmlns="http://www.valeriofinazzo.it/libro"&gt;</pre><p>Questa formula indica che l&#8217;elemento articolo ed i suoi sottoelementi utilizzano i nomi definiti nel namespace identificato dall&#8217;identificatore http://www.valeriofinazzo.it/libro. Il valore del namespace è una stringa libera, che per prassi, viene indicata tramite una URI, Uniform Resource Identifier.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">È possibile creare delle abbreviazioni per fare riferimento ai namespace, costituite da caratteri alfanumerici seguiti da due punti (:) dichiarati nel root element ed utilizzati come prefissi dei nomi degli elementi.</p>
<p class="codice" style="color: rgb(13, 41, 63); text-align: justify;">Es. &lt;lib:libro titolo=&#8221;Titolo&#8221; xmlns:lib=&#8221;http://www.valeriofinazzo.it/libro&#8221;  &gt;</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-5-xsd-e-parser%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20XSD%20E%20PARSER" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-5-xsd-e-parser%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20XSD%20E%20PARSER" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-5-xsd-e-parser%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20XSD%20E%20PARSER" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-5-xsd-e-parser%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20XSD%20E%20PARSER" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-5-xsd-e-parser%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20XSD%20E%20PARSER" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-5-xsd-e-parser%2F&#038;title=XML%20TUTORIAL%20%E2%80%93%205%20%E2%80%93%20XSD%20E%20PARSER" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-5-xsd-e-parser/" data-a2a-title="XML TUTORIAL – 5 – XSD E PARSER"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-5-xsd-e-parser/">XML TUTORIAL – 5 – XSD E PARSER</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XML TUTORIAL &#8211; 4 &#8211; XML SCHEMA DEFINITION</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-4-xml-schema-definition/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 18 Jun 2014 21:16:22 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsd]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=88</guid>

					<description><![CDATA[<p>Dopo aver visto i limiti del DTD analizziamo l&#8217;altra soluzione che li supera e permette una definizione univoca di tutte le caratteristiche di un file xml. L&#8217;XML Schema introduce il concetto di tipo di dato semplice per definire gli elementi che non possono contenere altri elementi e non prevedono attributi. Tali dati semplici possono essere &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-4-xml-schema-definition/" class="more-link">Continua la lettura di <span class="screen-reader-text">XML TUTORIAL &#8211; 4 &#8211; XML SCHEMA DEFINITION</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-4-xml-schema-definition/">XML TUTORIAL – 4 – XML SCHEMA DEFINITION</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">Dopo aver visto i limiti del DTD analizziamo l&#8217;altra soluzione che li supera e permette una definizione univoca di tutte le caratteristiche di un file xml.</p>
<p style="color: #0d293f; text-align: justify;">L&#8217;XML Schema introduce il concetto di tipo di dato semplice per definire gli elementi che non possono contenere altri elementi e non prevedono attributi. Tali dati semplici possono essere utilizzati per definire elementi più complessi.</p>
<p style="color: #0d293f; text-align: justify;">Sono previsti dei dati predefiniti come ad esempio l&#8217;integer, che definisce un numero intero oppure è possibile definire altri tipi semplici.</p>
<p class="codice" style="color: #0d293f; text-align: justify;">Ad esempio &lt;xs:element name=&#8221;nome&#8221; type=&#8221;xs:string&#8221; /&gt; preveve che l&#8217;elemento name in un documento XML possa contenere una sequenza di caratteri.</p>
<p style="color: #0d293f; text-align: justify;">A partire dai dati predefiniti è possibile definire altri tipi di dati semplici, potendo aggiungere ulteriori restrizioni. Ad esempio possiamo ridefinire l&#8217;elemento nome aggiungendo che sia una stringa di almeno 5 caratteri. La definizione di un tipo semplice utilizza il tag simpleType.</p>
<p></p><pre class="crayon-plain-tag">&lt;xs:element name="nome" &gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:minLength value="5" /&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:element&gt;</pre><p></p>
<p style="text-align: justify;">In altre parole, la dichiarazione indica che l&#8217;elemento &lt;quantita&gt; è di tipo semplice e prevede una restrizione sul tipo di dato intero predefinito accettando valori compresi tra 1 e 100.</p>
<p style="color: #0d293f; text-align: justify;">Per dato complesso si intende un elemento che possa contenere altri elementi o avere attributi. La definizione di un elemento complesso si avvale del tag complexType. Per definire gli elementi che un elemento complesso sono disponibili 3 costruttori diversi:</p>
<ul style="color: #143c5d; text-align: justify;">
<li>&lt;xs:sequence&gt; Consente di definire una sequenza ordinata di sottoelementi</li>
<li>&lt;xs:choice&gt; Consente di definire un elenco di sottoelementi alternativi</li>
<li>&lt;xs:all&gt; Consente di definire una sequenza non ordinata di sottoelementi</li>
</ul>
<p style="color: #0d293f; text-align: justify;">Per ciascuno di questi costruttori e per ciascun elemento è possibile definire il numero di occorrenze previste utilizzando gli attributi minOccurs e maxOccurs.</p>
<p style="color: #0d293f; text-align: justify;">Per definire gli attributi di un elemento si usa il tag &lt;xs:attribute&gt;, che può essere dichiarato opzionale o obbligatorio.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-4-xml-schema-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%204%20%E2%80%93%20XML%20SCHEMA%20DEFINITION" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-4-xml-schema-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%204%20%E2%80%93%20XML%20SCHEMA%20DEFINITION" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-4-xml-schema-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%204%20%E2%80%93%20XML%20SCHEMA%20DEFINITION" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-4-xml-schema-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%204%20%E2%80%93%20XML%20SCHEMA%20DEFINITION" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-4-xml-schema-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%204%20%E2%80%93%20XML%20SCHEMA%20DEFINITION" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-4-xml-schema-definition%2F&#038;title=XML%20TUTORIAL%20%E2%80%93%204%20%E2%80%93%20XML%20SCHEMA%20DEFINITION" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-4-xml-schema-definition/" data-a2a-title="XML TUTORIAL – 4 – XML SCHEMA DEFINITION"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-4-xml-schema-definition/">XML TUTORIAL – 4 – XML SCHEMA DEFINITION</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XML TUTORIAL &#8211; 3 &#8211; DOCUMENT TYPE DEFINITION</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-3-document-type-definition/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 18 Jun 2014 21:13:48 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=85</guid>

					<description><![CDATA[<p>Il Document Type Definitio, detto Dtd, è un documento che descrive i tag previsti in un documento XML, la loro relazione e le informazioni sugli attributi di ciascun tag. All&#8217;interno di un Dtd si individuano essenzialmente 2 tag: &#60;!ELEMENT&#62; &#60;!ATTLIST&#62; &#60;!ELEMNT&#62; definisce gli elementi del documento, la loro relazione e di conseguenza la struttura del &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-3-document-type-definition/" class="more-link">Continua la lettura di <span class="screen-reader-text">XML TUTORIAL &#8211; 3 &#8211; DOCUMENT TYPE DEFINITION</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-3-document-type-definition/">XML TUTORIAL – 3 – DOCUMENT TYPE DEFINITION</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">Il Document Type Definitio, detto Dtd, è un documento che descrive i tag previsti in un documento XML, la loro relazione e le informazioni sugli attributi di ciascun tag.</p>
<p style="color: #0d293f; text-align: justify;">All&#8217;interno di un Dtd si individuano essenzialmente 2 tag:</p>
<ul style="color: #143c5d; text-align: justify;">
<li><strong>&lt;!ELEMENT&gt;</strong></li>
<li><strong>&lt;!ATTLIST&gt;</strong></li>
</ul>
<p style="color: #0d293f; text-align: justify;">&lt;!ELEMNT&gt; definisce gli elementi del documento, la loro relazione e di conseguenza la struttura del documento.</p>
<p style="color: #0d293f; text-align: justify;">&lt;!ATTLIST&gt; definisce la lista di attributi di ciascun elemento.</p>
<p style="color: #0d293f; text-align: justify;">La sintassi del Dtd prevede l&#8217;utilizzo di alcuni operatori per individuare l&#8217;occorrenza degli elementi in uno schema.</p>
<ul style="color: #143c5d; text-align: justify;">
<li>
<p class="codice">+ indica che l&#8217;elemento è presente <strong>una o più</strong> volte</p>
</li>
<li>
<p class="codice">* indica che l&#8217;elemento è presente <strong>zero o più</strong> volte</p>
</li>
<li>
<p class="codice">? indica che l&#8217;elemento è presente <strong>zero o una</strong> sola volta</p>
</li>
</ul>
<p style="color: #0d293f; text-align: justify;">Dunque un DTD del genere &lt;!ELEMENT libro(autore, capitolo+)&gt; indica che un libro contiene un elemento autore e una o più occcorenze di un elemente capitolo.</p>
<p style="color: #0d293f; text-align: justify;">Per gestire il contenuto di un elemento si posso usare le parole chiavi EMPTY, PCDATA, CDATA e ANY.</p>
<p class="codice" style="color: #0d293f; text-align: justify;">Un tag vuoto viene definito come &lt;!ELEMENT vuoto EMPTY&gt;, un tag che contiene solo testo prevede una definizione del tipo &lt;!ELEMENT text (#PCDATA)&gt;, se non sono noti valori a priori si usa ANY con una dichiarazione del tipo &lt;!ELEMENT jolly ANY&gt;</p>
<p style="color: #0d293f; text-align: justify;">Per definire gli attributi di un elemento si usa il tag &lt;!ATTLIST&gt;, con l&#8217;ausilio delle parole chiavi</p>
<ul style="color: #143c5d; text-align: justify;">
<li>#REQUIRED (obbligatorio)</li>
</ul>
<ul style="color: #143c5d; text-align: justify;">
<li>
<p class="codice">#IMPLIED     (opzionale)</p>
</li>
<li>
<p class="codice">#FIXED        (valore fisso)</p>
</li>
</ul>
<p style="color: #0d293f; text-align: justify;">Ad esempio la dichiarazione &lt;!ATTLIST libro titolo   CDATA #REQUIRED &gt; indica che l&#8217;elemento libro ha un attributo obbligatorio di tipo testo denominato titolo.</p>
<p style="color: #0d293f; text-align: justify;">Per indicare il Dtd cui fa riferimento un file XML è possibile seguire 2 approcci: inserire il Dtd all&#8217;interno del file XML utilizzando il tag !DOCTYPE oppure inserendo il path del file Dtd, che può essere un path locale o un indirizzo web.</p>
<p style="color: #0d293f; text-align: justify;">es. 1  &lt;?xml version=&#8221;1.0&#8243;&gt;&lt;!DOCTYPE libro[&#8230;Definizioni del Dtd&#8230;]&gt;</p>
<p class="codice" style="color: #0d293f; text-align: justify;">es. 2  &lt;?xml version=&#8221;1.0&#8243;&gt;&lt;!DOCTYPE libro SYSTEM &#8220;articolo.dtd&#8221;&gt;</p>
<p class="codice" style="color: #0d293f; text-align: justify;">es.3  &lt;?xml version=&#8221;1.0&#8243;&gt;&lt;!DOCTYPE articolo SYSTEM http://www.valeriofinazzo.it/libro.dtd&#8221;&gt;</p>
<p style="color: #0d293f; text-align: justify;">Con l&#8217;uso dei Dtd un parser può verificare la correttezza sintattica di un file xml, tuttavia alcune limitazioni del Dtd ne sconsigliano l&#8217;uso in favore di un altro approccio, quello dell&#8217;XML Schema.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-3-document-type-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%203%20%E2%80%93%20DOCUMENT%20TYPE%20DEFINITION" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-3-document-type-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%203%20%E2%80%93%20DOCUMENT%20TYPE%20DEFINITION" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-3-document-type-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%203%20%E2%80%93%20DOCUMENT%20TYPE%20DEFINITION" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-3-document-type-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%203%20%E2%80%93%20DOCUMENT%20TYPE%20DEFINITION" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-3-document-type-definition%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%203%20%E2%80%93%20DOCUMENT%20TYPE%20DEFINITION" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-3-document-type-definition%2F&#038;title=XML%20TUTORIAL%20%E2%80%93%203%20%E2%80%93%20DOCUMENT%20TYPE%20DEFINITION" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-3-document-type-definition/" data-a2a-title="XML TUTORIAL – 3 – DOCUMENT TYPE DEFINITION"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-3-document-type-definition/">XML TUTORIAL – 3 – DOCUMENT TYPE DEFINITION</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XML TUTORIAL &#8211; 2 &#8211; ELEMENTI BASE</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-2-elementi-base/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 18 Jun 2014 21:09:36 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=81</guid>

					<description><![CDATA[<p>partiamo da un esempio di file xml per evidenziare le caratteristiche basi di un file xml [crayon-6413813a87d4a227918600/] La prima riga del documento  &#60;?xml version=&#8221;1.0&#8243; ?&#62; identifica il file documento XML specificando la versione. XML permette di definire quanti tag si voglia purchè essi vengano sempre chiusi. Inoltre è possibile specificare un attributo inserendo il nome &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-2-elementi-base/" class="more-link">Continua la lettura di <span class="screen-reader-text">XML TUTORIAL &#8211; 2 &#8211; ELEMENTI BASE</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-2-elementi-base/">XML TUTORIAL – 2 – ELEMENTI BASE</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">partiamo da un esempio di file xml per evidenziare le caratteristiche basi di un file xml</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" ?&gt;
&lt;libro titolo="Titolo del libro"&gt;
&lt;capitolo titolo="Titolo del capitolo 1"&gt;&lt;/capitolo&gt;
&lt;capitolo titolo="Titolo del capitolo 2"&gt;&lt;/capitolo&gt;
&lt;/libro&gt;</pre><p>La prima riga del documento  &lt;?xml version=&#8221;1.0&#8243; ?&gt; identifica il file documento XML specificando la versione.</p>
<p style="color: #0d293f; text-align: justify;">XML permette di definire quanti tag si voglia purchè essi vengano sempre chiusi. Inoltre è possibile specificare un attributo inserendo il nome dell&#8217;attributo con il relativo valore all&#8217;interno del tag di apertura dell&#8217;elemento.</p>
<p style="color: #0d293f; text-align: justify;">XML prevede una <strong>sintassi abbreviata</strong> per gli elementi vuoti che evita di dover specificare il tag di chiusura, terminando il tag di apertura con la sequenza di caratteri &#8220;/&gt;&#8221;, come nel seguente esempio.</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" ?&gt;
&lt;libro titolo="Titolo del libro"&gt;
&lt;capitolo titolo="Titolo del capitolo 1"/&gt;
&lt;capitolo titolo="Titolo del capitolo 2"/&gt;
&lt;/libro&gt;</pre><p>Le due notazioni per gli elementi vuoti sono equivalenti.</p>
<p style="color: #0d293f; text-align: justify;">Riassumendo tutti i documenti XML devono essere ben formati e affinchè un documento XML sia ben formato deve rispettare le seguenti regole:</p>
<ul style="color: #143c5d; text-align: justify;">
<li>Ogni documento XML deve contenere <strong>un unico elemento di massimo livello</strong> (root) che contenga tutti gli altri elementi del documento.</li>
<li>Ogni elemento deve avere un <strong>tag di chiusura</strong> o, se vuoti, possono prevedere la forma abbreviata (/&gt;)</li>
<li>Gli elementi devono essere opportunamente nidificati, cioè i tag di chiusura devono seguire l&#8217;<strong>ordine</strong> inverso dei rispettivi tag di apertura</li>
<li>XML fa <strong>distinzione tra maiuscole e minuscole</strong>, per cui i nomi dei tag e degli attributi devono coincidere nei tag di apertura e chiusura anche in relazione a questo aspetto</li>
<li>I valori degli attributi devono sempre essere racchiusi tra singoli o doppi <strong>apici</strong></li>
</ul>
<p style="color: #0d293f; text-align: justify;">La <strong>scelta dei nomi</strong> dei tag deve seguire alcune regole: un tag può iniziare con un lettera o un underscore (_) e può contenere lettere, numeri, il punto, l&#8217;underscore (_) o il trattino (-). Non sono ammessi spazi o altri caratteri. Inoltre XML è sensibile all&#8217;uso di maiuscolo e minuscolo.</p>
<p style="color: #0d293f; text-align: justify;">Per quanto riguarda il <strong>contenuto</strong>, un documento XML può contenere potenzialmente qualsiasi carattere dell&#8217;alfabeto latino, cifre e punteggiatura. L&#8217;encoding deve essere specificato nell&#8217;intestazione del documento, es.</p>
<p></p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;</pre><p>E&#8217; possibile inserire dei commenti tramite le sequenze di caratteri <strong>&lt;!&#8211;</strong> e <strong>&#8211;&gt;</strong> e possono trovarsi in qualsiasi punto del documento.</p>
<p style="color: #0d293f; text-align: justify;">Infine per poter inserire caratteri chiavi dell&#8217;xml in modo che vengano considerati come semplice testo si fa ricorso alla sezione CDATA.</p>
<p style="color: #0d293f; text-align: justify;">La sezione CDATA (Character DATA) è un blocco di testo che viene considerato sempre come testo, anche se contiene codice XML o altri caratteri speciali. Per indicare una sezione CDATA è sufficiente racchiuderla tra le sequenze di caratteri &lt;![CDATA[ e ]]&gt;.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-2-elementi-base%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20ELEMENTI%20BASE" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-2-elementi-base%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20ELEMENTI%20BASE" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-2-elementi-base%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20ELEMENTI%20BASE" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-2-elementi-base%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20ELEMENTI%20BASE" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-2-elementi-base%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20ELEMENTI%20BASE" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-2-elementi-base%2F&#038;title=XML%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20ELEMENTI%20BASE" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-2-elementi-base/" data-a2a-title="XML TUTORIAL – 2 – ELEMENTI BASE"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-2-elementi-base/">XML TUTORIAL – 2 – ELEMENTI BASE</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XML TUTORIAL &#8211; 1 &#8211; INTRODUZIONE</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-1-introduzione/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 18 Jun 2014 21:07:27 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=79</guid>

					<description><![CDATA[<p>Inizia una serie di articoli dedicati a quel componente che ha influenzato pesantemente lo sviluppo delle applicazioni in ambito enterprise, ovvero l&#8217;XML, acronimo di eXtensible Markup Language. Esso è un linguaggio che permette di definire altri linguaggi di markup. Definisce un insieme standard di regole sintattiche per modellare la struttura di documenti e dati. Tali &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-1-introduzione/" class="more-link">Continua la lettura di <span class="screen-reader-text">XML TUTORIAL &#8211; 1 &#8211; INTRODUZIONE</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-1-introduzione/">XML TUTORIAL – 1 – INTRODUZIONE</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: #0d293f; text-align: justify;">Inizia una serie di articoli dedicati a quel componente che ha influenzato pesantemente lo sviluppo delle applicazioni in ambito enterprise, ovvero l&#8217;XML, acronimo di eXtensible Markup Language.</p>
<p style="color: #0d293f; text-align: justify;">Esso è un linguaggio che permette di definire altri linguaggi di markup. Definisce un insieme standard di regole sintattiche per modellare la struttura di documenti e dati. Tali specifiche ufficiali sono state definite dal W3C (Worl Wide Web Consortium) e sono consultabili all&#8217;indirizzo <a style="color: #2675b5;" title="Link esterno" href="http://www.w3.org/XML" target="_blank">http://www.w3.org/XML</a>.</p>
<p style="color: #0d293f; text-align: justify;">XML è dunque un meta-linguaggio per definire la struttura di documenti e dati, dove per documento XML si intende un<strong> </strong>file di testo contenente una serie di tag, attributi e testo secondo regole sintattiche ben definite.</p>
<p style="color: #0d293f; text-align: justify;">Il documento XML è caratterizzato da una struttura gerarchica, composto da componenti denominati elementi. Ciascun elemento rappresenta un componente logico del documento e può contenere altri elementi (sottoelementi) o del testo. Ad ogni elemento possono essere associate informazioni dette attributi, che descrivono le proprietà dell&#8217;elemento.</p>
<p style="color: #0d293f; text-align: justify;">L&#8217;organizzazione degli elementi presenta un ordine gerarchico con un elemento principale detto root element e gli elementi che compongono l&#8217;albero vengono definiti tag.</p>
<p style="color: #0d293f; text-align: justify;">Nel prossimo articolo vedremo in dettaglio una struttura xml per approfondire i contetti espressi</p>
<p style="text-align: justify;">
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-1-introduzione%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%201%20%E2%80%93%20INTRODUZIONE" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-1-introduzione%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%201%20%E2%80%93%20INTRODUZIONE" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-1-introduzione%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%201%20%E2%80%93%20INTRODUZIONE" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-1-introduzione%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%201%20%E2%80%93%20INTRODUZIONE" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-1-introduzione%2F&amp;linkname=XML%20TUTORIAL%20%E2%80%93%201%20%E2%80%93%20INTRODUZIONE" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fxml-tutorial-1-introduzione%2F&#038;title=XML%20TUTORIAL%20%E2%80%93%201%20%E2%80%93%20INTRODUZIONE" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-1-introduzione/" data-a2a-title="XML TUTORIAL – 1 – INTRODUZIONE"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/xml-tutorial-1-introduzione/">XML TUTORIAL – 1 – INTRODUZIONE</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
