{"id":90,"date":"2014-06-18T23:18:44","date_gmt":"2014-06-18T21:18:44","guid":{"rendered":"http:\/\/www.valeriofinazzo.it\/wordpress\/?p=90"},"modified":"2014-06-18T23:18:44","modified_gmt":"2014-06-18T21:18:44","slug":"xml-tutorial-5-xsd-e-parser","status":"publish","type":"post","link":"http:\/\/www.valeriofinazzo.it\/wordpress\/2014\/06\/xml-tutorial-5-xsd-e-parser\/","title":{"rendered":"XML TUTORIAL &#8211; 5 &#8211; XSD E PARSER"},"content":{"rendered":"<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\u00f2 essere indicata\u00a0 nell&#8217;elemento radice del file usando i tag xmlns:xsi e xsi:noNamespaceSchemaLocation.<\/p>\n<pre class=\"lang:default decode:true \">&lt;libro\u00a0\r\nxmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\u00a0\r\nxsi:noNamespaceSchemaLocation=\"libro.xsd\"\u00a0\r\ntitolo=\"Titolo\" &gt;<\/pre>\n<p>L&#8217;attributo\u00a0xmlns:xsi\u00a0indica un URL che specifica la modalit\u00e0 con cui si indicher\u00e0 il riferimento allo schema XML, mentre l&#8217;attributoxsi:noNamespaceSchemaLocation\u00a0indica il nome e l&#8217;eventuale percorso del file contenente lo schema XML di riferimento.<\/p>\n<p style=\"color: rgb(13, 41, 63); text-align: justify;\">Concetto fondamentale \u00e8 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>\n<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>\n<p style=\"color: rgb(13, 41, 63); text-align: justify;\">Per definire un namespace si usa l&#8217;attributo xmlns\u00a0associato al root element, come nel seguente esempio:<\/p>\n<pre class=\"lang:default decode:true \">&lt;libro\u00a0xmlns=\"http:\/\/www.valeriofinazzo.it\/libro\"&gt;<\/pre>\n<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 \u00e8 una stringa libera, che per prassi, viene indicata tramite una URI, Uniform Resource Identifier.<\/p>\n<p style=\"color: rgb(13, 41, 63); text-align: justify;\">\u00c8 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>\n<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;\u00a0 &gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Per poter validare un file XML occorre indicare al parser dove recuperare lo schema. Tale informazione pu\u00f2 essere indicata\u00a0 nell&#8217;elemento radice del file usando i tag xmlns:xsi e xsi:noNamespaceSchemaLocation. &lt;libro\u00a0 xmlns:xsi=&#8221;http:\/\/www.w3.org\/2001\/XMLSchema-instance&#8221;\u00a0 xsi:noNamespaceSchemaLocation=&#8221;libro.xsd&#8221;\u00a0 titolo=&#8221;Titolo&#8221; &gt; L&#8217;attributo\u00a0xmlns:xsi\u00a0indica un URL che specifica la modalit\u00e0 con cui si indicher\u00e0 il riferimento allo schema XML, mentre l&#8217;attributoxsi:noNamespaceSchemaLocation\u00a0indica il nome e &hellip; <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\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[12],"tags":[13,14],"_links":{"self":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/90"}],"collection":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/comments?post=90"}],"version-history":[{"count":1,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/90\/revisions"}],"predecessor-version":[{"id":91,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/90\/revisions\/91"}],"wp:attachment":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/media?parent=90"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/categories?post=90"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/tags?post=90"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}