ravenix

          魚如何控制自己的呼吸
          posts - 7, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          設(shè)置digister不加載外部dtd,加快處理速度

          Posted on 2005-08-30 15:57 ravenix 閱讀(1069) 評論(0)  編輯  收藏 所屬分類: XML-XSL-FO
          如果用digister處理的xml里包含了外部dtd指定,即在!DOCTYPE中用PUBLIC指定外部dtd,即使使用了

          digester.setValidating(false);

          底層的sax解析器xerces仍然會去指定的地址去加載DTD,特別地,如果指定的地址無法獲得DTD,就會拋出異常:
          SAXException: The markup declarations contained or pointed to by the document type declaration must be well-formed

          為了避免這個問題,可以使用這樣的語句:
          digester.setValidating(false);
          digester.setFeature(
          "http://apache.org/xml/features/nonvalidating/load-external-dtd",false);

          當然這個設(shè)置只有在底層的sax解析器是xerces才有效。如果你使用的是其它的sax解析器,請參考解析器的文檔。
          主站蜘蛛池模板: 凤翔县| 改则县| 乌拉特后旗| 衡阳县| 修武县| 青田县| 腾冲县| 大名县| 上栗县| 东兴市| 遂昌县| 宝山区| 湘乡市| 潼南县| 桐梓县| 越西县| 阳西县| 华坪县| 商城县| 大石桥市| 尚志市| 前郭尔| 剑川县| 青岛市| 海淀区| 新野县| 喀什市| 景德镇市| 宜兰县| 衡阳市| 青龙| 肥西县| 瓮安县| 乌拉特前旗| 和田市| 葫芦岛市| 平顶山市| 嵩明县| 绵竹市| 甘谷县| 阳高县|