{"id":2479,"date":"2020-01-13T10:00:19","date_gmt":"2020-01-13T09:00:19","guid":{"rendered":"https:\/\/www.eugigufo.net\/it\/?page_id=2479"},"modified":"2024-10-01T13:58:27","modified_gmt":"2024-10-01T11:58:27","slug":"paragrafo20","status":"publish","type":"page","link":"https:\/\/eugigufo.net\/it\/inerario\/paragrafo20\/","title":{"rendered":"\u00a7 20. I numeri di telefono sui siti con il XSLT"},"content":{"rendered":"<p>Il&nbsp;paragrafo precedente &egrave;&nbsp;stato dedicato al&nbsp;modo tecnicamente corretto di&nbsp;pubblicare i&nbsp;contatti sui siti web. Si&nbsp;trattava per&ograve; in&nbsp;quel caso di&nbsp;siti in&nbsp;generale. Con il&nbsp;presente paragrafo propongo, invece, di&nbsp;prendere in&nbsp;considerazione una tecnologia specifica.<br \/>\nSui siti web realizzati con l&rsquo;applicazione del XSLT il&nbsp;contenuto delle pagine &egrave;&nbsp;solitamente salvato sotto forma dei documenti XML (non importa se&nbsp;si&nbsp;tratti dei semplici file o&nbsp;dei database). A&nbsp;questo punto conviene scrivere i&nbsp;numeri di&nbsp;telefono pubblicati sul sito non come un&nbsp;testo semplice, ma&nbsp;all&rsquo;interno di&nbsp;un&nbsp;tag dedicato: per esempio, &lt;phone&gt;. Questo modo di&nbsp;fare non solo render&agrave; i&nbsp;dati XML meglio strutturati, ma&nbsp;ci&nbsp;fornir&agrave; anche delle nuove modalit&agrave; di&nbsp;mostrare i&nbsp;contenuti al&nbsp;visitatore.<br \/>\nLa&nbsp;struttura dei dati ben progettata, in&nbsp;particolare, faciliter&agrave; l&rsquo;aggiornamento di&nbsp;tutti i&nbsp;dati dello stesso tipo nelle situazioni particolari, senza correre il&nbsp;rischio di&nbsp;dimenticare alcune o&nbsp;una singola scritta.<\/p>\n<blockquote class=\"lyrotstup\"><p><b>Le&nbsp;ipotesi delle situazioni particolari<\/b><br \/>\nI&nbsp;prefissi telefonici, come ogni opera umana e&nbsp;diversamente dalle leggi della natura, tendono a&nbsp;essere cambiati nel tempo.<br \/>\nPotremmo vedere l&rsquo;esempio concreto dell&rsquo;Ucraina. Il&nbsp;suo prefisso telefonico internazionale &egrave;&nbsp;+380 ed&nbsp;&egrave;&nbsp;entrato in&nbsp;funzione il&nbsp;16&nbsp;aprile&nbsp;1995. Prima di&nbsp;quella data l&rsquo;Ucraina continuava a&nbsp;utilizzare il&nbsp;prefisso dell&rsquo;URSS&nbsp;+7 (attualmente utilizzato solo dalla Russia e&nbsp;dal Kazakistan).<br \/>\nAl&nbsp;Vaticano &egrave;&nbsp;stato assegnato il&nbsp;prefisso&nbsp;+379. Assegnato ma&nbsp;non attivato, dunque la&nbsp;citt&agrave;-Stato continua a&nbsp;utilizzare il&nbsp;prefisso italiano&nbsp;+39 in&nbsp;combinazione con quello di&nbsp;Roma&nbsp;(06). Nessuno, tranne una entit&agrave; la&nbsp;cui esistenza &egrave;&nbsp;discutibile, &egrave;&nbsp;per&ograve; in&nbsp;grado di&nbsp;dire se&nbsp;e&nbsp;quando possa essere presa la&nbsp;decisione di&nbsp;attivare il&nbsp;prefisso telefonico separato assegnato.<br \/>\nLe&nbsp;tendenze indipendentistiche di&nbsp;certe regioni europee potrebbero portare, prima o&nbsp;poi, alla introduzione di&nbsp;nuovi prefissi nazionali.<\/p><\/blockquote>\n<p>\nDi&nbsp;conseguenza, i&nbsp;numeri telefonici (cio&egrave; i&nbsp;nostri dati) devono essere strutturati tenendo conto di&nbsp;tre componenti: il&nbsp;prefisso nazionale, il&nbsp;prefisso provinciale\/urbano e&nbsp;il&nbsp;numero di&nbsp;telefono assegnato al&nbsp;singolo utente. In&nbsp;Italia, come ormai anche nella maggioranza schiacciante di&nbsp;altri Stati, il&nbsp;prefisso provinciale\/urbano &egrave;&nbsp;incorporato nel numero dell&rsquo;utente e&nbsp;deve essere utilizzato anche per le&nbsp;telefonate all&rsquo;interno della medesima provincia. Ma&nbsp;ci&nbsp;conviene comunque trattarlo come una componente separata per almeno due motivi: 1)&nbsp;teoricamente potrebbe cambiare, 2)&nbsp;dobbiamo alleggerire il&nbsp;file contenente i&nbsp;numeri (vediamo subito in&nbsp;che modo).<br \/>\nIl&nbsp;modo valido di&nbsp;scrivere i&nbsp;numeri di&nbsp;telefono in&nbsp;un&nbsp;file XML potrebbe essere questo:<\/p>\n<pre class=\"brush: xml; collapse: false; title: listing 1; notranslate\" title=\"listing 1\">\n&lt;phone country=&quot;39&quot; city=&quot;02&quot;&gt;65489873&lt;\/phone&gt;\n<\/pre>\n<p>\nE&nbsp;un&nbsp;gruppo di&nbsp;numeri (per esempio assegnati allo stesso ufficio) pu&ograve; essere scritto in&nbsp;un&nbsp;unico blocco:<\/p>\n<pre class=\"brush: xml; collapse: false; title: listing 2; notranslate\" title=\"listing 2\">\n&lt;phone country=&quot;39&quot; city=&quot;02&quot;&gt;\n            &lt;item&gt;11122233&lt;\/item&gt;\n            &lt;item&gt;44455566&lt;\/item&gt;\n            &lt;item&gt;77788899&lt;\/item&gt;\n&lt;\/phone&gt;\n<\/pre>\n<p>\nCome potete notare, i&nbsp;numeri sono scritti come sequenze uniche delle cifre (tra i&nbsp;tag &lt;item&gt;), la&nbsp;loro visualizzazione pi&ugrave; comoda per la&nbsp;lettura (per esempio, con degli spazi in&nbsp;mezzo) pu&ograve; essere determinata dalle regole contenute nel modello XSLT. In&nbsp;sostanza, possiamo modificare il&nbsp;modo di&nbsp;visualizzare i&nbsp;numeri di&nbsp;telefono su&nbsp;tutto il&nbsp;sito correggendo solo un&nbsp;frammento del&nbsp;XSLT.<br \/>\nUn&nbsp;vantaggio un&nbsp;po&rsquo; meno ovvio del suddetto modo &egrave;&nbsp;la&nbsp;facilit&agrave; della modifica dei prefissi nazionali e&nbsp;provinciali. Per evitare le&nbsp;contraddizioni tra le&nbsp;regole del XSLT e&nbsp;il&nbsp;contenuto del file&nbsp;XML nel caso del cambiamento di&nbsp;un&nbsp;prefisso, conviene indicare i&nbsp;nomi geografici al&nbsp;posto dei valori numerici dei prefissi:<\/p>\n<pre class=\"brush: xml; collapse: false; title: listing 3; notranslate\" title=\"listing 3\">\n&lt;phone country=&quot;italy&quot; city=&quot;milan&quot;&gt;65489873&lt;\/phone&gt;\n<\/pre>\n<p>\nCerto, questo comporter&agrave; la&nbsp;creazione della lista dei prefissi, ma&nbsp;essa sar&agrave; anche l&rsquo;unico luogo delle future modifiche.<br \/>\nLa&nbsp;trasformazione dei nomi geografici in&nbsp;valori numerici (sulla base della lista appena menzionata) al&nbsp;momento della visualizzazione avverr&agrave; con una regola contenuta nel&nbsp;XSLT.<br \/>\nL&rsquo;obiettivo del presente paragrafo &egrave;&nbsp;stato quello di&nbsp;proporre una struttura dei dati ottimale e&nbsp;non scrivere un&nbsp;manuale di&nbsp;XSLT. Concludo quindi ricordando che potrebbe anche avere senso di&nbsp;mostrare i&nbsp;prefissi nazionali solo alle persone che visualizzano la&nbsp;pagina da&nbsp;uno Stato diverso da&nbsp;quello del prefisso. Mentre nella struttura dei dati e&nbsp;nel link del numero il&nbsp;prefisso nazionale deve essere presente sempre e&nbsp;comunque.<br \/>\nP.S.: so&nbsp;benissimo che esistono i&nbsp;numeri dei telefoni mobili. E&nbsp;voi potete capire benissimo da&nbsp;soli che in&nbsp;questo caso il&nbsp;prefisso da&nbsp;trattare &egrave;&nbsp;uno solo: quello nazionale.<br \/>\nP.P.S.: tutti i&nbsp;numeri riportati negli esempi sono stati digitati a&nbsp;caso. Ogni coincidenza con i&nbsp;numeri realmente esistenti &egrave;&nbsp;del tutto casuale.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il paragrafo dell\u2019\u201cInerario\u201d dedicato alla struttura ottimale del file XML contenente i numeri telefonici da pubblicare su un sito.<br \/>\nQuesto paragrafo \u00e8 destinato agli sviluppatori frontend e backend.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":452,"menu_order":20,"comment_status":"open","ping_status":"closed","template":"inerarioart.php","meta":{"footnotes":""},"class_list":["post-2479","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/2479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/comments?post=2479"}],"version-history":[{"count":0,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/2479\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/452"}],"wp:attachment":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/media?parent=2479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}