mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
Bug fixes and an extension found and required by XSLT:
- xpath.c: bug fixes found from XSLT - tree.c: preserve node->name special values when copying nodes. - parserInternals.[ch] parser.[ch] SAX.c : added a mode where external subset are fetched when available but without full validation. Added xmlLoadExtDtdDefaultValue, need a function. - HTMLtree.c: add support for xmlStringTextNoenc for XSLt HTML output with encoding disabled. Daniel
This commit is contained in:
5
xpath.c
5
xpath.c
@ -4190,6 +4190,7 @@ xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs) {
|
||||
if (cur == NULL) XP_ERROR(XPATH_INVALID_OPERAND);
|
||||
switch (cur->type) {
|
||||
case XPATH_NODESET:
|
||||
case XPATH_XSLT_TREE:
|
||||
if ((cur->nodesetval == NULL) ||
|
||||
(cur->nodesetval->nodeNr == 0)) res = 0;
|
||||
else
|
||||
@ -5419,7 +5420,9 @@ xmlXPathEvalAndExpr(xmlXPathParserContextPtr ctxt) {
|
||||
SKIP_BLANKS;
|
||||
xmlXPathEvalEqualityExpr(ctxt);
|
||||
CHECK_ERROR;
|
||||
xmlXPathBooleanFunction(ctxt, 1);
|
||||
arg2 = valuePop(ctxt);
|
||||
xmlXPathBooleanFunction(ctxt, 1);
|
||||
arg1 = valuePop(ctxt);
|
||||
arg1->boolval &= arg2->boolval;
|
||||
valuePush(ctxt, arg1);
|
||||
@ -5451,7 +5454,9 @@ xmlXPathEvalExpr(xmlXPathParserContextPtr ctxt) {
|
||||
SKIP_BLANKS;
|
||||
xmlXPathEvalAndExpr(ctxt);
|
||||
CHECK_ERROR;
|
||||
xmlXPathBooleanFunction(ctxt, 1);
|
||||
arg2 = valuePop(ctxt);
|
||||
xmlXPathBooleanFunction(ctxt, 1);
|
||||
arg1 = valuePop(ctxt);
|
||||
arg1->boolval |= arg2->boolval;
|
||||
valuePush(ctxt, arg1);
|
||||
|
Reference in New Issue
Block a user