Premetto che ho iniziato da poco ad utilizzare DTD e XSD.
Il mio problema é questo (spero di spiegarmi bene):
Una mia applicazione (mettiamo un editor di qualche genere) salva i dati in file XML, che hanno il loro DTD.
il DTD specifica il nome dell'emenento radice, e via via discendendo la struttura del documento, in modo da poterlo convalidare o "bocciare". E fin qui tutto chiaro (almeno credo).
Supponiamo però che in un elemento dei miei (dichiarato nel mio DTD), per esempio un box di testo del tipo:
<myns:textbox> .... </myns:textbox>
al posto dei puntini debba comparire un bel tag <html> con sotto i suoi head e body e via via discorrendo tutta una struttura di un file html 4.01 (per esempio).
ma anche in generale, se al posto di quei puntini dovesse valere un altro DTD (non da me creato o mantenuto) che specifichi un elemento root tutto suo e che imponga le proprie regole di validazione a partire da li in giu... come faccio a specificare questa clausola nel mio DTD???
mi sto impelagando in un falso problema? il problema é malposto? non si può fare? é evidente e non vedo la soluzione? booh!
a importare un dtd esterno tramite un parametro basato su una entity ci ho provato... però l'editor che utilizzo io (Liquid) non mi convalida il documento XML, dicendo che non riesce a trovare la riga 240 perché il documento stesso ha solo 32 righe!
in effetti é vero, l'xml ne ha sole 32, e allora perché cercare la duecentoquarantesima? anche riempiendo di righe vuote il file (con tante ripetute pressioni di ENTER) fino a creare la famigerata riga 240, Liquid si blocca in validazione dicendo che non trova il carattere 34 della riga 240... cioé cerca proprio qualcosa ma non capisco cosa!
comunque questo potrebbe essere un altro problema... in effetti ho anche altri errori quando tento di importare dtd in questo modo, del tipo che alcuni commenti non vengono interpretati correttamente, alcuni elementi presentano strani errori... confusione!
cio che vorrei capire é se cio che sto tentando di fare sopra é lecito e fattibile, o se devo considerare il contenuto del <myns:textbox> come PCDATA e lasciare che sia l'applicazione a convalidarne il contenuto in uno step separato...
che mi dite? vi ringrazio in anticipo!