Con un file XML che dichiara un DOCTYPE, prendere il file struts.xml per esempio:Un parser Java SAX recupera effettivamente la DTD da Internet?
Ha l'elaborazione Java SAX in realtà andare a prendere il DTD dal URL fornito?
Con un file XML che dichiara un DOCTYPE, prendere il file struts.xml per esempio:Un parser Java SAX recupera effettivamente la DTD da Internet?
Ha l'elaborazione Java SAX in realtà andare a prendere il DTD dal URL fornito?
Molte (la maggior parte) implementazioni funzioneranno, anche se tecnicamente, se non ricordo male, la posizione deve essere interpretata come un URI, non come URL.
Se si vuole essere sicuri di risolverlo localmente, dare un'occhiata all'interfaccia EntityResolver.
In base allo Xerces documentation, il parser può provare a scaricare il file da Internet quando la convalida è attivata. Ma penso davvero che questo possa cambiare da parser a parser, perché la libreria può decidere di usare una cache locale, un server proxy o altro.
Quindi, dove troverebbe il dtd prima di Internet? Voglio dire, il riferimento doctype è un url http; c'è una logica per convertire questo in una ricerca di classpath? Ho notato che i vasi dei montanti hanno tutti i dtd dentro. – chad
Beh, i DTD non esistevano prima di Internet :-) Ad ogni modo, il riferimento doctype sembra un URL http, ma questa è solo convenzione: è davvero un URI (c'è una differenza) e non necessariamente si associa ad un URL valido . Non uso Struts da molti anni, ma suppongo che includa i DTD e utilizzi un EntityResolver per risolverli localmente. – GreyBeardedGeek