Электронный магазин на Java и XML

         

Метод grabDtd получает...



Листинг 9.7. Метод grabDtd получает текущее определение moreovernews.dtd (XMLgrabber.java)

// at this point pw is open to a temp file for dtd private void grabDtd() throws IOException { System.out.println("grabDtd:" + dtdURL );
URLConnection urlC = theURL.openConnection();
urlC.setUseCaches( false );
urlC.setAllowUserInteraction(false);
urlC.connect();
InputStream is = urlC.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader( isr );
String tmp = br.readLine() ; while( tmp != null ){ pw.println( tmp.trim() );
tmp = br.readLine();
} pw.close();
// does a flush() //System.out.println("grabDtd OK");
} private boolean createURL(String str){ try { theURL = new URL( str );
return true ; }catch(MalformedURLException e){ return false ; } }

Как показано в листинге 9.8, метод reformDoctype извлекает ссылку на файл DTD из строки DOCTYPE, а затем устанавливает значения переменных dtdURL и dtdFname.



Содержание раздела