Salve,
Io ho questo problema.
Devo creare un sistema di verifica.
Io ho una DTD creata da me e un file xml generato da Word 2003.
Mi chiedevo se mi conviene fare una trasformazione xslt separata e poi usare Java, oppure usare direttamente un programma java per studiare l'xml generato da word 2003 e per fare in modo che rispetti questa DTD:
codice:
<?xml version="1.0" encoding="UTF-8" ?>
<!ELEMENT tesi (titolo, disciplina, autore, relatore, correlatore?, indice, capitolo+, bibliografia)>
<!ATTLIST tesi
sessione ( I | II | III ) #REQUIRED
aa CDATA #REQUIRED >
<!ELEMENT titolo (#PCDATA) >
<!ELEMENT disciplina (#PCDATA) >
<!ELEMENT autore (#PCDATA) >
<!ELEMENT relatore (#PCDATA) >
<!ATTLIST relatore
titolo (dott. | prof. | ing.) "dott.">
<!ELEMENT correlatore (#PCDATA) >
<!ATTLIST correlatore
titolo (dott. | prof. | ing.) "dott.">
<!ELEMENT indice (#PCDATA) >
<!ELEMENT capitolo (numero, titolo, paragrafo*,img*)>
<!ATTLIST capitolo
prima_pagina (numero_dispari) #REQUIRED
font_titolo (Times_New_Roman | Arial) "Times_New_Roman"
font_testo (Times_New_Roman) #REQUIRED
dimensione_font_testo (12 | 13) "12" >
<!ELEMENT numero (#PCDATA) >
<!ELEMENT paragrafo (numero, titolo, sottoparagrafo*,img*)>
<!ATTLIST paragrafo
prima_pagina (numero_dispari) #REQUIRED
font_titolo (Times_New_Roman | Arial) "Times_New_Roman"
font_testo (Times_New_Roman) #REQUIRED
dimensione_font_testo (12 | 13) "12" >
<!ELEMENT sottoparagrafo (numero, titolo, img*)>
<!ATTLIST sottoparagrafo
prima_pagina (numero_dispari) #REQUIRED
font_titolo (Times_New_Roman | Arial) "Times_New_Roman"
font_testo (Times_New_Roman) #REQUIRED
dimensione_font_testo (12 | 13) "12" >
<!ELEMENT img (tipo, didascalia)>
<!ATTLIST img
url CDATA #REQUIRED
title CDATA #REQUIRED
didascalia CDATA #IMPLIED>
<!ELEMENT tipo (jpg | bmp | jpeg | png)>
<!ELEMENT didascalia (#PCDATA) >
<!ELEMENT bibliografia (libro | articolo | proceedings | sito)*>
<!ELEMENT libro (autore+, titolo, numero_edizione?, luogo_pubblicazione?, editore, anno)>
<!ATTLIST libro
isbn CDATA #IMPLIED>
<!ELEMENT numero_edizione (#PCDATA) >
<!ELEMENT luogo_pubblicazione (#PCDATA) >
<!ELEMENT editore (#PCDATA) >
<!ELEMENT anno (#PCDATA) >
<!ELEMENT articolo (autore+, titolo , nome, numero_volume?, anno, pagina)>
<!ATTLIST articolo
tipo (rivista | periodico) "rivista">
<!ELEMENT nome (#PCDATA) >
<!ELEMENT numero_volume (#PCDATA) >
<!ELEMENT pagina (#PCDATA) >
<!ELEMENT proceedings (autore+, titolo , nome, curatore?, numero_volume?, luogo_pubblicazione?, editore, anno, pagina)>
<!ATTLIST proceedings
tipo (convegno | libro) "convegno">
<!ELEMENT curatore (#PCDATA) >
<!ELEMENT sito (autore*, titolo, anno, url)>
<!ELEMENT url (#PCDATA) >
E poi come seconda cosa, quale API (o parser) è meglio usare per ottenere buoni risultati?
Rispondetemi prima che potete, grazie!!!