Eventi

Ora di decidere: DITA o S1000D?

L'argomento di interoperabilità tra la S1000D e la Darwin Information Typing Architecture (DITA) ha suscitato grande interesse all'interno dell'ambiente della documentazione tecnica. Questo articolo tratta le seguenti questioni:

  • Possiamo creare specializzazioni DITA per moduli di dati S1000D?
  • In che modo possiamo facilitare l'interoperabilità tra DITA e S1000D; come rendere possibile le trasformazioni di andata e ritorno (round-tripping), per esempio?
  • E' il meccanismo di specializzazione DITA la via migliore per rendere estensibile S1000D?
  • Come possono gli utenti sfruttare i punti di forza di DITA e S1000D senza introdurre complessità?

In generale, l'approccio nel creare delle soluzioni tecnologiche è basato sui seguenti principi:

  • Utilizzare lo strumento giusto per il prossimo lavoro
  • Non inventarsi l'acqua calda
  • Attenersi alla giusta prassi nell'attuale progettazione informativa

Diamo un'occhiata alla questione dalla prospettiva di due importanti parti interessate: l'Utente del Lessico XML e l'Architetto della Informazione.

Lo strumento giusto per il prossimo lavoro

Sei un comunicatore tecnico, content publisher o un responsabile editoriale. Lavori per un'industria aeronautica. Il tuo compito è presentare documentazione di uso e manutenzione per un nuovo progetto aeronautico. Dovresti usare S1000D, DITA o entrambi?

Usare S1000D per documentare la cellula, il motore, i componenti e attrezzature di supporto. Non tentare di provare specializzazioni DITA per questi argomenti. S1000D, come DITA, supporta i seguenti concetti:

  • La progettazione di informazioni pilotata da argomenti nella forma di moduli di dati
  • Una struttura metadati estesa basandosi sul sistema Dublin Core e la sezione Identification and Status (IDSTATUS) del modulo dati
  • Mappe di informazione definite in publication modules
  • Filtraggio dei contenuti o personalizzazione, basati su criteri tipo: livello abilità, classificazione di sicurezza, applicabilità del prodotto e configurazione
  • Riutilizzo dei contenuti attraverso un Common Source Database (CSDB)

Il progetto di S1000D è altresì arricchito da oltre un secolo di sforzi per documentare hardware per aviazione e ambito militare. L'unico significativo distinguo tra S1000D e DITA, riguardante la progettazione del markup language (codifiche), è che ad S1000D manca un meccanismo di specializzazione (di cui parleremo dopo).

Usa DITA se devi documentare applicativi software on-board, l'interfaccia utente (UI) e le interfacce di programmazione applicativi (API). E' rilevante osservare che il tutto è soggetto a condizioni di dati di contratto; in particolar modo dei contratti inerenti la Difesa, i quali talvolta dettano il lessico XML, lo stesso utilizzato per prodotti documentativi di progetto. DITA ha già specializzazioni per domini di software,interfaccia utente e programmazione. Ma DITA non è valido soltanto per documentazione software.

Anche se la specifica prevede un SNS (Standard Numbering System) per progetti software (vedi capitolo 8.3.8 della specifica S1000D) S1000D non è la soluzione più elegante per documentare prodotti software. Se credete che DITA, da sola, non sia sufficiente per supportare le esigenze documentative del software on-board, considerate l'opzione di creare una specializzazione DITA utilizzando nomi di elementi e semantica della S1000D. Ciò, se necessario, semplificherà in futuro le trasformazioni di andata e ritorno (round-tripping transforms) fra le due specifiche S1000D e DITA.
I tuoi moduli di pubblicazioni e dati S1000D possono collegarsi a mappe e argomenti DITA usando l'elemento. Inoltre, DITA dovrebbe supportare la capacità di collegare i propri argomenti e mappe a moduli di dati e pubblicazioni S1000D.

Altra idea che fluttua nell'aria è quella di sfruttare DITA affinché si creino pezzi di dati riutilizzabili, i quali possono essere assemblati per formare moduli dati S1000D ed anche altre forme di contenuto, come ad esempio learning objects conformi a SCORM (Sharable Content Object Reference Model). Sebbene questa tecnica potrebbe funzionare in certe situazioni sarà bene affrontarla con cautela. Entrambi S1000D e DITA possono presentarsi come sfida intellettuale da installare. Creando moduli dati S1000D tramite l'assemblaggio di pezzi DITA, si potrebbe aggiungere uno strato in più di complessità; non necessaria al tuo progetto.

Usa S1000D per industrie che sono già ben servite da tale specifica, ad esempio: settore aerospaziale, automobilistico, gasdotti e oleodotti, produzione di energia e macchine industriali in genere.

Migliori procedure nella progettazione informativa

