3.13

Sezione 3: Autori

Q 3.13: Un tipo di elemento radice può essere dichiarato esplicitamente nel DTD?

No, usa la Dichiarazione di Tipo di Documento.

 

Questo viene fatto nella Dichiarazione del Tipo di Documento, non nel DTD.

Bob DuCharme scrive:

In una Dichiarazione di Tipo di Documento come questo:

<!DOCTYPE chapter SYSTEM "docbookx.dtd">

il punto della parte  chapter è quello di identificare il tipo di elemento dichiarato nel DTD specifico dovrebbe essere usato come elemento radice. Credo che il livello più alto di elemento su DocBook sia set, ma mi è difficile immaginare qualcuno che crei un documento per rappresentare un insieme di libri. Siamo liberi di usare set, book,chapter, article, o addirittura para come elemento di documento per un documento di DocBook valido.

[Uno dei compiti svolti dai parser è quello di determinare quale tipo[i] di elemento in un nuovo DTD non sono contenuti nel modello di contenuto o qualsiasi altro tipo di elemento: questi sono per deduzione i candidati migliori per essere elementi di radice di default. (PF)]

Questa è Una Cosa Buona, dato che aggiunge flessibilità al modo in cui viene usato il DTD. È la ragione per cui XML (e SGML) si è prestato così bene ai sistemi di pubblicazione elettronica nei quali diversi elementi sono mischiati e associati per creare diversi documenti tutti conformi allo stesso DTD.

Ho visto proposte per schemi che permettono di specificare quali dei tipi di elementi di uno schema possono essere un elemento radice di un documento, ma dopo una veloce occhiata alla sezione 3.3 della Parte 1 delle Raccomandazioni Schema W3C  e lo schema RELAX NG per RELAX, non credo che queste lo permettano. Potrei sbagliarmi.

Leave a Comment

Your email address will not be published. Required fields are marked *