Serie Generale n. 102 del 3-5-2002
CIRCOLARI
AUTORITA' PER L' INFORMATICA NELLA PUBBLICA AMMINISTRAZIONE
AUTORITA' PER L' INFORMATICA NELLA PUBBLICA AMMINISTRAZIONE
CIRCOLARE 22 aprile 2002, n. AIPA/CR/40
Formato per la rappresentazione elettronica dei provvedimenti normativi tramite il linguaggio di marcatura XML. (GU Serie Generale n.102 del 03-05-2002)

A tutte le amministrazioni
pubbliche

1. Premessa.
L'impulso istituzionale sui temi del riordino normativo e della
qualità della regolazione persegue l'obiettivo di semplificazione
del corpus normativo, attraverso azioni mirate a ridurre il numero
delle norme e a favorirne la chiarezza. A tale scopo, la circolare
del Presidente del Consiglio dei Ministri del 20 aprile 2001,
pubblicata nella Gazzetta Ufficiale del 27 aprile 2001, n. 97 (in
seguito riferita come circolare 2001), ha riformato le regole alle
quali le amministrazioni sono invitate ad attenersi nella redazione
dei provvedimenti (cosiddetta attività di drafting). Tali regole
sono state riformulate in maniera più analitica, ed integrate con
riferimento alla redazione dei testi regolamentari, nella ""Guida
alla redazione dei testi normativi"", pubblicata nel supplemento
ordinario alla Gazzetta Ufficiale n. 101 del 3 maggio 2001.
Per rendere effettiva la conoscibilità delle norme da parte dei
cittadini è necessario che, accanto agli interventi di
semplificazione, siano intraprese iniziative idonee a consentire
l'accessibilità telematica alle norme, risolvendo i problemi di
carattere giuridico e tecnologico che ne ostacolano l'attuazione. La
necessità di prevedere azioni finalizzate a consentire
l'accessibilità telematica del corpus normativo trova una sua
affermazione nel programma e-Europe, che colloca i dati giuridici tra
i dati pubblici essenziali, classificati come prioritari,
l'accessibilità dei quali è riconosciuta come diritto dei cittadini
che gli Stati membri dell'Unione europea devono impegnarsi a
garantire.
2. Standard per la rappresentazione dei provvedimenti normativi.
La diffusione di strumenti informatici per la produzione, il
trattamento e la pubblicazione dei testi costituisce un fattore
abilitante per perseguire gli obiettivi citati, ma va accompagnata
dalla definizione di regole e criteri volti ad accrescere l'efficacia
e l'interoperabilità degli strumenti automatici di elaborazione e
dei servizi connessi nel contesto specifico della produzione e
pubblicazione di documenti a carattere normativo.
Il progetto intersettoriale dell'Aipa "Norme in rete" ha
affrontato, nella sua prima fase, i problemi relativi all'uniformità
delle funzioni di ricerca delle norme attraverso internet,
indipendentemente dai formati di rappresentazione dei provvedimenti.
È stato, quindi, realizzato un portale per l'accesso unificato ai
documenti di interesse normativo pubblicati sui siti web
istituzionali, ricorrendo alle tecnologie di indicizzazione e ricerca
dei documenti in base alle parole presenti nel testo.
Parallelamente sono state avviate attività di standardizzazione
finalizzate a favorire l'interoperabilità tra sistemi diversi e a
consentire la realizzazione di funzionalità più specifiche. In
particolare, sono state definite le regole per l'assegnazione di un
nome identificativo univoco ai provvedimenti normativi, allo scopo di
semplificare la realizzazione di funzionalità di navigazione
ipertestuale tra basi documentali normative distinte e di migliorare
l'efficacia delle funzioni di ricerca. Tale standard è stato
divulgato attraverso la circolare 6 novembre 2001, n. AIPA/CR/35
"Assegnazione dei nomi uniformi ai documenti giuridici" (pubblicata
nella Gazzetta Ufficiale n. 262 del 10 novembre 2001).
Un altro elemento determinante per la realizzazione di sistemi di
elaborazione più efficaci è rappresentato dalla possibilità di
identificare gli elementi costitutivi dei documenti appartenenti ad
una stessa classe (come, ad esempio, gli elementi che costituiscono
la struttura dei provvedimenti normativi quali: titolo, parti,
articoli, commi e altro) e di associare ad essi altre informazioni
che ne arricchiscano o qualifichino il contenuto. Tale integrazione
del contenuto informativo di un testo può essere attuata con i
linguaggi di marcatura (o mark-up) che forniscono le tecniche per
associare ai documenti testuali, o a loro specifiche parti,
informazioni aggiuntive.
La condivisione di un medesimo formalismo di marcatura dei testi
normativi resi accessibili da organismi differenti, anche se dotati
di sistemi informatici tecnologicamente eterogenei, consente di
costruire un sistema di ricerca unitario, in grado di offrire
funzionalità più efficaci ed un livello di precisione superiore a
quello ottenibile con la semplice ricerca per parole. Inoltre, la
marcatura dei provvedimenti normativi in base a regole definite
consente di rappresentare informazioni relative anche a quelle
specifiche parti del testo che contengono riferimenti ad altri
provvedimenti e - soprattutto se attuata già a partire dalle fasi di
drafting - rende possibile la realizzazione di sistemi informatici di
supporto alle azioni di riordino normativo e di costruzione dei testi
vigenti.
3. Formalismo di rappresentazione adottato.
Il linguaggio di marcatura che offre la possibilità di definire
strutture per classi omogenee di documenti e che si sta
progressivamente affermando come standard nell'ambito della rete
internet è l'extensible markup language (XML), già adottato
dall'Aipa nella circolare 7 maggio 2001, n. AIPA/CR/28 (Gazzetta
Ufficiale n. 113 del 17 maggio 2001) per rappresentare le
informazioni da associare ai documenti scambiati attraverso i sistemi
di protocollo informatico.
Il linguaggio XML consente di specificare vincoli di correttezza
strutturale su una classe di documenti attraverso un formalismo di
definizione di regole, denominato document type definition (DTD):
ogni insieme di documenti che presenta caratteristiche uniformi può
essere descritto con uno specifico DTD.
Nell'ambito delle attività svolte dai gruppi di lavoro del
progetto "Norme in rete", tale formalismo è stato adottato per
rappresentare i principali tipi di atti normativi. La necessità di
fornire regole di rappresentazione valide per diverse tipologie di
provvedimenti e di affiancare ad esse una modalità di marcatura
semplificata ha dato luogo alla definizione di tre DTD tra di loro
compatibili in quanto adottano le medesime definizioni per gli
elementi comuni. Essi, pur descrivendo all'incirca lo stesso insieme
di provvedimenti, si differenziano per la rigidità dei vincoli
imposti alla struttura del documento, come illustrato nel seguito:
a) il DTD base descrive documenti che hanno una struttura molto
semplice e regolare, non presentano eccezioni e rispettano le regole
per la redazione dei documenti normativi espresse nella circolare
2001. L'attuazione della marcatura secondo le regole specificate in
questo DTD risulta semplice e copre una casistica sufficientemente
ampia. La sua maggiore semplicità facilita, inoltre, le fasi di
sperimentazione;
b) il DTD completo è in grado di descrivere documenti di
struttura più complessa, ma anch'essi conformi alle prescrizioni
della circolare 2001, rappresentando i vincoli nella numerazione e
nella composizione delle parti della struttura previsti per ciascun
tipo di atto. Dal momento che il DTD completo consente la gestione di
una più estesa varietà di informazioni e strutture, esso risulta
necessariamente più complesso;
c) il DTD flessibile si adegua alle possibili strutture
irregolari dei documenti normativi esistenti, permettendo di
descriverne le caratteristiche, anche se difformi dalle regole di
tecnica legislativa previste per le norme più recenti, e permette di
descrivere documenti che presentino eccezioni o particolarità.
4. I provvedimenti descritti.
I provvedimenti normativi descritti dai tre DTD possono essere
raggruppati, in funzione della loro struttura, in due categorie di
documenti:
a) il documento articolato, che prevede una struttura costituita
da intestazione, formula iniziale (che può contenere un preambolo),
articolato, formula finale, conclusione, eventuali annessi.
L'articolato è in genere strutturato secondo una rigida gerarchia
nella quale ciascun componente ha una numerazione e una rubrica. I
provvedimenti che riflettono la struttura del documento articolato
sono: leggi, leggi costituzionali, decreti-legge, decreti
legislativi, decreti del Presidente della Repubblica, decreti del
Presidente del Consiglio dei Ministri, regi decreti, leggi regionali;
b) il documento semi-articolato, in cui sono previsti gli stessi
elementi che compongono la struttura del documento articolato, ma
senza vincoli sull'obbligatorietà della loro presenza e sull'ordine
in cui compaiono. Oltre agli elementi previsti nella struttura,
possono essere presenti elementi testuali arbitrari, non strutturati
gerarchicamente. A questa categoria di documenti appartengono, ad
esempio, gli atti di Autorità, i decreti ministeriali non numerati,
i decreti del Presidente della Repubblica non numerati e i decreti
del Presidente del Consiglio dei Ministri non numerati.
5. La rappresentazione della struttura degli atti.
Gli elementi della struttura formale di un atto normativo, che
vengono identificati attraverso specifiche modalità secondo le
regole di marcatura proposte, sono:
a) intestazione: ogni documento normativo possiede
un'intestazione composta da un tipo di documento, una data, un numero
d'ordine ed un titolo;
b) formula iniziale: le formule di rito iniziali sono obbligate e
ripetute tra tutti i documenti di uno stesso tipo e vengono
opportunamente marcate. Essa contiene l'eventuale preambolo;
c) articolato: l'articolato si compone di libro, parte, titolo,
capo, sezione, paragrafo ed articolo secondo le regole di
composizione relative a ciascun tipo di provvedimento. Ogni elemento
della gerarchia può avere una rubrica testuale ed un numero
d'ordine;
d) elementi interni all'articolo: un articolo è composto da
commi, che contengono o un corpo di testo o elenchi composti di
elementi lettera o di elementi numero, eventualmente tra loro
nidificati. Articoli e commi possono presentare la cosiddetta
decorazione, che consente di specificare l'origine normativa
dell'articolo stesso, aggiungendosi alla rubrica;
e) formula finale: le formule di rito finali sono strutturate ed
appositamente marcate;
f) conclusione: in essa viene identificata la parte in cui si
specificano la data e il luogo in cui è stato firmato l'atto
normativo. Il blocco di sottoscrizioni è composto dai sottoscriventi
e dal visto;
g) annessi: un documento normativo può prevedere uno o più
annessi, che possono essere semplici elementi testuali, grafici,
tabelle o interi documenti strutturati. Le regole di marcatura
prevedono sia la possibilità di porre il corpo dell'annesso
all'interno del documento ospite, sia di rappresentarlo esternamente,
in un documento autonomo.
Oltre agli elementi che rappresentano aspetti legati alla struttura
degli atti normativi, i criteri di marcatura proposti permettono
anche di identificare e di integrare informazioni che possono
presentarsi ovunque all'interno del testo e che, nel contesto dei
documenti normativi, rivestono un ruolo specifico. Tra questi, di
notevole importanza sono i riferimenti normativi che contengono
richiami ad altre norme. Tali riferimenti possono consistere in
semplici citazioni o costituire lo strumento attraverso il quale
hanno luogo interventi modificativi o abrogazioni. Una corretta e
completa marcatura di queste parti consente la realizzazione di
funzionalità di navigazione ipertestuale e di supporto alla
costruzione dei testi vigenti.
6. Meta-informazioni.
Le meta-informazioni rappresentano informazioni che non fanno parte
integrante del testo stesso, ma possono essere di interesse per gli
utenti o utili ai fini delle elaborazioni automatiche.
I DTD di Normeinrete forniscono una sintassi per la
rappresentazione delle meta-informazioni, prevedendone cinque tipi:
a) descrittori: sono alcune meta-informazioni fondamentali per
descrivere il documento, come gli estremi della pubblicazione
ufficiale, eventuali ripubblicazioni, il nome uniforme (secondo lo
standard URN emanato con la citata circolare n. AIPA/CR/35), gli
eventuali nomi alternativi usati nel linguaggio corrente (alias) con
cui il documento è noto (ad esempio: "legge Merloni"), le vigenze,
eventuali relazioni con altri documenti normativi e una lista di
parole chiave per descrivere il documento;
b) lavori preparatori: in questa sezione è possibile includere,
a testo libero, informazioni e documenti connessi ai lavori
preparatori relativi al provvedimento;
c) proprietario: uno schema libero di meta-informazioni che
ciascuna organizzazione che produce, gestisce o pubblica testi di
provvedimenti normativi può liberamente definire per il
raggiungimento di scopi applicativi specifici;
d) redazionale: in questa sezione la redazione che si occupa di
pubblicare un documento ha la possibilità di inserire informazioni
libere sulla pubblicazione. Ad esempio, note di redazione o
avvertenze;
e) disposizioni: in questa sezione si possono inserire
disposizioni caratterizzanti o analitiche per descrivere il contenuto
normativo di un documento.
Le meta-informazioni rilevanti possono essere tante e di vario tipo
e la definizione dei DTD fin qui messa a punto ne comprende solo
alcune. Pertanto, è possibile che le evoluzioni future degli
standard qui illustrati, a seguito di ulteriori approfondimenti o di
nuovi contributi, diano luogo ad estensioni delle meta-informazioni.
7. La rappresentazione della vigenza.
I DTD di Normeinrete prevedono la rappresentazione di provvedimenti
sia nel testo originale, sia in quello vigente ad una certa data
ovvero in una forma redazionale in cui le modifiche intervenute fino
alla specifica data stabilita sono riportate nel testo. È inoltre
possibile rappresentare provvedimenti multivigenti, che riportano
tutte le modifiche che si sono succedute nel tempo, con le
corrispondenti date di validità. La rappresentazione del testo
multivigente consente la realizzazione di applicazioni in grado di
ricostruire dinamicamente il testo vigente in funzione di una data
richiesta, non prestabilita.
8. Documentazione di supporto.
Il formalismo di rappresentazione adottato per lo standard qui
proposto si integra con le regole per l'associazione del nome
uniforme a ciascun provvedimento definite nella citata circolare n.
AIPA/CR/35. L'adozione di entrambi gli standard da parte delle
pubbliche amministrazioni, consentendo l'interoperabilità tra le
diverse basi documentali e la realizzazione di funzionalità di
ricerca e di elaborazione più efficaci, contribuirà a favorire
l'esercizio del diritto di accesso all'insieme dei dati pubblici
costituito dai provvedimenti normativi.
L'allegato tecnico alla presente circolare introduce i fondamenti
del linguaggio di marcatura adottato, costituisce una guida alla
marcatura dei testi normativi secondo i DTD di Normeinrete e fornisce
alcune indicazioni sugli strumenti software di supporto alle
tecnologie adottate.
Sui siti www.aipa.it e www.normeinrete.it sono pubblicati i DTD con
i necessari commenti esplicativi al loro interno, un glossario degli
elementi e degli attributi adottati ed alcuni riferimenti tecnici.
Si invitano, pertanto, le amministrazioni a valutare l'opportunità
di adottare lo standard proposto, eventualmente graduando nel tempo
le conseguenti attività e definendo opportuni criteri di priorità.
Qualora le amministrazioni aderissero al progetto Normeinrete, le
stesse potranno usufruire del supporto offerto al suo interno.
Roma, 22 aprile 2002
Il presidente f.f.: Batini

