Esempio n. 1
0
 /**
  * Peturn parser to pool
  *
  * @param parser
  */
 protected void reuseParser(HtmlParser parser) {
   if (null != parser) {
     if (parser instanceof NekkoParser) {
       synchronized (_xhtmlParsersPool) {
         if (_xhtmlParsersPool.size() < STACK_SIZE) {
           ((NekkoParser) parser).reset();
           _xhtmlParsersPool.push(parser);
         }
       }
     }
   }
 }
Esempio n. 2
0
 /**
  * Factory method for create parsing object - contain chain of parsing, transformation and
  * serialization of response output
  *
  * @param string Encodings for parser
  * @return
  * @throws ServletException
  */
 protected HtmlParser getXmlParser(String mime) {
   // TODO make pool of parsers-transformers.
   NekkoParser parser;
   try {
     synchronized (_xhtmlParsersPool) {
       parser = (NekkoParser) _xhtmlParsersPool.pop();
     }
   } catch (EmptyStackException e) {
     parser = new NekkoParser();
     parser.setPublicId(getPublicid());
     parser.setSystemid(getSystemid());
     parser.setNamespace(getNamespace());
     // If tidy not handle all requests, disable reorganising of html
     //			parser.setMoveElements(isForcexml());
     parser.init();
   }
   parser.setMime(mime);
   // TODO - set header scripts/styles filter.
   return parser;
 }