ravenix

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

          設置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);

          當然這個設置只有在底層的sax解析器是xerces才有效。如果你使用的是其它的sax解析器,請參考解析器的文檔。
          主站蜘蛛池模板: 仁寿县| 平泉县| 大同县| 益阳市| 界首市| 泰兴市| 韶关市| 隆化县| 新蔡县| 洪雅县| 赤壁市| 理塘县| 伊金霍洛旗| 湖北省| 邹平县| 平江县| 林芝县| 浑源县| 保定市| 宜兰市| 格尔木市| 靖州| 马关县| 龙游县| 红河县| 莲花县| 陕西省| 彭泽县| 禄丰县| 宁安市| 张家界市| 上饶县| 宣威市| 嵊泗县| 浏阳市| 凯里市| 囊谦县| 玛纳斯县| 高阳县| 公主岭市| 长武县|