Allegato
tecnico alla Circolare 22 aprile 2002, n. AIPA/CR/40

FORMATO PER LA RAPPRESENTAZIONE ELETTRONICA DEI PROVVEDIMENTI
NORMATIVI TRAMITE IL LINGUAGGIO DI MARCATURA XML.

Introduzione.
Il presente allegato tecnico introduce le cognizioni fondamentali
sul linguaggio XML allo scopo di fornire gli strumenti di base
necessari alla comprensione e all'utilizzo dei DTD proposti
nell'ambito del progetto "Norme in rete".
Il documento è articolato in quattro parti: la prima contiene
un'introduzione ai linguaggi di marcatura e ai costrutti fondamentali
di XML; la seconda illustra i DTD di Normeinrete e fornisce le
indicazioni fondamentali per attuare la marcatura dei provvedimenti
normativi conformemente alle regole contenute nei DTD; la terza
fornisce indicazioni sugli strumenti software di supporto
all'utilizzo di XML; la quarta, infine, riporta un esempio di testo
normativo con la marcatura conforme alle regole qui esposte.
L'esposizione che segue è incentrata sui documenti testuali, che
costituiscono la tipologia di dati in cui ricadono i provvedimenti
normativi, e tralascia gli aspetti non indispensabili alla
comprensione dei DTD o non rilevanti in relazione alla tipologia di
documenti trattati, quali, ad esempio, i sistemi di codifica dei
caratteri. Il proficuo utilizzo del linguaggio XML e l'avvio di
iniziative mirate all'attuazione della marcatura dei provvedimenti
normativi secondo gli standard qui proposti richiede, comunque,
approfondimenti di natura tecnica per i quali si rimanda all'ampia
letteratura disponibile sulla materia ed ai riferimenti pubblicati
sui siti www.aipa.it e www.normeinrete.it, ove compaiono anche i DTD
con i necessari commenti esplicativi al loro interno ed un glossario
degli elementi e degli attributi adottati.
Si segnala, inoltre, che sul sito www.normeinrete.it è
disponibile un sistema on-line introduttivo di autoistruzione su XML
e i DTD di Normeinrete.
1. I linguaggi di marcatura ed XML.
1.1. I linguaggi di marcatura: generalità.
I linguaggi di marcatura (o mark-up) permettono di arricchire la
conoscenza sul contenuto dei dati associando ad essi ulteriori
informazioni. La marcatura di un documento testuale avviene
associando un'etichetta a ciascuna parte del testo che risulta
rilevante o in virtù del suo significato, oppure in quanto
rappresentativa della struttura del documento stesso. Tali etichette,
dette tag, vengono rappresentate con un nome delimitato da simboli
caratteristici ed inserite in maniera da racchiudere la parte di
testo a cui si riferiscono. Così, ad esempio, il titolo di un
documento può essere identificato includendolo tra due tag,
&lt;titoloDoc&gt; e &lt;/titoloDoc&gt;, che ne individuano
rispettivamente l'inizio e la fine, come nell'esempio seguente:
&lt;titoloDoc&gt;Interventi correttivi di finanza
pubblica&lt;/titoloDoc&gt;
La marcatura di un insieme di provvedimenti attuata identificando
il titolo di ciascun documento consente di realizzare, ad esempio,
funzioni di ricerca per parole presenti nei titoli, oppure funzioni
di visualizzazione o stampa che associno ai titoli un determinato
formato.
Un linguaggio di marcatura specifico prevede un insieme di tag
che descrivono unicamente le caratteristiche rilevanti per gli scopi
per cui il linguaggio è stato concepito. Ad esempio, HTML (HyperText
Markup Language), il linguaggio più diffuso per la predisposizione
di pagine web, contiene un vocabolario prefissato di tag, che hanno
lo scopo principale di descrivere le caratteristiche tipografiche con
cui rendere la visualizzazione di una pagina web: ad esempio, il tag
&lt;i&gt; esprime il fatto che il testo cui è associato deve essere
visualizzato in corsivo (i sta per italic); pertanto, la marcatura di
un testo con questo tag:
&lt;i&gt; Interventi correttivi di finanza pubblica &lt;/i&gt;
viene interpretata dal programma di visualizzazione (browser) in modo
da produrre il seguente formato di presentazione:
Interventi correttivi di finanza pubblica
In genere, i sistemi di ricerca e i programmi per il trattamento
e l'elaborazione dei testi (word processor) utilizzano propri
linguaggi di marcatura per realizzare funzioni che agiscano su
specifiche parti del testo. In molti casi, però, si determina uno
stretto vincolo di dipendenza tra i documenti ed i programmi in grado
di elaborarli, generando una commistione tra i dati veri e propri -
con le loro caratteristiche strutturali e semantiche - e le
applicazioni finalizzate ad elaborazioni specifiche, rendendo a volte
necessarie conversioni di formato per effettuare elaborazioni diverse
sullo stesso testo. Pertanto, il diffondersi di linguaggi di
marcatura specifici che siano divulgati ed aggiornati da organismi
indipendenti di standardizzazione (come è avvenuto per HTML con il
W3C) costituisce un fattore determinante per assicurare
l'interoperabilità tra sistemi diversi e l'indipendenza della
rappresentazione dei dati da tecnologie proprietarie.
A differenza dei linguaggi di marcatura specifici, i linguaggi di
marcatura generalizzati forniscono la sintassi per creare propri
vocabolari di tag e per definirne le regole grammaticali di
composizione; tali regole permettono di generare nuovi linguaggi di
marcatura in grado di rappresentare le caratteristiche di specifiche
tipologie di documenti.
1.2. Extensible Markup Language (XML).
Il linguaggio di marcatura generalizzato che - per le sue
caratteristiche di portabilità e semplicità - si sta affermando
come standard nel mondo Internet è XML (Extensible Markup Language).
In questa sezione vengono descritti i costrutti fondamentali del
linguaggio; i termini che assumono un significato specifico in questo
contesto vengono evidenziati in grassetto corsivo.
Per creare un linguaggio di marcatura specifico con XML, il
vocabolario di tag e le regole grammaticali che ne governano
l'utilizzo vengono definiti attraverso un formalismo detto document
type definition (DTD).
La comprensione delle caratteristiche di XML richiede la
descrizione dei suoi due contesti di utilizzo fondamentali, distinti
ma tra di loro collegati:
la marcatura di un documento secondo le regole di un linguaggio
di marcatura specifico;
la creazione di un linguaggio di marcatura specifico attraverso
un DTD.
I paragrafi che seguono illustrano i due argomenti sopraelencati.
1.2.1. La marcatura di un testo in XML.
La marcatura di un testo in XML avviene inserendo i tag e gli
eventuali dati aggiuntivi rispettando le denominazioni e le regole di
composizione dei corrispondenti elementi ed attributi definiti nel
DTD.
Gli elementi costituiscono i componenti fondamentali della
marcatura: ciascuna unità informativa che si ritiene opportuno
marcare con uno specifico tag viene denominata elemento. Dal punto di
vista sintattico, un elemento XML è l'insieme di un tag di apertura,
un tag di chiusura e della porzione di testo compresa fra i due tag,
come ad esempio in:
&lt;rubrica&gt; Semplificazione e accelerazione dei
procedimenti amministrativi &lt;/rubrica&gt;
Con riferimento all'esempio sopra riportato, si dirà che
l'elemento rubrica è composto da un tag di apertura
(&lt;rubrica&gt;), un contenuto (Semplificazione e accelerazione dei
procedimenti amministrativi) ed un tag di chiusura
(&lt;/rubrica&gt;).
Ciascun elemento può essere integrato con ulteriori informazioni
mediante propri attributi. Gli attributi vengono usati per
rappresentare un'informazione relativa all'elemento, adottando in
genere un formato codificato che ne faciliti l'elaborazione
automatica. Ciascun attributo di un elemento deve essere posto
all'interno del corrispondente tag di apertura, con la sintassi
nome="valore". La sintassi generale è quindi:
&lt;tag-elemento nome-attributo=" valoreattributo"&gt;
...contenuto dell'elemento... .
&lt;/tag-elemento&gt;
Nell'esempio che segue, un attributo viene utilizzato per fornire
un identificativo univoco al primo comma dell'articolo 1 di un
provvedimento:
&lt;comma id="art1-com1"&gt; ... contenuto del comma
&lt;/comma&gt;
Gli elementi devono rispettare precise regole di contenimento ed
essere tra di loro correttamente nidificati: ogni elemento può
contenerne altri e deve esistere un elemento che contiene tutti gli
altri, che viene detto elemento radice.
Perchè un documento sia ben formato, cioè sintatticamente
corretto secondo XML, è sufficiente che per ogni tag di apertura
(&lt;nome&gt;), esista un successivo tag di chiusura, (&lt;/nome&gt;)
e che tag diversi siano tra di loro correttamente nidificati. Questa
condizione impone che gli elementi di un documento XML rispettino una
gerarchia, con una struttura ad albero. L'operazione attraverso cui
avviene il confronto di un documento XML con le regole espresse nel
DTD ad esso associato e la segnalazione di eventuali difformità
viene detta validazione.
XML fornisce gli strumenti per caratterizzare le varie parti di
un documento, senza entrare nel merito degli aspetti tipografici
relativi alla sua visualizzazione. Per quest'ultimo scopo è
necessario ricorrere a fogli di stile (detti anche stylesheet), che
associano specifiche tipografiche agli elementi costitutivi
identificati con la marcatura. Tale separazione fa sì che lo stesso
testo marcato con XML possa essere utilizzato per scopi diversi, ad
esempio visualizzato su una pagina web o stampato, associando le
caratteristiche tipografiche appropriate per lo specifico supporto
fisico di visualizzazione attraverso fogli di stile esterni.
Un documento XML contiene alcune dichiarazioni che precedono il
testo, secondo lo schema di figura 1.
1. Dichiarazione XML
2. Direttive di visualizzazione
3. Dichiarazione DOCTYPE
4. Contenuto del documento
Figura 1: Struttura di un documento XML.
1. Dichiarazione XML - specifica la versione di XML usata ed
eventualmente il tipo di codifica dei caratteri usati. Esempio:
&lt;?xml version="1.0"encoding="iso-8859-1"?&gt;
2. Direttive di visualizzazione - consentono di associare uno
specifico foglio di stile al documento. La dichiarazione è del tipo:
&lt;?xml-stylesheet type="text/css"href="/do/atto/serie_generale/caricaPdf?cdimg=02A0524600100010110Nirbase.css&amp;dgu=2002-05-03&amp;art.dataPubblicazioneGazzetta=2002-05-03&amp;art.codiceRedazionale=02A05246&amp;art.num=1&amp;art.tiposerie=SG" target="_blank" ?&gt;
3. Dichiarazione DOCTYPE - consente di associare al documento XML
il DTD che contiene le regole a cui deve conformarsi la marcatura.
Può contenere direttamente il DTD o, più comunemente, specificare
l'indirizzo presso cui reperirlo, come nell'esempio che segue:
&lt;!DOCTYPE NIR SYSTEM"/dtd/nircompleto.dtd"&gt;
4. Contenuto del documento - contiene il testo del documento
integrato con tag ed attributi.
Nella parte quarta si riporta un esempio di un provvedimento sul
quale è stata attuata la marcatura.
Alcuni importanti benefici che possono derivare dall'utilizzo di
XML dipendono dalla condivisione delle specifiche. A questo scopo XML
consente di fare riferimento ad elementi definiti in altri
vocabolari, attraverso i cosiddetti namespace. Per evitare le
ambiguità derivanti dalla presenza di tag con lo stesso nome,
definiti in vocabolari diversi, si può associare un prefisso ai tag
che provengono da vocabolari esterni, in modo che la concatenazione
prefisso:nome assicuri l'unicità delle denominazioni. Nel rimandare
per una descrizione più approfondita dei namespace ai riferimenti
pubblicati sul sito www.normeinrete.it, per gli scopi di questa
esposizione è sufficiente sottolineare che i DTD di Normeinrete
utilizzano alcuni elementi definiti nel vocabolario di HTML e che ad
essi viene associato il prefisso h: (ad esempio &lt;h:p&gt;).
1.2.2. Document Type Definition (DTD).
Un DTD relativo ad una particolare tipologia di documenti
contiene le definizioni degli elementi e le regole che governano la
corretta marcatura dei testi che appartengono a tale tipologia; tra
le regole alcune stabiliscono le relazioni di composizione tra gli
elementi, utilizzabili per costruire elementi strutturati, dette
anche nel loro insieme content model dell'elemento. Di seguito
vengono illustrati i principali costrutti di un DTD, con esempi
tratti dal contesto specifico di applicazione.
Elementi.
La definizione di un elemento avviene attraverso la seguente
sintassi:
&lt;!ELEMENT nome-elemento content-model&gt;
Le regole che esprimono il content model possono usare molteplici
operatori per generare espressioni anche complesse. Di seguito
vengono riportati i principali:

