Buongiorno a tutti,
Ho un file xml, volevo validarlo in base a delle regole,
es volevo che il campo città fosse validato in base a una serie di valori presenti su un db o su un'altro file xml
<Città>Parma</Città>
Se Parma è nell'elenco su un db o su un'altro file xml questo file è validato in caso contrario no.
Come fare? ddt++ , xsd o altro?
Se sei disposto a spostare l'indicazione della città in un attributo anzichè nel contenuto di un elemento allora puoi usare le enumerazioni degli attributi e fissare l'insieme delle città del dtd, insieme fisso, a meno di generare dinamicamente a partire dai valori presi da un database il dtd con cui eseguire la validazione. Quindi se fai una cosa del tipo
<Indirizzo citta="Parma">
anzichè una cosa del tipo:
<Indirizzo>
<Citta>Parma</Citta>
</Indirizzo>
puoi nel dtdt impostare l'enumerazione:
<!ATTLIST name type (Napoli|Milano|Parma|Torino) "Napoli">
si come attributo va bene, il "problema" , è possibile generare un dtd con elenco delle enumerazioni prese da un db o da un altro file xml? quindi il dtd è la strada consigliata?
Grazie mille
Certo che è possibile, in .Net la gestione dei file xml è molto semplice, sia vecchia maniera con gli XmlDocument che con LinqToXML. Quindi si, ti consiglio il dtd.
Associazione Culturale DotNetCampania - C.F.: 95127870632