]> git.kaiwu.me - nginx.git/commitdiff
Xslt: parser options now set with xmlCtxtUseOptions().
authorMaxim Dounin <mdounin@mdounin.ru>
Wed, 28 Mar 2012 01:56:49 +0000 (01:56 +0000)
committerMaxim Dounin <mdounin@mdounin.ru>
Wed, 28 Mar 2012 01:56:49 +0000 (01:56 +0000)
Note that "ctxt->loadsubset = 1" previously used isn't really correct as
ctxt->loadsubset is a bitfield now.  The use of xmlCtxtUseOptions() with
XML_PARSE_DTDLOAD is believed to be a better way to do the same thing.

Patch by Laurence Rowe.

src/http/modules/ngx_http_xslt_filter_module.c

index 98fe774ceef65a20fd5553450052547e107ef412..4309a4489081dd322a775fc04cfbca1803bfcd21 100644 (file)
@@ -362,15 +362,14 @@ ngx_http_xslt_add_chunk(ngx_http_request_t *r, ngx_http_xslt_filter_ctx_t *ctx,
                           "xmlCreatePushParserCtxt() failed");
             return NGX_ERROR;
         }
+        xmlCtxtUseOptions(ctxt, XML_PARSE_NOENT|XML_PARSE_DTDLOAD
+                                               |XML_PARSE_NOWARNING);
 
         ctxt->sax->externalSubset = ngx_http_xslt_sax_external_subset;
         ctxt->sax->setDocumentLocator = NULL;
-        ctxt->sax->warning = NULL;
         ctxt->sax->error = ngx_http_xslt_sax_error;
         ctxt->sax->fatalError = ngx_http_xslt_sax_error;
         ctxt->sax->_private = ctx;
-        ctxt->replaceEntities = 1;
-        ctxt->loadsubset = 1;
 
         ctx->ctxt = ctxt;
         ctx->request = r;