=====================================================================
simbolo | significato | esempio
=====================================================================
\ |alternativa (OR) |legge\decretolegge
, |sequenza |num,rubrica
? |opzionale : 0 o 1 |rubrica?
* |opzionale : 0 o più |sottoscrivente*
+ |obbligatorio : 1 o più |comma+
|obbligatorio: 1 |num
( ) |gruppi di elementi |(num, rubrica?, (comma+))

Ad esempio, la regola seguente definisce un elemento articolo,
che contiene un elemento num, un elemento facoltativo chiamato
rubrica ed uno o più elementi chiamati comma:
&lt;!ELEMENT articolo (num, rubrica?, (comma+))&gt;
Attributi di un elemento.
Gli attributi di un elemento vengono definiti attraverso la
sequenza "&lt;!ATTLIST", seguita dal nome dell'elemento. Di ogni
attributo vengono riportati il nome, il tipo ed un eventuale valore
di default, che viene attribuito automaticamente in assenza di
un'assegnazione esplicita.
La sintassi generale è quindi:
!ATTLIST nome-elemento
nome-attributo-1 tipo-1 valore-1
nome attributo-2 tipo-2 valore-2
...................................
nome attributo-n tipo-n valore-n&gt;
Il tipo di un attributo definisce l'insieme dei corrispondenti
valori leciti. Ad esempio, il tipo CDATA definisce come valori
ammissibili per l'attributo stringhe di caratteri, mentre il tipo ID
impone il vincolo che il valore assunto dall'attributo sia unico, in
modo da costituire un identificativo univoco. In alcuni casi il tipo
viene indicato con una lista di valori ammissibili (ad esempio:
(originale\vigente)).
Il valore può contenere il valore di default, oppure delle
parole chiave di cui di seguito si elencano le principali:
REQUIRED: indica che, quando si effettua la marcatura, è
obbligatorio inserire un valore per il corrispondente attributo;
IMPLIED: indica invece che è facoltativo valorizzare l'attributo.
Entità parametrica.
I DTD possono contenere entità parametriche, allo scopo di
riutilizzare una stessa definizione ripetuta in più parti del DTD.
Le entità parametriche si denotano utilizzando come simbolo iniziale
% . Ad esempio, poichè nei DTD di Normeinrete molti elementi
prevedono un attributo per rappresentare una data in un formato
normalizzato, si definisce un'entità parametrica che viene
utilizzata per definire gli attributi relativi alle date nei diversi
elementi che lo prevedono, come mostrato negli esempi seguenti:
&lt;!ENTITY % data "norm CDATA REQUIRED"&gt;
&lt;!ATTLIST dataDoc %data;&gt;
&lt;!ATTLIST dataeluogo %data;&gt;
Commenti.
I commenti sono annotazioni inserite allo scopo di favorire la
comprensione delle definizioni fornite nel DTD e chiarirne l'uso per
gli utilizzatori. I commenti vanno posti all'interno di specifici
delimitatori (&lt;!- - testo del commento - -&gt;), come illustrato
nell'esempio che segue:
&lt;!- - ============================
Entità esterne: caratteri
=========================== - -&gt;;
2. La marcatura dei provvedimenti normativi con i dtd di NORMEINRETE.
I DTD di Normeinrete sono stati definiti con lo scopo di
pervenire ad una rappresentazione informatica dei provvedimenti
normativi che integri il testo con un'adeguata rappresentazione della
sua struttura e con informazioni aggiuntive che ne possano consentire
un efficace utilizzo. In questa seconda parte si entra nel merito
delle tipologie di provvedimenti descritti e dei DTD definiti per
rappresentarli.
2.1. I provvedimenti descritti.
I provvedimenti normativi possono essere classificati, in
funzione della loro struttura, in due tipi:
documento articolato, che prevede una struttura costituita da:
intestazione, formula iniziale (che contiene l'eventuale preambolo),
articolato, formula finale, conclusione, eventuali annessi.
L'articolato è in genere strutturato secondo una rigida gerarchia in
cui ciascun componente ha una numerazione e una rubrica. I
provvedimenti che riflettono la struttura del documento articolato
sono: leggi, leggi costituzionali, decreti legge, decreti
legislativi, decreti del Presidente della Repubblica, decreti del
Presidente del Consiglio dei Ministri, decreti ministeriali, regi
decreti, leggi regionali.
documento semi-articolato, che presenta gli stessi elementi
strutturali del documento articolato, ma non prevede vincoli rigidi
sull'obbligatorietà della loro presenza, l'ordine in cui compaiono,
la numerazione e la presenza di rubriche. A questa categoria
appartengono, ad esempio, gli atti di autorità, i decreti
ministeriali non numerati, i decreti del Presidente della Repubblica
non numerati e i decreti del Presidente del Consiglio dei Ministri
non numerati.
I DTD di Normeinrete prevedono anche la rappresentazione di
documenti non caratterizzati da vincoli specifici di composizione
della struttura, denominati genericamente DocumentoNIR, consentendo
così di descrivere anche gli allegati ai testi normativi,
caratterizzati da una notevole eterogeneità di formato.
Sono stati definiti tre DTD che adottano lo stesso vocabolario di
elementi ed attributi e forniscono regole che si differenziano per la
rigidità dei vincoli imposti alla struttura del documento.
Il DTD base consente la rappresentazione di documenti che
presentano una struttura molto semplice e regolare e rispettano le
regole per la redazione dei documenti normativi espresse nella
circolare 2001. L'attuazione della marcatura secondo le regole
specificate nel DTD base risulta semplice e copre una casistica
sufficientemente ampia. La sua maggiore semplicità ne suggerisce
l'adozione nelle fasi iniziali di apprendimento o di sperimentazione.
Il DTD completo permette di rappresentare documenti di struttura
più complessa, ma anch'essi conformi alle prescrizioni della
circolare 2001, rappresentando i vincoli nella numerazione e
composizione delle parti della struttura previsti per il tipo di
atto, degli articoli e dei commi. Poichè consente la descrizione di
una più estesa varietà di informazioni e strutture, risulta
necessariamente più complesso.
Il DTD flessibile si adegua alle possibili strutture irregolari
dei documenti normativi esistenti, permettendo di descriverne le
caratteristiche anche se difformi dalle regole di tecnica legislativa
previste per le norme più recenti; permette inoltre di descrivere
documenti che presentano eccezioni o particolarità. È necessaria la
sua adozione per i provvedimenti che si discostano dalle prescrizioni
della circolare 2001.
I tre DTD contengono regole coerenti, più o meno rigide a
seconda delle esigenze; tutti i documenti validi con il DTD base sono
validi anche secondo il DTD completo e tutti i documenti validi
secondo il DTD completo sono validi anche secondo il DTD flessibile.
I DTD prevedono la marcatura di provvedimenti sia nel testo
storico, sia nel testo vigente ad una certa data, in cui sono
riportate le modifiche in vigore alla data specificata, sia nei testi
multivigenti, in cui sono riportate tutte le modifiche intervenute
nel tempo con associate le rispettive date di validità.
L'obiettivo di rappresentare diverse tipologie di documenti,
evitando la creazione di numerosi DTD distinti ciascuno specializzato
per tipo di provvedimento, ha portato alla definizione di un ampio
insieme di elementi, di cui solo alcuni sono necessari
nella maggioranza dei casi.
La marcatura va quindi improntata a criteri di minimalità e
specificita': è opportuno inserire solo i tag necessari e scegliere
quelli più specifici in relazione al ruolo ed alla posizione del
testo che deve essere descritto.
Nelle sezioni seguenti si illustrano gli elementi più
significativi, comuni ai tre DTD.
2.2. Elementi descrittivi delle caratteristiche degli atti normativi.
Gli elementi che rappresentano caratteristiche tipiche degli atti
normativi, che verranno più in dettaglio descritti nei paragrafi
successivi, si distinguono in tre categorie:
elementi strutturali: descrivono caratteristiche legate alla
struttura e alle parti dell'atto normativo (ad esempio: intestazione,
formula iniziale, preambolo, articolato, formula finale,
conclusione);
elementi speciali: descrivono ulteriori caratteristiche
rilevanti che possono comparire in qualunque parte del testo (ad
esempio: riferimenti normativi, specificazioni di atti, soggetti,
enti, date e luoghi);
metainformazioni: descrivono, ad esempio: lavori preparatori,
avvertenze, dati di classificazione, ecc.
Sono poi stati definiti ulteriori elementi, detti generici, che
consentono la marcatura di parti del documento senza una
caratterizzazione semantica specifica.
In particolare, gli elementi generici consentono la
rappresentazione di:
strutture che possono essere presenti in testi non redatti
secondo le regole espresse nella circolare 2001 (ad esempio: i
paragrafi all'interno di un comma al di fuori di elenchi numerati),
oppure in atti per cui non è prevista una struttura predefinita;
particolari specifiche di visualizzazione, nei casi in cui la
caratterizzazione tipografica è indipendente dalla marcatura, ad
esempio quando una parola appare evidenziata in grassetto o in
corsivo per specifica scelta del legislatore e non corrisponde ad uno
specifico elemento;
grafici e tabelle, anch'essi indipendenti da una
caratterizzazione semantica.
Gli elementi descritti nel seguito e per i quali viene fornita
una definizione nel glossario pubblicato sui siti www.aipa.it e
www.normeinrete.it sono qui evidenziati con una sottolineatura. Nella
versione elettronica della presente circolare pubblicata sui predetti
siti è attivo il link ipertestuale che ne richiama la definizione.
2.2.1. Elementi strutturali.
Gli elementi che rappresentano i componenti della struttura
formale di un atto normativo sono:
intestazione: è composta da un tipo di documento, una data, un
numero d'ordine ed un titolo;
formula iniziale: le formule di rito iniziali sono obbligate e
ripetute tra tutti i documenti di uno stesso tipo e vengono
opportunamente marcate. Esse sono strutturate utilizzando l'elemento
blocco. La formula iniziale contiene l'eventuale preambolo;
articolato: si compone di libro, parte, titolo, capo, sezione,
paragrafo ed articolo secondo le regole di composizione relative a
ciascun tipo di provvedimento specificate nel DTD. Ogni elemento
della gerarchia può avere ulteriormente una rubrica testuale ed un
numero d'ordine;
elementi interni all'articolo: un articolo è composto da
commi, ciascun comma contiene o un corpo di testo o un elenco. Ogni
elenco, che è introdotto da un elemento alinea e può chiudersi con
una coda, può essere composto da elementi lettera (el) o da elementi
numero (en), eventualmente tra di loro annidati;
formula finale: è strutturata utilizzando l'elemento blocco;
conclusione: è composta da un elemento dataeluogo e dalle
sottoscrizioni. Il blocco di sottoscrizioni è composto da zero o
più sottoscriventi e da un elemento visto;
annessi: possono rappresentare diverse tipologie di documenti,
quali semplici elementi testuali, grafici, tabelle, o documenti
strutturati. È possibile sia porre il corpo dell'annesso all'interno
del documento ospite, sia rappresentarlo esternamente. Ogni elemento
annesso può pertanto contenere l'intero documento che costituisce
l'annesso oppure il riferimento ad un documento esterno che lo
contenga.
2.2.2. Elementi speciali.
Gli elementi cosiddetti speciali individuano informazioni che
sono rilevanti per il loro significato, indipendentemente dalla
posizione in cui si trovano all'interno della struttura del
provvedimento. I principali elementi speciali sono: i riferimenti
normativi, che contengono richiami ad altre norme quali semplici
citazioni, gli interventi modificativi o le abrogazioni. Una corretta
e completa marcatura di queste parti consente la realizzazione di
funzionalità di navigazione ipertestuale e di supporto alla
costruzione dei testi vigenti.
Gli elementi di questo tipo sono:
rif: un riferimento esplicito ad un altro testo.
L'identificativo del provvedimento citato, che deve essere il suo
nome uniforme come indicato nella circolare 6 novembre 2001, n.
AIPA/CR/35, viene fornito come valore di un attributo;
mrif: un riferimento esplicito multiplo a più parti di uno
stesso provvedimento, come quando ad esempio si citano vari articoli
della medesima legge;
mod, virgolette: un riferimento modificativo complesso.
L'elemento virgolette serve per identificare parti di testo,
solitamente tra virgolette, che racchiudono le parti di testo
esistente o le novelle da sostituirvi.
Sono poi stati definiti altri elementi particolari (def, atto,
soggetto, ente, data, luogo) per la cui descrizione si rimanda al
glossario allegato.
2.2.3. Meta-informazioni.
Le metainformazioni rappresentano informazioni aggiuntive di
interesse per gli utenti, che non fanno parte integrante del testo
stesso. Le metainformazioni rilevanti possono essere tante e di vario
tipo: l'immissione della maggior parte di esse è opzionale. Sono
previste metainformazioni che afferiscono alle seguenti tipologie:
1. descrittori: comprendono gli estremi della pubblicazione
ufficiale, eventuali ripubblicazioni, il nome uniforme (urn), gli
eventuali nomi alternativi usati nel linguaggio corrente (alias) con
cui il documento è noto (ad esempio: legge Merloni), le vigenze,
eventuali relazioni con altri documenti normativi, e una lista di
parole chiave (keywords) per descrivere il documento;
2. lavori preparatori: sono informazioni e documenti connessi
ai lavori preparatori relativi al provvedimento;
3. redazionale: prevede la rappresentazione di informazioni
libere sulla pubblicazione. Ad esempio: una nota, avvertenza o altro;
4. disposizioni: possono essere introduttive (finalità del
testo, ambito di applicazione, istituzione di enti, definizioni di
termini), direttive generiche (competenza, potere, diritto, dovere),
direttive specifiche (obbligo, divieto, permesso, procedura),
rimediali (sanzione, riparazione), finali (finanziarie, transitorie)
e modificative (eccezione, abrogazione, sostituzione, integrazione,
vigenza, proroga, reviviscenza, sospensione, retroattività,
ultrattività, estensione, deroga). Possono, inoltre, essere
rappresentati i criteri di necessità ed urgenza, la delega, i
pareri, le proposte, i considerata, i visto, le norme di attuazione
di direttiva europea e le specificazioni di copertura finanziaria;
5. proprietario: è da utilizzare per scopi specifici di
utilità, non previsti a priori.
2.3. Elementi fondamentali ed elementi opzionali nella marcatura dei
documenti.
I DTD Normeinrete consentono di rappresentare numerose
caratteristiche dei documenti normativi. Una marcatura che utilizzi
tutti gli elementi previsti può risultare quindi complessa e
richiedere il ricorso a competenze tecniche e giuridiche non sempre
disponibili. Per questo motivo viene di seguito indicato un livello
minimo di marcatura, che comprende:
l'intestazione in tutte le sue parti;
la struttura dell'articolato (inclusi i commi, gli alinea, le
lettere ed i numeri dove appropriato);
la distinzione in paragrafi delle formule iniziali e finali;
la corretta elencazione e il collegamento agli annessi;
le metainformazioni della sezione descrittori;
l'identificazione dei riferimenti normativi;
la valorizzazione dell'attributo ID dove obbligatorio.
Ulteriori caratteristiche oggetto di marcatura sono:
la specifica degli ID per tutti gli elementi in cui essi sono
previsti anche se facoltativi;
l'identificazione di tutte le parti semanticamente rilevanti
descritte dai tag def, atto, soggetto, ente, data, luogo, mod;
le metainformazioni della sezione lavoripreparatori.
Le altre metainformazioni, a parte quelle descrittive,
rappresentano un contributo redazionale e non ufficiale di
caratterizzazione del contenuto del documento. Per questo motivo,
oltre a essere facoltative, in alcuni casi possono non essere
univoche. Pertanto, le informazioni delle sezioni redazionale,
proprietario e disposizioni possono essere fornite indipendentemente,
anche esternamente al documento stesso, permettendo così la
coesistenza di contributi redazionali di diversa provenienza
collegati ad uno stesso documento.
2.4. Caratteristiche distintive dei tre DTD di Normeinrete.
Nella presente sezione si illustrano le caratteristiche
specifiche dei tre DTD.
Dal punto di vista della composizione, il DTD base contiene in un
unico file, denominato nirbase.dtd, e tutte le definizioni essenziali
e risulta, quindi, di più facile leggibilità, mentre il DTD
completo e il DTD flessibile si articolano in più file. In
particolare, le definizioni di elementi che non presentano differenze
tra i due DTD - completo e flessibile - sono condivise e contenute in
file comuni, che sono così denominati:
definizioni generiche a tutti i DTD nel file global.dtd;
definizioni di strutture specificamente normative nel file
norme.dtd;
definizioni di strutture testuali, tabellari o modulari nel
file text.dtd;
definizioni di strutture per la gestione delle metainformazioni
nel file meta.dtd.
Le definizioni specifiche in cui i DTD completo e flessibile si
differenziano sono invece contenute in file distinti, denominati
rispettivamente nircompleto.dtd e nirflessibile.dtd, e comprendono
essenzialmente gli elementi che definiscono i content model dei
provvedimenti, a cui sono imposti vincoli di differente rigidità.
2.4.1. Il DTD base.
Il file nirbase.dtd contiene tutte le definizioni necessarie per
consentire la marcatura secondo il modello semplificato. I
provvedimenti che è possibile marcare sono quelli articolati e
quelli generici, denotati come DocumentoNIR.
L'articolato deve rispettare la gerarchia seguente: libri, parti,
titoli, capi, articoli, commi. Ciascun componente della gerarchia ha
una numerazione obbligatoria, mentre la rubrica è facoltativa. Gli
annessi sono necessariamente documenti esterni ed indipendenti,
soltanto citati all'interno del documento principale.
Non è previsto nel DTD base alcun supporto per elementi
eccezionali o caratterizzazioni tipografiche specifiche: ad esempio,
non è possibile inserire immagini o tabelle all'interno
dell'articolato, nè capoversi all'interno di commi e lettere.
Il DTD base permette di specificare soltanto documenti originali
o vigenti; pertanto, per marcare documenti multivigenti, è
necessario adottare il DTD completo o il DTD flessibile. Le
metainformazioni da inserire sono solo quelle relative agli elementi
descrittori e redazionali.
2.4.2. Il DTD completo.
Il DTD completo descrive tutti i tipi di provvedimento previsti:
articolati, semiarticolati e generici. Le caratteristiche tipiche dei
documenti che si rappresentano con il DTD completo sono:
la rigidità della gerarchia delle parti, che deve prevedere
nell'ordine: libro, parte, titolo, capo e articolo; il capo può
essere ulteriormente diviso in sezioni;
l'obbligatorietà della numerazione degli articoli;
l'obbligatorietà della numerazione dei commi;
il vincolo che impone che il testo possa comparire solo
all'interno di specifici elementi di struttura, come i commi o le
formule iniziali e finali.
2.4.3. Il DTD flessibile.
Il DTD flessibile descrive tutti i tipi di provvedimento
previsti: articolati, semiarticolati e generici.
Le caratteristiche tipiche dei documenti che si rappresentano con
il DTD flessibile sono:
la gerarchia delle parti non impone che venga rispettato uno
specifico ordine o regole rigide di contenimento;
parti di testo possono comparire anche al di fuori degli
elementi che rappresentano la struttura, all'interno di elementi
generici di tipo paragrafo o contenitore appositamente previsti;
la numerazione di ciascun elemento è facoltativa, anche per
articoli e commi.
2.4.4. Scegliere il DTD più appropriato.
I criteri di massima per scegliere il DTD più adatto sono:
usare il DTD base nelle fasi iniziali di marcatura, anche allo
scopo di approfondire le caratteristiche descritte attraverso gli
elementi fondamentali. Essendo più semplice, il DTD base è il più
restrittivo e non gestisce alcuni casi; è preferibile utilizzare,
quando possibile, il DTD completo, che è quello che meglio
rappresenta le disposizioni contenute nella circolare 2001;
il DTD flessibile va utilizzato per tutti quei documenti che
presentino marcate differenze strutturali rispetto a quanto previsto
dalla circolare 2001, come la mancanza di numerazione dei commi o la
presenza di elementi strutturali sconsigliati (ad esempio,
paragrafo);
è opportuno fare riferimento al DTD flessibile quando si
realizzano applicazioni che sfruttano la marcatura e che debbano
garantire una validità generale.
3. Tecniche e strumenti software per l'attuazine della marcatura.
In questa terza parte si forniscono alcune indicazioni operative
e strumenti software per orientarsi nelle fasi di creazione ed
utilizzo di documenti XML. In particolare verranno esaminate le fasi
di editing, verifica e visualizzazione.
3.1. Editing.
Le attività di editing comprendono sia la creazione di documenti
elettronici utilizzando le specifiche di Normeinrete, sia la
conversione di documenti già esistenti.
Creazione di nuovi testi normativi.
I programmi applicativi utilizzabili per creare nuovi testi
possono ricadere in una delle seguenti tre categorie:
editor di testo: questi programmi consentono di creare
documenti XML in cui l'autore deve inserire sia il contenuto sia
l'informazione di mark-up, senza il supporto di funzionalità
specifiche per l'inserimento dei tag;
wordprocessor: consentono di creare documenti strutturati
utilizzando elementi di stile. Per poter salvare il documento nel
formato XML stabilito dai DTD Normeinrete occorre sviluppare
procedure ad hoc;
editor XML: forniscono funzionalità di supporto alla creazione
di un documento XML secondo le regole espresse in un DTD indicato
dall'utente. Sono dotati di interfacce che guidano l'utente
nell'immissione, presentando in ogni punto del documento solo
l'insieme dei tag leciti in quel contesto, secondo le regole definite
nel DTD. Gli editor XML offrono diverse modalità di presentazione,
in grado di visualizzare la struttura ad albero del documento o
evidenziare la distinzione tra tag, attributi e contenuto degli
elementi. Rendono, inoltre, disponibili le funzionalità di
validazione.
In sintesi, l'uso efficace di editor di testo e word processor
richiede lo sviluppo di procedure per fornire funzionalità
specializzate di supporto alle operazioni di marcatura conformemente
ai DTD Normeinrete. Gli editor XML, invece, importano queste
informazioni direttamente dai DTD.
Importazione di testi pregressi.
Laddove esistano raccolte di testi normativi già in formato
elettronico va valutata la possibilità di realizzare procedure
automatiche di conversione nel formato Normeinrete.
L'inserimento automatico dei tag previsti dai DTD di Normeinrete
può avvenire solo laddove il testo di partenza rappresenti
informazioni utili a riconoscere in maniera non ambigua le parti del
documento che corrispondono agli elementi definiti nei DTD. Ad
esempio, se un testo normativo è stato redatto con un word processor
e sono stati definiti stili specifici per rappresentare le rubriche
degli articoli, queste saranno automaticamente riconoscibili e sarà
possibile marcarle. Se la struttura è rappresentata in modo ambiguo,
per individuare gli elementi costitutivi è necessario adottare
metodi approssimati, basati su caratteristiche rilevabili nel testo
(locuzioni particolari, punteggiatura, caratteristiche tipografiche o
combinazioni di questi), tenendo sotto controllo il margine di
errore. Nei casi in cui nessuno di questi metodi è percorribile o il
margine di errore risulta troppo elevato, la soluzione automatica non
risulta efficace.
In definitiva, se si dispone di una base documentale già in
formato elettronico il processo di conversione può essere:
automatico, se il formato con cui sono stati rappresentati i
documenti già contiene le necessarie informazioni strutturali. È il
caso, ad esempio, di archivi memorizzati in banche dati
opportunamente strutturate;
semiautomatico, quando una procedura automatica individua
la maggior parte degli elementi strutturali e gli elementi non
individuati automaticamente sono marcati tramite un editor;
non automatico, attraverso il ricorso a metodi manuali di tipo
"taglia ed incolla" per inserire le parti di testo attraverso un
editor, preferibilmente XML, all'interno dei tag opportuni.
Verifica e parsing.
Per validare un documento XML secondo un DTD occorre utilizzare
un parser XML. Come accennato precedentemente, gli editor XML
contengono al loro interno un parser e quindi forniscono direttamente
le funzioni di validazione. Nei casi in cui sia necessario disporne
separatamente, è possibile reperire prodotti software che forniscono
funzionalità di parser XML sui siti indicati nei riferimenti tecnici
pubblicati su www.aipa.it e www.normeinrete.it
3.2. Visualizzazione.
Come accennato nella prima parte, un documento che sia stato
marcato in XML non contiene informazioni relative alla sua
visualizzazione. Per visualizzarlo è necessario associare al
documento delle direttive di formattazione, contenute all'interno dei
cosiddetti fogli di stile (stylesheet). I linguaggi più diffusi per
fogli di stile sono:
Cascading Stylesheets Level 1 (CSS1) o Level 2 (CSS2);
XSL Transformations 1.0 (XSLT1).
Fogli di stile CSS.
Un foglio di stile CSS associa agli elementi di una classe di
documenti XML le informazioni di formattazione. Ad esempio, il
seguente frammento CSS associa alcune proprietà di presentazione
all'elemento ""titolo":
titolo {
font-family: "New York ";
font-size: 12pt;
color: red;
}
Per i documenti XML di Normeinrete sono stati sviluppati
stylesheet CSS che possono essere associati ai documenti prodotti
inserendo nel documento, dopo la dichiarazione XML, la seguente
istruzione:
&lt;?xml-stylesheet type="text/css"href="/do/atto/serie_generale/caricaPdf?cdimg=02A0524600100010110Nirbase.css&amp;dgu=2002-05-03&amp;art.dataPubblicazioneGazzetta=2002-05-03&amp;art.codiceRedazionale=02A05246&amp;art.num=1&amp;art.tiposerie=SG" target="_blank" ?&gt;.
Fogli di stile XSLT.
Per visualizzare documenti XML si adotta spesso la soluzione di
trasformarli in HTML. Il modo più comune per eseguire questa
trasformazione è mediante fogli di stile scritti con XSLT. Tale
trasformazione può avvenire fuori linea, quando l'intero archivio di
documenti XML prima di essere reso accessibile dalle applicazioni di
visualizzazione viene convertito in HTML, oppure in linea, quando la
trasformazione avviene solo per il documento richiesto, in fase di
visualizzazione.
L'operazione di trasformazione in HTML può essere eseguita dal
lato client oppure dal lato server:
nel primo caso è compito del browser effettuare la
trasformazione in HTML. Il server invia al browser il documento XML
insieme al foglio di stile. Il documento dovrà contenere, dopo la
dichiarazione XML, la seguente:
&lt;?xml-stylesheet type="text/xsl"href="/do/atto/serie_generale/caricaPdf?cdimg=02A0524600100010110Nirbase.xsl&amp;dgu=2002-05-03&amp;art.dataPubblicazioneGazzetta=2002-05-03&amp;art.codiceRedazionale=02A05246&amp;art.num=1&amp;art.tiposerie=SG" target="_blank" ?&gt;
Nel valutare questa soluzione bisogna tenere conto che solo le
versioni più recenti dei browser sono in grado di eseguire la
trasformazione, con il conseguente rischio che una parte degli utenti
dotati di browser non aggiornati non riescano a visualizzare i
documenti;
nel secondo caso, che corrisponde alla soluzione adottata più
frequentemente, il server stesso effettua la trasformazione,
trasmettendo quindi al browser che ha effettuato la richiesta il
documento già convertito da XML a HTML.
Una soluzione più bilanciata si può ottenere facendo sì che il
server web controlli il tipo e la versione del browser da cui
proviene la richiesta ed effettui la trasformazione o la demandi al
client in funzione delle caratteristiche del browser rilevate.
4. Esempio di testo di legge marcato con il dtd base.
----&gt; Vedere immagine alle pagg. 49 e 50 della G.U. &lt;----