XML
Il principale tipo di sintassi è costituito dall’Extensible Markup Language (XML), la cui caratteristica aggiuntiva è di essere facilmente human readable. L’XML è estendibile in quanto:
- possono essere definite in continuazione nuove etichette;
- più dizionari di etichette possono essere usati con un approccio modulare all’interno del medesimo file XML mediante l’utilizzo dei namespace (“spazi di nomi”) sui nomi delle etichette;
- è possibile definire, in XML stesso, sintassi specializzate mediante schemi (.xsd) o dialetti (.dtd);
- un medesimo documento XML (come file unico ovvero pacchetto costituito da più file XML) può essere logicamente composto da parti distinte, ciascuna delle quali utilizza etichette e regole sintattiche definite da diversi namespace o schemi, mentre le diverse parti possono referenziarsi l’un l’altra sfruttando diversi meccanismi sintattici (p.es. XQuery e XPath).
Numerosi formati di file oggetto del presente Allegato che utilizzano il linguaggio XML impiegano un dialetto specializzato al loro contenuto; essi sono:
- OpenDocument e Microsoft® OOXML (cfr. § 2.1 e §2.5),
- XHTML, XSD, XSL, XSLT, MathML (§2.2),
- SVG (§2.7),
- tutti i formati descritti in §2.14 (FatturaPA, CDA2, asserzione SPID, …),
- MusicXML (§2.9),
- IMSC1, TTML, e EBU-TT (§ 2.11)
- alcuni file obbligatori nei pacchetti IMF e DCP, nonché ACESclip (§2.12),
- KDM e firme elettroniche XAdES (§2.16).
Nota Bene: Alcuni dei formati basati su XML sopraelencati mantengono l’estensione .xml del linguaggio madre, altri usano le proprie (e.g. .html/.htm, .svg, .ttml, .kdm). Si raccomanda che le Pubbliche Amministrazioni che producano documenti informatici in qualunque formato basato su XML non descritto dal presente Allegato ma che utilizzasse (in base alle proprie linee guida, specifiche tecniche, raccomandazioni o best practices) un’estensione “propria” diversa da .xml, laddove fosse consentito dall’uso applicativo delle applicazioni che elaborano file in tali formati, di “appendere” l’estensione .xml alla propria. Questo accorgimento manterrà ed esporrà l’estensione propria del formato a livello di UI, consentendo ai sistemi operativi privi di applicazioni specifiche per interpretare tali formati di aprire e visualizzare tali file come fossero normali file XML.
Esistono moltissime altre estensioni di XML che, pur non descritte qui, possono essere utilizzate e integrate in documenti XML per mezzo dell’estendibilità del namespace.