mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-28 00:21:53 +03:00
when creating a DOCTYPE use "html" lowercase by default instead of "HTML"
* HTMLparser.c: when creating a DOCTYPE use "html" lowercase by default instead of "HTML" * parser.c xmlreader.c: optimization, gain a few % parsing speed by avoiding calls to "areBlanks" when not needed. * include/libxml/parser.h include/libxml/tree.h: some structure extensions for future work on using per-document dictionaries. Daniel
This commit is contained in:
@ -1,3 +1,12 @@
|
||||
Wed Sep 3 15:24:41 CEST 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* HTMLparser.c: when creating a DOCTYPE use "html" lowercase
|
||||
by default instead of "HTML"
|
||||
* parser.c xmlreader.c: optimization, gain a few % parsing speed by
|
||||
avoiding calls to "areBlanks" when not needed.
|
||||
* include/libxml/parser.h include/libxml/tree.h: some structure
|
||||
extensions for future work on using per-document dictionaries.
|
||||
|
||||
Wed Sep 3 15:08:06 CEST 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* Makefile.am results/*.sax SAXResult/*: removing the SAXresults
|
||||
|
@ -2137,7 +2137,7 @@ htmlNewDocNoDtD(const xmlChar *URI, const xmlChar *ExternalID) {
|
||||
cur->_private = NULL;
|
||||
if ((ExternalID != NULL) ||
|
||||
(URI != NULL))
|
||||
xmlCreateIntSubset(cur, BAD_CAST "HTML", ExternalID, URI);
|
||||
xmlCreateIntSubset(cur, BAD_CAST "html", ExternalID, URI);
|
||||
return(cur);
|
||||
}
|
||||
|
||||
@ -4002,7 +4002,7 @@ htmlParseDocument(htmlParserCtxtPtr ctxt) {
|
||||
dtd = xmlGetIntSubset(ctxt->myDoc);
|
||||
if (dtd == NULL)
|
||||
ctxt->myDoc->intSubset =
|
||||
xmlCreateIntSubset(ctxt->myDoc, BAD_CAST "HTML",
|
||||
xmlCreateIntSubset(ctxt->myDoc, BAD_CAST "html",
|
||||
BAD_CAST "-//W3C//DTD HTML 4.0 Transitional//EN",
|
||||
BAD_CAST "http://www.w3.org/TR/REC-html40/loose.dtd");
|
||||
}
|
||||
@ -5058,7 +5058,7 @@ done:
|
||||
dtd = xmlGetIntSubset(ctxt->myDoc);
|
||||
if (dtd == NULL)
|
||||
ctxt->myDoc->intSubset =
|
||||
xmlCreateIntSubset(ctxt->myDoc, BAD_CAST "HTML",
|
||||
xmlCreateIntSubset(ctxt->myDoc, BAD_CAST "html",
|
||||
BAD_CAST "-//W3C//DTD HTML 4.0 Transitional//EN",
|
||||
BAD_CAST "http://www.w3.org/TR/REC-html40/loose.dtd");
|
||||
}
|
||||
|
@ -239,6 +239,7 @@ struct _xmlParserCtxt {
|
||||
xmlDictPtr dict; /* dictionnary for the parser */
|
||||
const xmlChar * *atts; /* array for the attributes callbacks */
|
||||
int maxatts; /* the size of the array */
|
||||
int docdict; /* use strings from dict to build tree */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -476,6 +476,7 @@ struct _xmlNode {
|
||||
#define XML_GET_LINE(n) \
|
||||
((n)->type == XML_ELEMENT_NODE ? (int) (n)->content : 0)
|
||||
|
||||
|
||||
/**
|
||||
* xmlDoc:
|
||||
*
|
||||
@ -507,6 +508,7 @@ struct _xmlDoc {
|
||||
const xmlChar *URL; /* The URI for that document */
|
||||
int charset; /* encoding of the in-memory content
|
||||
actually an xmlCharEncoding */
|
||||
struct _xmlDict *dict; /* dict used to allocate names or NULL */
|
||||
};
|
||||
|
||||
/**
|
||||
|
10
parser.c
10
parser.c
@ -2799,18 +2799,18 @@ get_more:
|
||||
}
|
||||
nbchar = in - ctxt->input->cur;
|
||||
if (nbchar > 0) {
|
||||
if (IS_BLANK(*ctxt->input->cur)) {
|
||||
if ((ctxt->sax->ignorableWhitespace !=
|
||||
ctxt->sax->characters) &&
|
||||
(IS_BLANK(*ctxt->input->cur))) {
|
||||
const xmlChar *tmp = ctxt->input->cur;
|
||||
ctxt->input->cur = in;
|
||||
|
||||
if (areBlanks(ctxt, tmp, nbchar)) {
|
||||
if (ctxt->sax->ignorableWhitespace != NULL)
|
||||
ctxt->sax->ignorableWhitespace(ctxt->userData,
|
||||
tmp, nbchar);
|
||||
} else {
|
||||
if (ctxt->sax->characters != NULL)
|
||||
} else if (ctxt->sax->characters != NULL)
|
||||
ctxt->sax->characters(ctxt->userData,
|
||||
tmp, nbchar);
|
||||
}
|
||||
line = ctxt->input->line;
|
||||
col = ctxt->input->col;
|
||||
} else {
|
||||
|
@ -1125,6 +1125,7 @@ xmlNewTextReader(xmlParserInputBufferPtr input, const char *URI) {
|
||||
ret->sax->endElement = xmlTextReaderEndElement;
|
||||
ret->characters = ret->sax->characters;
|
||||
ret->sax->characters = xmlTextReaderCharacters;
|
||||
ret->sax->ignorableWhitespace = xmlTextReaderCharacters;
|
||||
ret->cdataBlock = ret->sax->cdataBlock;
|
||||
ret->sax->cdataBlock = xmlTextReaderCDataBlock;
|
||||
|
||||
@ -1152,6 +1153,10 @@ xmlNewTextReader(xmlParserInputBufferPtr input, const char *URI) {
|
||||
ret->ctxt->_private = ret;
|
||||
ret->ctxt->linenumbers = 1;
|
||||
ret->allocs = XML_TEXTREADER_CTXT;
|
||||
/*
|
||||
* use the parser dictionnary to allocate all elements and attributes names
|
||||
*/
|
||||
ret->ctxt->docdict = 1;
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user