Sei un architetto dell' informazione. Il tuo lavoro è ricercare, sviluppare e attuare le migliori procedure per la progettazione informativa. Queste nuove procedure saranno scelte in vista delle nuove raccomandazioni del W3C, ad esempio XPath 2.0, XSLT 2.0, e XQuery. Alcune di esse sono riconosciute le migliori per la progettazione informativa e che comprendono concetti indirizzati all'oggetto come inheritance e polymorphism, questi ultimi ben supportati dal XML Schema.

I progettisti di documentazione dovrebbero ben riconoscere che è impossibile creare un lessico XML che soddisfa i requisiti, attuali e futuri, dei suoi stessi utenti. L' XML dovrebbe prevedere un'estensibilità controllata affinché si possa permettere ad ogni utente di aggiungere estensioni al fine di soddisfare il proprio fabbisogno.
Il punto di forza di DITA è la sua estensibilità. Uno dei benefici di DITA è di permettere il riutilizzo di codici di trattamento (es. XSLT stylesheets) attraverso specializzazioni e mediante un meccanismo di ripiego a tipi base. Il difetto di specializzazione in S1000D è citato come un suo principale svantaggio. Comunque, l'associazione di XML Schema, XPath 2.0 e XSLT 2.0 può fornire un meccanismo di specializzazione estremamente solido per S1000D.

Meccanismo di specializzazione DITA rivisitato

L'estensibilità può essere ottenuta in XML Schema utilizzando varie tecniche che includono wildcards, elemento sostitutivo e sottotipo polimorfo via estensione o restrizione di un tipo base.
Nonostante la critica, uno dei benefici dell'utilizzo di XML Schema per modellare lessici XML (rispetto a DTDs o persino RelaxNG) è che il suo sistema tipo viene utilizzato dalla maggior parte delle attuali raccomandazioni del W3C, come XForms, XPath 2.0, XSLT 2.0, XQuery 1.0, e WSDL. James Clark, la mente nascosta dietro le più importanti innovazioni in SGML e XML, nel suo blog recentemente pubblicato ha chiesto: "Come mai abbiamo ancora roba come direttive di elaborazione e DTD?". Un problema della specializzazione DITA è che essa si basa sulla sintassi DTD. 
L'adozione di una specializzazione basata su un meccanismo di sostituzione ed ereditarietà XML Schema potrebbe richiedere un rifacimento di modelli di contenuti di DITA e S1000D. Comunque, l'associazione di XML Schema e XSLT 2.0 (schema sensibile) può fornire una semplice e solida alternativa al complesso ed elaborato schema DITA affinché si possano raggiungere vantaggi di specializzazione con DTDs e XSLT 1.0.

S1000D dovrebbe apprendere dall'esperienza e dal successo di DITA, fornendo essa un meccanismo di specializzazione da permettere a chiunque di aggiungere estensioni necessarie affinché vengano soddisfatte personali richieste. Un sistema di estensibilità S1000D permetterà alle organizzazioni e alle comunità interessate di adottare S1000D senza "inquinare" la specifica principale. Questo progetto campione è stato adottato con successo dalla National Information Exchange Model (NIEM), sponsorizzato da US Department of Homeland Security and Department of Justice (Dipartimento per la sicurezza interna e Dipartimento di Giustizia) come standard di scambio dati tra agenzie governative.

Reingegnerizzazione di S1000D in DITA?

Qualcuno ha proposto la creazione di un ponte di interoperabilità tra DITA e S1000D. Ciò sarebbe una massiccia impresa, per cui è arduo immaginare una valida prospettiva commerciale. La specifica S1000D è forte di 2588 pagine e probabilmente crescerà in versione 3.0 ed oltre. Quello che è necessario è una serie di linee guida di alto livello per creare specializzazioni DITA interoperabili con S1000D. Gli utenti possono poi seguire quelle linee guida nel creare specializzazioni secondo le proprie necessità.

Un sistema di specializzazione condiviso per DITA e S1000D

La priorità di estensibilità di S1000D è quanto emerso di positivo nel dibattito-confronto tra DITA e S1000D. Tale sistema di specializzazione, basato su avanzate tecnologie come XSLT 2.0 e XML Schema, potrebbe essere condiviso da entrambi, DITA e S1000D. Il sistema potrebbe svilupparsi sotto la supervisione di OASIS come una specifica stand-alone.

Joel Amoussou è il fondatore e Amministratore Delegato di Efasoft, una società specializzata in gestione contenuti, enterprise portal e soluzioni enterprise learning. Joel inizia la sua carriera come motorista di volo di aviazione civile ed in seguito diviene esperto di tecnologie markup (codifiche). Suo obiettivo attuale è migliorare il modo con il quale le organizzazioni progettano e gestiscono i contenuti tramite l'utilizzo di tecnologie emergenti, come XQuery, XSLT 2.0, XForms, ISO Schematron, e S1000D™.
Per contattare l'autore: jamoussou@efasoft.com