I DTD dei documenti di Norme in Rete

AutoreFabio Vitali/Fabrizio Megale
CaricaUniversità di Bologna e IAT-CNR/Camera dei Deputati
Pagine167-231

Page 167

@1. Introduzione

I DTD di Norme in Rete definiscono alcuni tipi di documento a carattere normativo. Per ogni tipo di documento (legge ordinaria, legge costituzionale, decreto-legge,ecc.) sono specificati un DTD descrittivo, particolarmente flessibile, che si adegua alle strutture dei documenti normativi creati fino ad oggi, ed uno prescrittivo, più rigido, che verifica l'adesione dei vari documenti ale regole di "buona scrittura" dei documenti normativi. Le differenze tra i due DTD (da qui in poi chiamati loose e stirici) sono poche e paramettizzate: gli elementi sono gli stessi e hanno sostanzialmente le stesse regole di validità, ma il DTD strict impone la verifica di alcune regole supplementari che nel DTD loose sono assentì. Da questo si deduce fra l'altro che tutti i documenti validi secondo il DTD strict sono anche ' validi secondo il DTD loose. In pratica, si utilizzerà il primo DTD in condizioni di normazione, o legai drafting, ossia per la creazione di nuove norme, mentre si ricorrerà al secondo per la descrizione della situazione esistente, e ovunque le regole esposte nel DTD strict siano considerate troppo restrittive. À parte queste differenze, tuttavia, non esistono variazioni tra i due DTD e la descrizione seguente ignorerà ove non necessario l'esistenza di due classi diverse di documenti. Il DTD di Norme in Rete si compone di sette moduli di DTD in senso stretto, più altri sette di caratteri speciali:

  1. nirstrict.dtd: definizioni specifiche per documenti N'IR con sintassi strict (p. 197);

  2. nirloose.dtd: definizioni specifiche per documenti NIR con sintassi loose (p. 200);

    Page 168

  3. globali.dtd: elementi ed attributi generici e condivisi da tutti i moduli (p, 203);

  4. norme.dtd: elementi specifici per parti normative strutturate (p. 206);

  5. testo.dtd: elementi specifici per parti testuali e non strutturate (p. 210);

  6. meta.dtd: elementi specifici per la descrizione di meta-informazioni (p. 214);

  7. proprietario.dtd: elementi specifici all'applicazione, esterni allo standard NIR.

  8. ISOlat1.pen: "ISO 8879-1986//ENTITIES Added Latin 1//EN//XML"(p.218);

  9. ISOlat2.pen: "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML" (p. 220);

  10. ISOgrk3.pen: "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML" (p. 223);

  11. ISOdia.pen: "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML" (p. 225);

  12. ISOnum.pen: "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN/XML" (p. 226);

  13. ISOpub.pen: "ISO 8879:1986//ENT1TIES Publishing//EN/ /XML" (p. 228);

  14. ISOtech.pen: "ISO 8879:1986//ENTITIES General Techni-cal//EN//XML" (p. 230),

    Questi DTD descrivono i seguenti tipi di documento: legge ordinaria, legge costituzionale, decreto-legge, decreto legislativo, decreto ministeriale numerato, regio decreto, dpr numerato, dpcm numerato, legge regionale, atto di authority, dpr non numerato, decreto ministeriale non numerato, dpcm non numerato, articolato, semi-articolato ed un tipo di documento senza una struttura predefinita, chiamato genericamente do-cumentoNIR. Ovviamente vi sono molte similarità nelle strutture di questi documenti, tant'è vero che, sebbene con nomi diversi, esistono di l'atto solo due classi di documenti normativi:

  15. il documento articolato completo

    Page 169

  16. il documento semi-articolato

    In tutti i casi la dichiarazione di tipo è simile, richiamando sempre e solo uno dei due moduli nirloose.dtd o nirstrict.dtd, a seconda del tipo di verifiche che si vogliono effettuare. Ad esempio, per marcare una legge ordinaria si dovrà preparare il documento come segue:

    ...

    mentre un dpr non numerato si preparerà come segue:

    ...

    ecc.

    @2. Definizioni di NameSpace per Norme in Rete

    Questo documento suppone l'esistenza di due NameSpace XML riservati agli elementi dei documenti di Norme in Rete, La trasformazione di questo documento in definizione normativa dei tipi di documenti usati per il progetto NIR ufficializzerebbe e congelerebbe le label che identificano questi NameSpace, le quali sono per il momento: nel caso dei documenti normativi, http://www.normeinrete.it/nir/1.0, nel caso delle meta-informazioni, http://www.normeinrete.it/nir/disposizioni/1.0.

    @3. I file nirloose.dtd e nirstrict.dtd

    I due documenti "nirloose.dtd" e "nirstrict.dtd" sono estremamente simili e sono divisi in sezioni ben distinguibili. Dapprima vengono definite delle entità che costituiscono le differenze tra il DTD loose e quello strict, quindi vengono organizzate le inclusioni degli altri documenti (sia i DTD che le entità carattere) ed infine vengono elencate le classi di documenti definibili da questo gruppo di DTD,

    3.1. Entità specifiche del documento strict (o loose)

    Le differenze tra DTD si concentrano, al momento, nell'articolato, Di fatti in questa sezione vengono definiti (in maniera diversa tea i due mo-Page 170duli) i content model di articolato, libro, parte, titolo, capo, sezione, paragrafo, articolo e comma.

    3.2. Rigore nella gerarchia

    Nel DTD strict il content model di questi elementi segue la Circolare 20 aprile 2001, n. 1.1.26/10888/9.92 "Regole e raccomandazioni per la formulazione tecnica dei testi legislativi" (d'ora in poi denominata "Circolare"). Come stabilito nella Circolare, infatti, gli elementi strutturali sono, nell'ordine, libro, parte, titolo, capo e articolo. Inoltre il capo può ulteriormente essere diviso in sezioni. Le sezioni rompono dunque la simfnetria dei contenimenti, perché possono solo comparire dentro a capi. Questo viene reso nel DTD. Il content model del DTD strict impone che un documento iniziante con elementi di un dato livello gerarchico debba poi continuare con elementi dello stesso livello. Viceversa, sebbene anche nel DTD loose questi elementi vengano presentati nello stesso ordine, in qualsiasi punto può essere inserito qualunque elemento della gerarchla, permettendo ad un documento normativo, ad esempio, di iniziare con alcuni articoli e proseguire diviso in parti o titoli, 11 DTD loose permette inoltre l'inserimento di elementi contenitore non prevedibili, utilizzando l'elemento generico "contenitore".

    3.3. Elemento paragrafo

    Nel DTD strict, non essendo previsto dalla Circolare, il livello gerarchico 'paragrafo' non esiste, Tuttavia, alcune norme, tra cui i codici civile e penale, il codice di procedura civile e varie leggi (es. n. 87 del 1953 sulla Corte costituzionale o n. 633 del 1941 sul diritto d'autore) presentano il livello di paragrafo, compreso tra quello di sezione e quello di articolo. Il DTD loose, dunque, prevede anche questo elemento e lo inserisce nella posizione corretta della gerarchia.

    3.4. Facoltatività di numero e rubrica

    Nel DTD loose sia il numero che la rubrica di ogni elemento sono facoltativi, mentre nel DTD strict il numero diventa obbligatorio, anche se la rubrica resta facoltativa.

    Page 171

    3.5. Elemento meta

    Ad ogni livello della gerarchla è possibile (ma non obbligatorio) inserire un elemento 'inlinemeta' dove registrare meta-informazioni sulla parte così individuata, ivi compresi interventi redazionali, note ed altre informazioni rilevanti. Sebbene non vi siano differenze tra DTD strict e loose, questa nota è stata inserita qui per ovvie ragioni di opportunità.

    3.6. Entità esterne: caratteri e DTD accessori

    In questa sezione (identica nei due moduli) vengono definiti e inclusi gli altri moduli che costituiscono il DTD completo: ISOlat1.pen, ISOlat2.pen, ISOgrk3.pen, ISOdia.pen, ISOnum.pen, ISOpub.pen, ISOtech.pen, globali.dtd, norme.dtd, testo.dtd, table.dtd e meta.dtd.

    3.7. Definizione degli elementi tipo-documento possibili

    In questa sezione, identica nei due moduli, vengono definiti gli elementi tipo-documento (ovvero le classi di documenti) definibili con questi DTD, e la relativa lista di attributi. Le effettive descrizioni dei content model e degli attributi (attraverso apposite entità) sono in norme.dtd ed in global.dtd. I DTD di Norme in Rete definiscono dunque i seguenti tipi di documenti: legge ordinaria, legge costituzionale, decreto-legge, decreto legislativo, decreto ministeriale numerato, regio decreto, dpr numerato, dpcm numerato, legge regionale, atto di authority, dpr non numerato, decreto ministeriale non numerato, dpcm non numerato, articolato, semi-articolato ed un tipo di documento senza una struttura predefinita, chiamato genericamente documentoNIR. L'elemento radice è l'elemento NIR, che deve essere usato per ogni tipo di documento. Al suo interno e possibile scegliere uno dei possibili tipi di documento. Ogni elemento di tipo-documento ha assegnato uno dei due content model possibili per i documenti NIR: docarticolato e semi-articolato (in cui tutti gli elementi dell'articolato sono facoltativi ma possibili, e oltre agli elementi dell'articolato si possono trovare elementi testuali arbitrati, come blocchi dì testo non strutturati gerarchicamente o gerarchle non standard). Tutti gli elementi condividono i blocchi di attributi definiti 'globalireq' e 'namespace'. Come meglio descritto nella sezione dedicata al modulo globali.dtd, dove questi blocchi di attributi sono effettivamence posti, il blocco 'globaliteq' contiene gli attributi comuni alla maggior parte degli elementi del DTD (come stile, lingua e vigenza) più un ID obbligatorio ed univo-Page 172co utile per la corretta identificazione dell'elemento. Il blocco 'namespace', invece, contiene le definizioni di namespace XML necessarie per la corretta attribuzione degli elementi e degli attributi presenti nei documenti NIR, La maggior parte dei tipi di elementi radice descrivono ovviamente i documenti con il nome corrispondente, Tuttavia, sono anche definiti tre tipi di documento dal nome generico: 'DocArticolato', 'SemiArticolato' e 'DocumentoNIR'. Questi servono per descrivere in maniera appropriata documenti che non rientrano in una delle categorie de-scritte, 'e che possono o meno avere strutture rìconducibili a quelle dei documenti normativi. È ovviamente possibile (e anzi doveroso) estendere la lista delle classi di documenti descritti da...

Per continuare a leggere

RICHIEDI UNA PROVA

VLEX uses login cookies to provide you with a better browsing experience. If you click on 'Accept' or continue browsing this site we consider that you accept our cookie policy. ACCEPT