struct _xmlValidCtxt {
+ void * userData : user specific data block
+ xmlValidityErrorFunc error : the callback in case of errors
+ xmlValidityWarningFunc warning : the callback in case of warning Node analysis stack used when validat
+ xmlNodePtr node : Current parsed Node
+ int nodeNr : Depth of the parsing stack
+ int nodeMax : Max depth of the parsing stack
+ xmlNodePtr * nodeTab : array of nodes
+ unsigned int finishDtd : finished validating the Dtd ?
+ xmlDocPtr doc : the document
+ int valid : temporary validity check result state state used for non-determinist
+ xmlValidState * vstate : current state
+ int vstateNr : Depth of the validation stack
+ int vstateMax : Max depth of the validation stack
+ xmlValidState * vstateTab : array of validation states
+ xmlAutomataPtr am : the automata
+ xmlAutomataStatePtr state : used to build the automata
+ void * am
+ void * state
+} xmlValidCtxt;
+
Callback called when a validity error is found. This is a message oriented function similar to an *printf function.
+
ctx:
usually an xmlValidCtxtPtr to a validity error context, but comes from ctxt->userData (which normally contains such a pointer); ctxt->userData can be changed by the user.
Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.
+
ctx:
usually an xmlValidCtxtPtr to a validity error context, but comes from ctxt->userData (which normally contains such a pointer); ctxt->userData can be changed by the user.
Determine whether an attribute is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.
Determine whether an attribute is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).
Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt->valid accordingly
a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.
+
+
xmlValidGetPotentialChildren ()
int xmlValidGetPotentialChildren (xmlElementContent * ctree, const xmlChar ** list, int * len, int max)
+
Build/extend a list of potential children allowed by the content tree
+
ctree:
an element content tree
list:
an array to store the list of child names
len:
a pointer to the number of element in the list
max:
the size of the array
Returns:
the number of element in the list, or -1 in case of error.
+
+
xmlValidGetValidElements ()
int xmlValidGetValidElements (xmlNode * prev, xmlNode * next, const xmlChar ** names, int max)
+
This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the following ways: to insert before 'node': xmlValidGetValidElements(node->prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node->next, ... to replace 'node': xmlValidGetValidElements(node->prev, node->next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node->childs, to append a child to 'node': xmlValidGetValidElements(node->last, NULL, ... pointers to the element names are inserted at the beginning of the array and do not need to be freed.
+
prev:
an element to insert after
next:
an element to insert next
names:
an array to store the list of child names
max:
the size of the array
Returns:
the number of element in the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the receiving array and retry.
Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character.
Try to validate a single attribute definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ] The ID/IDREF uniqueness and matching are done separately
Validate that the given attribute value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.
Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.
Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity
Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.
Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.
+
ctxt:
the validation context
doc:
a document instance
Returns:
1 if valid or 0 if invalid and -1 if not well-formed
Try to validate a single element definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique Element Type Declaration ]
+
ctxt:
the validation context
doc:
a document instance
elem:
an element definition
Returns:
1 if valid or 0 otherwise
+
+
xmlValidateNameValue ()
int xmlValidateNameValue (const xmlChar * value)
+
Validate that the given value match Name production
+
value:
an Name value
Returns:
1 if valid or 0 otherwise
+
+
xmlValidateNamesValue ()
int xmlValidateNamesValue (const xmlChar * value)
+
Validate that the given value match Names production
+
value:
an Names value
Returns:
1 if valid or 0 otherwise
+
+
xmlValidateNmtokenValue ()
int xmlValidateNmtokenValue (const xmlChar * value)
+
Validate that the given value match Nmtoken production [ VC: Name Token ]
+
value:
an Nmtoken value
Returns:
1 if valid or 0 otherwise
+
+
xmlValidateNmtokensValue ()
int xmlValidateNmtokensValue (const xmlChar * value)
+
Validate that the given value match Nmtokens production [ VC: Name Token ]
Try to validate a single notation definition basically it does the following checks as described by the XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this function get called anyway ...
Try to validate a single attribute for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately
Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call xmlValidateOneAttribute() for each attribute present. The ID/IDREF checkings are done separately
Try to validate a single namespace declaration for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately
Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element
+
ctxt:
the validation context
doc:
a document instance
Returns:
1 if valid or 0 otherwise
+
+
+
+
+
--
cgit v1.2.3
From 0fd83af441e251fc23fc1af7959fd6ecfa105fe1 Mon Sep 17 00:00:00 2001
From: Mike Hommey
Date: Fri, 6 Jan 2006 18:28:17 +0100
Subject: Load /tmp/tmp.U9vXwU/libxml2-2.6.23 into
local/libxml2/branches/upstream/current.
---
ChangeLog | 540 ++
HTMLparser.c | 11 +-
HTMLtree.c | 22 +-
Makefile.am | 2 +-
Makefile.in | 2 +-
NEWS | 332 +-
SAX2.c | 4 +
c14n.c | 2 +-
config.h.in | 18 +-
configure | 615 +-
configure.in | 65 +-
doc/APIchunk0.html | 8 +-
doc/APIchunk1.html | 1 +
doc/APIchunk10.html | 19 +-
doc/APIchunk11.html | 10 +-
doc/APIchunk12.html | 28 +-
doc/APIchunk13.html | 14 +-
doc/APIchunk14.html | 42 +-
doc/APIchunk15.html | 17 +-
doc/APIchunk16.html | 7 +-
doc/APIchunk17.html | 12 +-
doc/APIchunk18.html | 5 +-
doc/APIchunk19.html | 7 +-
doc/APIchunk2.html | 10 +-
doc/APIchunk20.html | 10 +-
doc/APIchunk21.html | 20 +-
doc/APIchunk22.html | 47 +-
doc/APIchunk23.html | 22 +-
doc/APIchunk24.html | 28 +-
doc/APIchunk25.html | 7 +-
doc/APIchunk26.html | 5 +-
doc/APIchunk27.html | 3 -
doc/APIchunk28.html | 13 +-
doc/APIchunk29.html | 1 +
doc/APIchunk3.html | 1 +
doc/APIchunk4.html | 4 +
doc/APIchunk5.html | 9 +-
doc/APIchunk6.html | 7 +-
doc/APIchunk7.html | 5 +-
doc/APIchunk8.html | 9 +-
doc/APIchunk9.html | 10 +-
doc/APIconstructors.html | 4 +-
doc/APIfiles.html | 17 +
doc/APIfunctions.html | 14 +
doc/APIsymbols.html | 17 +
doc/FAQ.html | 63 +-
doc/Makefile.am | 1 -
doc/Makefile.in | 1 -
doc/XMLinfo.html | 2 +-
doc/XSLT.html | 2 +-
doc/bugs.html | 2 +-
doc/catalog.html | 2 +-
doc/contribs.html | 8 +-
doc/devhelp/libxml2-HTMLtree.html | 9 +-
doc/devhelp/libxml2-pattern.html | 14 +-
doc/devhelp/libxml2-relaxng.html | 2 +-
doc/devhelp/libxml2-schemasInternals.html | 145 +-
doc/devhelp/libxml2-tree.html | 2 +-
doc/devhelp/libxml2-valid.html | 6 +-
doc/devhelp/libxml2-xmlIO.html | 7 +-
doc/devhelp/libxml2-xmlerror.html | 5 +
doc/devhelp/libxml2-xmlreader.html | 9 +-
doc/devhelp/libxml2-xmlregexp.html | 12 +-
doc/devhelp/libxml2-xmlsave.html | 5 +
doc/devhelp/libxml2-xmlschemas.html | 73 +-
doc/devhelp/libxml2-xmlstring.html | 8 +-
doc/devhelp/libxml2.devhelp | 17 +
doc/downloads.html | 9 +-
doc/encoding.html | 16 +-
doc/examples/Makefile.am | 104 +-
doc/examples/Makefile.in | 102 +-
doc/examples/examples.xml | 418 +-
doc/help.html | 2 +-
doc/html/libxml-HTMLtree.html | 5 +-
doc/html/libxml-pattern.html | 12 +-
doc/html/libxml-relaxng.html | 2 +-
doc/html/libxml-schemasInternals.html | 127 +-
doc/html/libxml-tree.html | 2 +-
doc/html/libxml-valid.html | 6 +-
doc/html/libxml-xmlIO.html | 5 +-
doc/html/libxml-xmlerror.html | 5 +
doc/html/libxml-xmlreader.html | 7 +-
doc/html/libxml-xmlregexp.html | 10 +-
doc/html/libxml-xmlsave.html | 5 +-
doc/html/libxml-xmlschemas.html | 69 +-
doc/html/libxml-xmlstring.html | 8 +-
doc/index.html | 6 +-
doc/intro.html | 2 +-
doc/libxml2-api.xml | 384 +-
doc/libxml2.xsa | 52 +-
doc/namespaces.html | 2 +-
doc/news.html | 332 +-
doc/python.html | 15 +-
doc/site.xsl | 2 +-
doc/xml.html | 492 +-
doc/xmldtd.html | 2 +-
doc/xmlreader.html | 4 +-
elfgcchack.h | 64 +-
error.c | 19 +-
gentest.py | 1 +
include/libxml/HTMLtree.h | 5 +
include/libxml/pattern.h | 7 +
include/libxml/schemasInternals.h | 177 +-
include/libxml/valid.h | 2 +-
include/libxml/xmlIO.h | 4 +
include/libxml/xmlerror.h | 5 +
include/libxml/xmlreader.h | 9 +
include/libxml/xmlregexp.h | 4 +-
include/libxml/xmlsave.h | 4 +-
include/libxml/xmlschemas.h | 7 +-
include/libxml/xmlversion.h | 10 +-
include/libxml/xmlversion.h.in | 2 +-
include/win32config.h | 4 +-
include/wsockcompat.h | 12 +
legacy.c | 1 -
libxml.3 | 2 +-
libxml.spec.in | 30 -
libxml2.spec | 36 +-
macos/src/config-mac.h | 9 -
nanohttp.c | 142 +-
parser.c | 43 +-
parserInternals.c | 62 +-
pattern.c | 517 +-
python/libxml.py | 3 +-
python/libxml2-py.c | 98 +-
python/setup.py | 2 +-
relaxng.c | 1 -
result/HTML/53867.html | 66 +
result/HTML/53867.html.err | 0
result/HTML/53867.html.sax | 26 +
result/XPath/tests/nodespat | 94 +
result/c14n/exc-without-comments/test-2 | 11 +
result/noent/ns7 | 2 +
result/ns7 | 2 +
result/ns7.rde | 1 +
result/ns7.rdr | 1 +
result/ns7.sax | 5 +
result/ns7.sax2 | 5 +
result/regexp/* | 1 -
result/regexp/hard | 5 +
result/schemas/bug303566_1_1.err | 2 +-
result/schemas/bug312957_1_0.err | 2 +-
result/schemas/bug321475_1_0 | 1 +
result/schemas/bug321475_1_0.err | 0
result/schemas/bug322411_1_0 | 1 +
result/schemas/bug322411_1_0.err | 0
result/schemas/bug323510_1_0 | 1 +
result/schemas/bug323510_1_0.err | 1 +
result/schemas/decimal-1_1_0 | 1 +
result/schemas/decimal-1_1_0.err | 8 +
result/schemas/decimal-2_1_0 | 1 +
result/schemas/decimal-2_1_0.err | 4 +
result/schemas/decimal-3_1_0 | 1 +
result/schemas/decimal-3_1_0.err | 8 +
result/schemas/derivation-ok-extension-err_0_0.err | 2 +-
result/schemas/derivation-ok-extension_0_0.err | 2 +-
.../derivation-ok-restriction-2-1-1_0_0.err | 12 +-
.../derivation-ok-restriction-4-1-err_0_0.err | 6 +-
result/schemas/element-err_0_0.err | 22 +-
result/schemas/idc-keyref-err1_1_0 | 1 +
result/schemas/idc-keyref-err1_1_0.err | 1 +
result/schemas/include3_0_0.err | 2 +-
result/schemas/restriction-attr1_0_0.err | 2 +-
result/schemas/scc-no-xmlns_0_0.err | 2 +-
result/schemas/scc-no-xsi_0_0.err | 2 +-
result/schemas/src-attribute1_0_0.err | 2 +-
result/schemas/src-attribute2_0_0.err | 2 +-
result/schemas/src-attribute3-1_0_0.err | 2 +-
result/schemas/src-attribute3-2-form_0_0.err | 2 +-
result/schemas/src-attribute3-2-st_0_0.err | 2 +-
result/schemas/src-attribute3-2-type_0_0.err | 2 +-
result/schemas/src-attribute4_0_0.err | 2 +-
result/schemas/src-element1_0_0.err | 2 +-
result/schemas/src-element3_0_0.err | 4 +-
runsuite.c | 53 +-
runtest.c | 18 +-
schematron.c | 6 +-
test/HTML/53867.html | 69 +
test/XPath/docs/nodes | 2 +
test/XPath/tests/nodespat | 5 +
test/c14n/exc-without-comments/test-2.xml | 20 +
test/c14n/exc-without-comments/test-2.xpath | 6 +
test/ns7 | 1 +
test/regexp/hard | 5 +
test/schemas/bug321475_0.xml | 10 +
test/schemas/bug321475_1.xsd | 48 +
test/schemas/bug322411_0.xml | 93 +
test/schemas/bug322411_1.xsd | 35 +
test/schemas/bug323510_0.xml | 3 +
test/schemas/bug323510_1.xsd | 12 +
test/schemas/decimal-1.xml | 37 +
test/schemas/decimal-1.xsd | 29 +
test/schemas/decimal-1_0.xml | 24 +
test/schemas/decimal-1_1.xsd | 19 +
test/schemas/decimal-2_0.xml | 14 +
test/schemas/decimal-2_1.xsd | 18 +
test/schemas/decimal-3_0.xml | 17 +
test/schemas/decimal-3_1.xsd | 18 +
test/schemas/idc-keyref-err1_0.xml | 14 +
test/schemas/idc-keyref-err1_1.xsd | 53 +
testapi.c | 446 +-
tree.c | 95 +-
uri.c | 144 +-
valid.c | 23 +-
vms/config.vms | 9 -
win32/Makefile.mingw | 4 +-
win32/Makefile.mingw.orig | 336 +
win32/Makefile.mingw.rej | 17 +
win32/configure.js | 8 +
win32/libxml2.def.src | 9 +
xmlIO.c | 55 +-
xmlmodule.c | 9 +-
xmlreader.c | 211 +-
xmlregexp.c | 517 +-
xmlsave.c | 47 +-
xmlschemas.c | 9553 ++++++++++++--------
xmlschemastypes.c | 166 +-
xmlstring.c | 14 +-
xmlwriter.c | 75 +-
xpath.c | 97 +-
220 files changed, 12466 insertions(+), 6252 deletions(-)
create mode 100644 result/HTML/53867.html
create mode 100644 result/HTML/53867.html.err
create mode 100644 result/HTML/53867.html.sax
create mode 100644 result/XPath/tests/nodespat
create mode 100644 result/c14n/exc-without-comments/test-2
create mode 100644 result/noent/ns7
create mode 100644 result/ns7
create mode 100644 result/ns7.rde
create mode 100644 result/ns7.rdr
create mode 100644 result/ns7.sax
create mode 100644 result/ns7.sax2
delete mode 100644 result/regexp/*
create mode 100644 result/schemas/bug321475_1_0
create mode 100644 result/schemas/bug321475_1_0.err
create mode 100644 result/schemas/bug322411_1_0
create mode 100644 result/schemas/bug322411_1_0.err
create mode 100644 result/schemas/bug323510_1_0
create mode 100644 result/schemas/bug323510_1_0.err
create mode 100644 result/schemas/decimal-1_1_0
create mode 100644 result/schemas/decimal-1_1_0.err
create mode 100644 result/schemas/decimal-2_1_0
create mode 100644 result/schemas/decimal-2_1_0.err
create mode 100644 result/schemas/decimal-3_1_0
create mode 100644 result/schemas/decimal-3_1_0.err
create mode 100644 result/schemas/idc-keyref-err1_1_0
create mode 100644 result/schemas/idc-keyref-err1_1_0.err
create mode 100644 test/HTML/53867.html
create mode 100644 test/XPath/docs/nodes
create mode 100644 test/XPath/tests/nodespat
create mode 100644 test/c14n/exc-without-comments/test-2.xml
create mode 100644 test/c14n/exc-without-comments/test-2.xpath
create mode 100644 test/ns7
create mode 100644 test/schemas/bug321475_0.xml
create mode 100644 test/schemas/bug321475_1.xsd
create mode 100644 test/schemas/bug322411_0.xml
create mode 100644 test/schemas/bug322411_1.xsd
create mode 100644 test/schemas/bug323510_0.xml
create mode 100644 test/schemas/bug323510_1.xsd
create mode 100644 test/schemas/decimal-1.xml
create mode 100644 test/schemas/decimal-1.xsd
create mode 100644 test/schemas/decimal-1_0.xml
create mode 100644 test/schemas/decimal-1_1.xsd
create mode 100644 test/schemas/decimal-2_0.xml
create mode 100644 test/schemas/decimal-2_1.xsd
create mode 100644 test/schemas/decimal-3_0.xml
create mode 100644 test/schemas/decimal-3_1.xsd
create mode 100644 test/schemas/idc-keyref-err1_0.xml
create mode 100644 test/schemas/idc-keyref-err1_1.xsd
create mode 100644 win32/Makefile.mingw.orig
create mode 100644 win32/Makefile.mingw.rej
(limited to 'doc/devhelp/libxml2-valid.html')
diff --git a/ChangeLog b/ChangeLog
index b8cd4e5..46037c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,543 @@
+Thu Jan 5 16:25:06 CET 2006 Daniel Veillard
+
+ * NEWS configure.in libxml.spec.in testapi.c doc/*: upated the news
+ regenerated the docs, preparing for release of 2.6.23
+ * pattern.c xmlschemas.c: fixed some comments
+
+Thu Jan 5 15:48:27 CET 2006 Kasimier Buchcik
+
+ * test/XPath/docs/nodes test/XPath/tests/nodespat
+ result/XPath/tests/nodespat: Added regression tests for
+ the latest XPath/pattern fixes.
+
+Thu Jan 5 15:43:38 CET 2006 Kasimier Buchcik
+
+ * pattern.c: Another fix to handle "foo//.": "foo" was not
+ included in the resulting node-set.
+
+Thu Jan 5 13:22:29 CET 2006 Kasimier Buchcik
+
+ * pattern.c xpath.c include/libxml/pattern.h:
+ Fixed bug #322928, reported by Erich Schubert: The bug was
+ in pattern.c, which is used for a tiny subset of xpath
+ expression which can be evaluated in an optimized way.
+ The doc-node was never considered when evaluating "//"
+ expressions. Additionally, we fixed resolution
+ to nodes of any type in pattern.c; i.e. a "//." didn't work
+ yet, as it did select only element-nodes. Due to this
+ issue the pushing of nodes in xpath.c needed to be adjusted
+ as well.
+
+Wed Jan 4 18:07:47 CET 2006 Daniel Veillard
+
+ * parser.c: tiny refactoring patch from Bjorn Reese
+
+Wed Jan 4 15:00:51 CET 2006 Daniel Veillard
+
+ * SAX2.c: fix bug #324432 with
+ * test/ns7 resul//ns7*: added to the regression tests
+
+Wed Jan 4 10:53:56 CET 2006 Daniel Veillard
+
+ * include/wsockcompat.h: applied patch from Mark Junker, fixing a
+ MinGW compilation problem, should close bug #324943
+
+Tue Jan 3 11:49:54 CET 2006 Kasimier Buchcik
+
+ * xmlschemas.c: Removed last dependency on the obsolete enum
+ xmlSchemaValidError.
+
+Mon Jan 2 11:20:00 CET 2006 Daniel Veillard
+
+ * xmlreader.c include/libxml/xmlreader.h xmlschemas.c: compilation
+ and doc build fixes from Michael Day
+
+Wed Dec 28 22:12:34 CET 2005 Daniel Veillard
+
+ * xmlregexp.c: bug in xmlRegExecPushString2() pointed out by
+ Sreeni Nair.
+
+Tue Dec 20 16:55:31 CET 2005 Rob Richards
+
+ * tree.c: fix bug #322136 in xmlNodeBufGetContent when entity ref is
+ a child of an element (fix by Oleksandr Kononenko).
+ * HTMLtree.c include/libxml/HTMLtree.h: Add htmlDocDumpMemoryFormat.
+
+Tue Dec 20 11:43:06 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c xmlstring.c: Fixed a segfault during
+ text concatenation when validating a node tree:
+ xmlStrncat was called with a @len of -1; but unlike
+ xmlStrncatNew, it does not calculate the length
+ automatically in such a case (reported by Judy Hay
+ on the mailing list).
+ Updated the descriptions of the involved string
+ functions to note this.
+
+Thu Dec 15 12:11:07 CET 2005 Daniel Veillard
+
+ * nanohttp.c: applied patch from Gary Coady to accept gzipped
+ http resources.
+
+Wed Dec 14 18:41:26 CET 2005 Kasimier Buchcik
+
+ * win32/configure.js: Added enable/disable of runtime
+ debugging (LIBXML_DEBUG_RUNTIME).
+
+Wed Dec 14 18:11:50 CET 2005 Kasimier Buchcik
+
+ * include/libxml/xmlversion.h.in: Fixed to define
+ LIBXML_DEBUG_RUNTIME on the basis of @WITH_RUN_DEBUG@.
+
+Tue Dec 13 12:49:23 CET 2005 Kasimier Buchcik
+
+ * test/schemas/bug321475* result/schemas/bug321475*:
+ Added regression test for bug #321475 (reported by
+ Gabor Nagy). Fixing of bug #323510 seemed to have
+ fixed this bug as well.
+
+Mon Dec 12 16:19:16 CET 2005 Kasimier Buchcik
+
+ * test/schemas/bug323510* result/schemas/bug323510*:
+ Added regression test for bug #323510.
+
+Mon Dec 12 16:11:13 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Workaround for bug #323510 (reported by
+ Jonathan Filiatrault): substituted the epsilon transition
+ for a labelled transition, in order to avoid a bug in
+ xmlregexp.c which eliminated the epsilon transition and
+ marked the initial state as final.
+
+Mon Dec 12 14:25:46 CET 2005 Daniel Veillard
+
+ * xmlreader.c: Gary Coady pointed a memory leak in
+ xmlTextReaderReadInnerXml() applied patch fixing #323864
+
+Sat Dec 10 12:08:28 CET 2005 Daniel Veillard
+
+ * HTMLparser.c configure.in parserInternals.c runsuite.c runtest.c
+ testapi.c xmlschemas.c xmlschemastypes.c xmlstring.c: fixed a number
+ of warnings shown by HP-UX compiler and reported by Rick Jones
+
+Fri Dec 9 18:57:31 CET 2005 Rob Richards
+
+ * xmlwriter.c: Insert space between pubid and sysid when both
+ passed to xmlTextWriterStartDTD and indenting not being used.
+ Remove no longer used Mem callbacks.
+
+Fri Dec 9 11:01:16 CET 2005 Kasimier Buchcik
+
+ * runsuite.c: Changed to instantly mark instance-tests as
+ failed if the corresponding schema was invalid. This
+ reflects the side of the Python code for the XML Schema test
+ suite. We now get the same number of failed tests on both
+ sides.
+
+Wed Dec 7 14:59:01 CET 2005 Kasimier Buchcik
+
+ * xmlreader.c include/libxml/xmlreader.h: Added
+ xmlTextReaderSchemaValidateCtxt() to the API.
+
+Wed Dec 7 12:59:56 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Fixed a segfault: the instance document was
+ still tried to be validated, if the schema, dynamically
+ acquired using XSI was invalid, thus mangled. The
+ validation will stop (or rather won't validate) now in
+ such a case. The schema parser error code will be set
+ on the validion context now; this is somehow not nice,
+ but it assures that the validation context indicates an
+ error in there was a parser error.
+
+Tue Dec 6 18:57:23 CET 2005 Daniel Veillard
+
+ * xmlreader.c: small doc patch from Aron Stansvik
+ * legacy.c: another doc patch for a deprecated API
+
+Mon Dec 5 16:23:49 CET 2005 Kasimier Buchcik
+
+ * Makefile.am: Tiny change for 'make tests': raised
+ the number of expected failures for James Clark's
+ XML Schema datatype tests from 10 to 11. The additional
+ reported error was agreed to be correct long time ago,
+ but we missed to adjust the message reported by
+ the testing script.
+
+Fri Dec 2 13:51:14 CET 2005 Kasimier Buchcik
+
+ * result/schemas/decimal* result/schemas/bug322411*:
+ Added missing regression test results for the latest IDC
+ and xs:decimal bugs.
+
+Wed Nov 30 12:22:23 CET 2005 Kasimier Buchcik
+
+ * test/schemas/decimal* test/schemas/bug322411*: Added
+ regression tests for the latest IDC and xs:decimal bugs.
+
+Wed Nov 30 11:57:35 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Fixed bubbling of duplicate IDC nodes: the
+ parent's list of duplicates was filled with NULLs instead
+ of the nodes under certain conditions. This lead to a
+ segfault when the list's entries were accessed.
+
+Mon Nov 28 17:28:53 CET 2005 Kasimier Buchcik
+
+ * xmlschemastypes.c: Fixed parsing of xs:decimal to
+ allow/deny special lexical forms. Fixed the totalDigits
+ for values in the range (x < 1) && (x > -1) && (x != 0);
+ E.g "0.123" has now a totalDigits of 3 (was 4 previously).
+ Adjusted the comparison function for decimals due to this
+ change. As a side effect comparison against zeroes was
+ optimized.
+
+Mon Nov 28 13:25:11 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c: An assignment to a local variable, which was
+ used to access the IDC node list, was missing after the
+ reallocation of the list (reported by Fabrice GUY
+ bug #322411). Renamed the define ENABLE_IDC_NODE_TABLES
+ to ENABLE_IDC_NODE_TABLES_TEST and *disabled* it, since
+ it is used to force bubbling of IDC node tables even
+ if not necessary; this was intended to be used for test
+ purposes, but I obviously missed to disable it (although
+ it apparently helped finding the bug).
+
+Wed Nov 23 17:34:52 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c: In xmlSchemaAssembleByXSI() the return value
+ of xmlSchemaGetMetaAttrInfo() was not assigned to anything;
+ this caused XSI-driven-dynamic schema acquisition to fail
+ with @noNamespaceSchemaLocation (reported by Julien Lamy
+ on the mailing list).
+
+Tue Nov 22 18:31:34 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Fixed a bug in xmlSchemaFindRedefCompInGraph()
+ which caused the search for components to stop at the
+ first encountered attribute group component.
+ Fixed error report in xmlSchemaCheckSRCRedefineFirst(): the
+ designation of a not-found component was not reported.
+
+Mon Nov 21 12:23:28 CET 2005 Daniel Veillard
+
+ * xmlschemastypes.c: Albert Chin found another signed/unsigned problem
+ in the date and time code raised on IRIX 6.5
+
+Fri Nov 18 18:13:38 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c include/libxml/xmlschemas.h:
+ Added xmlSchemaSetParserStructuredErrors() to the API.
+ Fixed channeling of error relevant information to
+ subsequent parser/validation contexts.
+
+Thu Nov 17 14:11:43 CET 2005 Daniel Veillard
+
+ * parserInternals.c: removed unreachable code pointed out by
+ Oleksandr Kononenko, fixes bug #321695
+
+Thu Nov 17 08:24:31 CET 2005 Daniel Veillard
+
+ * parser.c: use ctxt->standalone = -2 to indicate that the
+ XMLDecl was parsed but no standalone attribute was found,
+ suggested by Michael Day to detect if an XMLDecl was found.
+
+Tue Nov 15 09:49:24 CET 2005 Daniel Veillard
+
+ * runtest.c: Hisashi Fujinaka pointed that errors in Schemas tests
+ were not properly reported.
+
+Sun Nov 13 13:42:41 CET 2005 Daniel Veillard
+
+ * xmlIO.c: applied patch from Geert Jansen to remove xmlBufferClose()
+ which is not needed.
+
+Fri Nov 11 13:48:52 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Changed xmlSchemaFormatIDCKeySequence()
+ to use xmlSchemaGetCanonValueWhtspExt() in order to
+ correctly report values for xs:anySimpleType.
+ * test/schemas/idc-keyref-err1*
+ result/schemas/idc-keyref-err1*: Added a test for this change.
+
+Wed Nov 9 13:07:24 EST 2005 Rob Richards
+
+ * xmlIO.c xmlwriter.c: function consolidation when writing to xmlBuffer.
+ Return error condition not len if xmlwriter fails writing to buffer.
+
+Wed Nov 9 09:54:54 CET 2005 Daniel Veillard
+
+ * xmlsave.c xmlIO.c include/libxml/xmlIO.h include/libxml/xmlsave.h:
+ applied patch from Geert Jansen to implement the save function to
+ a xmlBuffer, and a bit of cleanup.
+
+Mon Nov 7 14:58:39 CET 2005 Kasimier Buchcik
+
+ * xmlschemas.c xmlschemastypes.c: Fixed the type of the
+ totalDigits value to be positiveInteger.
+ Fixed crash in an error report function when we gave it
+ the document node; only element and attribute nodes are
+ processed now (reported by Rob Richards).
+
+Tue Nov 1 16:22:29 CET 2005 Daniel Veillard
+
+ * xmlregexp.c: fix bug #319897, problem with counted atoms
+ when the transition itself is counted too
+ * result/regexp/hard test/regexp/hard: augmented the regression
+ tests with the problem exposed.
+
+Tue Nov 1 11:54:39 CET 2005 Daniel Veillard
+
+ * win32/Makefile.mingw include/win32config.h: applied patch from
+ Mark Junker to fix compilation with MinGW
+
+Fri Oct 28 18:36:08 CEST 2005 Daniel Veillard
+
+ * libxml.3: tiny fix from Albert Chin
+ * runsuite.c runtest.c testapi.c: portability cleanup for arch
+ needing trio for *printf
+
+Fri Oct 28 12:21:39 EDT 2005 Rob Richards
+
+ * tree.c: add additional checks to prevent tree corruption. fix problem
+ copying attribute using xmlDocCopyNode from one document to another.
+
+Fri Oct 28 17:58:13 CEST 2005 Daniel Veillard
+
+ * config.h.in configure.in vms/config.vms macos/src/config-mac.h:
+ cleanup from Albert Chin
+ * doc/Makefile.am: html/index.sgml doesn't exist anymore
+
+Fri Oct 28 16:53:51 CEST 2005 Daniel Veillard
+
+ * xmlIO.c xmlmodule.c: more portability patches from Albert Chin for
+ HP-UX and AIX
+
+Fri Oct 28 10:36:10 CEST 2005 Daniel Veillard
+
+ * xmlmodule.c configure.in: applied 2 patches from Albert Chin for
+ module portability
+
+Fri Oct 28 10:24:39 CEST 2005 Daniel Veillard
+
+ * error.c: fixing a portability problem on some old Unices with
+ patch from Albert Chin
+
+2005-10-27 Aleksey Sanin
+
+ * c14n.c result/c14n/exc-without-comments/test-2
+ test/c14n/exc-without-comments/test-2.xml
+ test/c14n/exc-without-comments/test-2.xpath: fixing
+ bug in exc-c14n namespace visibility + test case (bug #319367)
+
+Thu Oct 27 16:10:31 CEST 2005 Daniel Veillard
+
+ * python/libxml.py: remove warnings to stdout patch from Nic Ferrier
+
+Thu Oct 27 13:54:52 CEST 2005 Daniel Veillard
+
+ * valid.c xmlregexp.c include/libxml/valid.h
+ include/libxml/xmlregexp.h: avoid function parameters names 'list'
+ as this seems to give troubles with VC6 and stl as reported by
+ Samuel Diaz Garcia.
+
+Wed Oct 26 10:59:21 CEST 2005 Daniel Veillard
+
+ * parserInternals.c: fix a problem in some error case on Solaris
+ when passed a NULL filename, pointed by Albert Chin.
+
+Tue Oct 25 14:34:58 CEST 2005 Daniel Veillard
+
+ * HTMLparser.c: script HTML parser error fix, corrects bug #319715
+ * result/HTML/53867* test/HTML/53867.html: added test from Michael Day
+ to the regression suite
+
+Tue Oct 25 14:21:11 CEST 2005 Daniel Veillard
+
+ * HTMLparser.c: typo fix from Michael Day
+
+Mon Oct 24 20:16:23 EDT 2005 Rob Richards
+
+ * tree.c: fix issue adding non-namespaced attributes in xmlAddChild(),
+ xmlAddNextSibling() and xmlAddPrevSibling() (bug #319108) - part 1.
+
+Sat Oct 22 10:00:41 HKT 2005 William Brack
+
+ * parser.c: fixed second spot where CRLF split between chunks
+ could cause trouble (bug #319279)
+ * gentest.py, testapi.c: fixed two problems involved with
+ --with-minimum compilation (compilation errors with schematron
+ and formal expressions tests)
+
+Fri Oct 21 10:50:14 EDT 2005 Rob Richards
+
+ * xmlsave.c: prevent output of fragment tags when serializing XHTML.
+
+Wed Oct 19 16:53:47 BST 2005 Daniel Veillard
+
+ * xmlregexp.c: commiting a some fixes and debug done yesterday in
+ the London airport.
+
+Thu Oct 20 12:54:23 CEST 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Removed creation of a temporary parser context
+ during validation when processing xsi:type; this previously
+ added a string to the dict of the schema - to assure thread
+ safety, we don't want to modify a given schema during
+ validation.
+
+Thu Oct 20 17:05:29 HKT 2005 William Brack
+
+ * xmlwriter.c: fixed problem in xmlTextWriterVSprintf caused by
+ misuse of vsnprintf
+ * configure.in, config.h.in: added a configuration check for
+ va_copy and added a define for VA_COPY for xmlwriter.c fix
+ * parser.c: fixed problem with CRLF split between chunks (bug
+ #319279) (fix provided by Brion Vibber)
+
+Wed Oct 19 18:49:52 CEST 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Fixed a potential memory leak in
+ xmlSchemaCheckCSelectorXPath() when an internal error occurs.
+ Fixed setting of ctxt->err to the given error code in
+ the parsing error functions.
+ * pattern.c: Added internal xmlCompileIDCXPathPath() as a
+ starting point for IDC XPath compilation; this and some other
+ tiny changes fixes issues regarding whitespace in the
+ expressions and IDC selector/field relevant restrictions of
+ the subset of XPath. Fixed a missing blocking of attributes
+ in xmlStreamPushInternal().
+
+Mon Oct 17 15:06:05 EDT 2005 Daniel Veillard
+
+ * runtest.c: removed the error message
+ * relaxng.c xmlschemas.c: removed 2 instability warnings from function
+ documentation
+ * include/libxml/schemasInternals.h: changed warning about API stability
+ * xmlregexp.c: trying to improve runtime execution of non-deterministic
+ regexps and automata. Not fully finished but should be way better.
+
+Mon Oct 17 16:12:02 CEST 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Fixed a memory leak in
+ xmlSchemaContentModelDump(). Added output of local types
+ in xmlSchemaElementDump(). Tiny cosmetical changes to the
+ dump output.
+
+Mon Oct 17 14:29:08 CEST 2005 Kasimier Buchcik
+
+ * tree.c pattern.c: Silenced intel compiler warnings (reported
+ by Kjartan Maraas, bug #318517).
+ * xmlschemas.c: The above changes in pattern.c revealed an
+ inconsistency wrt IDCs: we now _only_ pop XPath states, if
+ we really pushed them beforehand; this was previously not
+ checked for the case when we discover an element node to be
+ invalid wrt the content model.
+ Fixed segfault in xmlSchemaGetEffectiveValueConstraint().
+
+Fri Oct 14 16:40:18 CEST 2005 Kasimier Buchcik
+
+ * result/schemas/*.err: Adapted regression test results.
+
+Fri Oct 14 16:21:22 CEST 2005 Kasimier Buchcik
+
+ * xmlschemas.c: Fixed some identity-constraint issues:
+ Restructured IDC node-tables
+ Allowed IDCs to resolve also to nodes of complex type with
+ simple content.
+ Added check for keyrefs with references to keyrefs.
+ IDC target-nodes were interferring with IDC node-tables,
+ since they used one list of entries only. I separated this
+ one big list into 3 lists: 1 for IDC node-table entries,
+ 1 for _duplicates_ of IDC node-table entries and 1 for
+ IDC target-nodes. More code, but cleaner and it works at last.
+ Keyrefs will fail to resolve to duplicate key/unique entries.
+ I thought this was already working this way, but it didn't.
+ The wording of the definition for [node table] in the spec
+ can lead to a scenario, where keyrefs resolve perfectly, even
+ if the relevant key-sequences of the referenced key/unique have
+ duplicates in the subtree. Currently only Saxon 8.5.1 is
+ dissallowing resolution to duplicate entries correctly - we
+ will follow Saxon here.
+ Removed some intel compiler warnings (reported by
+ Kjartan Maraas, bug #318517).
+ * pattern.c: Fixed an IDC-XPath problem when resolving to
+ attributes.
+
+Mon Oct 14 01:15:14 CEST 2005 Rob Richards
+ * nanohttp.c include/wsockcompat.h: applied patch from Kolja Nowak
+ to use getaddrinfo() if supported in Windows build (bug# 317431).
+
+Mon Oct 10 15:33:48 CEST 2005 Kasimier Buchcik
+
+ * result/schemas/*: Adapted regression test results.
+
+Mon Oct 10 15:12:43 CEST 2005 Kasimier Buchcik
+
+ * xmlschemas.c include/libxml/schemasInternals.h
+ include/libxml/xmlerror.h: Initial implementation for
+ redefinitions; this still misses checks for restrictions
+ of the content model of complex types.
+ Fixed default/fixed values for attributes (looks like they
+ did not work in the last releases).
+ Completed constraints for attribute uses.
+ Seperated attribute derivation from attribute constraints.
+ Completed constraints for attribute group definitions.
+ Disallowing s of schemas in no target namespace if the
+ importing schema is a chameleon schema. This contradicts
+ the way Saxon, Xerces-J, XSV and IBM's SQC works, but the
+ W3C XML Schema WG, thinks it is correct to dissalow such
+ imports.
+ Added cos-all-limited constraints.
+ Restructured reference resolution to model groups and element
+ declarations.
+ Misc cleanup.
+
+Fri Oct 7 04:34:12 CEST 2005 Rob Richards
+
+ * schematron.c xmlregexp.c: remove warnings under Windows.
+
+Wed Sep 28 23:42:14 CEST 2005 Daniel Veillard
+
+ * parser.c: applied patch from Massimo Morara fixing bug #317447
+ about risk of invalid write in xmlStringLenDecodeEntities
+
+Tue Sep 27 11:20:57 CEST 2005 Daniel Veillard
+
+ * error.c: Adrian Mouat pointed out redundancies in xmlReportError()
+
+Mon Sep 26 19:18:24 CEST 2005 Daniel Veillard
+
+ * xmlregexp.c: seems a test to avoid duplicate transition is
+ really needed at all times. Luka Por gave an example hitting
+ this. Changed back the internal API.
+
+Thu Sep 22 13:14:07 CEST 2005 Daniel Veillard
+
+ * xmlreader.c: fixing leak in xmlTextReaderReadString() #316924
+
+Thu Sep 15 16:12:44 CEST 2005 Daniel Veillard
+
+ * uri.c: more fixes to the behaviour of xmlBuildRelativeURI
+
+Thu Sep 15 15:08:21 CEST 2005 Daniel Veillard
+
+ * xmlregexp.c: detect combinatory explosion and return with
+ a runtime error in those case, c.f. #316338 though maybe we
+ should not see such an explosion with that specific regexp,
+ more checking needs to be done.
+
+Wed Sep 14 19:52:18 CEST 2005 Kasimier Buchcik
+
+ * include/libxml/schemasInternals.h: Added some comments for the
+ struct fields.
+
+Wed Sep 14 13:24:27 HKT 2005 William Brack
+
+ * uri.c: fixed problem when xmlBuildRelativeURI was given a
+ blank path (bug 316224)
+
Mon Sep 12 23:41:40 CEST 2005 Daniel Veillard
* NEWS configure.in doc//*: release of 2.6.22 updated doc and
diff --git a/HTMLparser.c b/HTMLparser.c
index d11ae08..12afdd8 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -2678,7 +2678,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
break; /* while */
} else {
htmlParseErr(ctxt, XML_ERR_TAG_NAME_MISMATCH,
- "Element %s embbeds close tag\n",
+ "Element %s embeds close tag\n",
ctxt->name, NULL);
}
} else {
@@ -2701,6 +2701,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
}
nbchar = 0;
}
+ GROW;
NEXTL(l);
cur = CUR_CHAR(l);
}
@@ -4778,7 +4779,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
}
break;
case XML_PARSER_START_TAG: {
- const xmlChar *name, *oldname;
+ const xmlChar *name;
int failed;
const htmlElemDesc * info;
@@ -4831,7 +4832,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
SKIP(2);
if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL))
ctxt->sax->endElement(ctxt->userData, name);
- oldname = htmlnamePop(ctxt);
+ htmlnamePop(ctxt);
ctxt->instate = XML_PARSER_CONTENT;
#ifdef DEBUG_PUSH
xmlGenericError(xmlGenericErrorContext,
@@ -4852,7 +4853,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
*/
if (xmlStrEqual(name, ctxt->name)) {
nodePop(ctxt);
- oldname = htmlnamePop(ctxt);
+ htmlnamePop(ctxt);
}
ctxt->instate = XML_PARSER_CONTENT;
@@ -4869,7 +4870,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
if ((info != NULL) && (info->empty)) {
if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL))
ctxt->sax->endElement(ctxt->userData, name);
- oldname = htmlnamePop(ctxt);
+ htmlnamePop(ctxt);
}
ctxt->instate = XML_PARSER_CONTENT;
#ifdef DEBUG_PUSH
diff --git a/HTMLtree.c b/HTMLtree.c
index e77ee65..d73024a 100644
--- a/HTMLtree.c
+++ b/HTMLtree.c
@@ -506,16 +506,17 @@ htmlNodeDumpFile(FILE *out, xmlDocPtr doc, xmlNodePtr cur) {
}
/**
- * htmlDocDumpMemory:
+ * htmlDocDumpMemoryFormat:
* @cur: the document
* @mem: OUT: the memory pointer
* @size: OUT: the memory length
+ * @format: should formatting spaces been added
*
* Dump an HTML document in memory and return the xmlChar * and it's size.
* It's up to the caller to free the memory.
*/
void
-htmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int *size) {
+htmlDocDumpMemoryFormat(xmlDocPtr cur, xmlChar**mem, int *size, int format) {
xmlOutputBufferPtr buf;
xmlCharEncodingHandlerPtr handler = NULL;
const char *encoding;
@@ -572,7 +573,8 @@ htmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int *size) {
return;
}
- htmlDocContentDumpOutput(buf, cur, NULL);
+ htmlDocContentDumpFormatOutput(buf, cur, NULL, format);
+
xmlOutputBufferFlush(buf);
if (buf->conv != NULL) {
*size = buf->conv->use;
@@ -584,6 +586,20 @@ htmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int *size) {
(void)xmlOutputBufferClose(buf);
}
+/**
+ * htmlDocDumpMemory:
+ * @cur: the document
+ * @mem: OUT: the memory pointer
+ * @size: OUT: the memory length
+ *
+ * Dump an HTML document in memory and return the xmlChar * and it's size.
+ * It's up to the caller to free the memory.
+ */
+void
+htmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int *size) {
+ htmlDocDumpMemoryFormat(cur, mem, size, 1);
+}
+
/************************************************************************
* *
diff --git a/Makefile.am b/Makefile.am
index ee09a7b..5ef9d90 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1070,7 +1070,7 @@ SchemasPythonTests:
LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
export LD_LIBRARY_PATH; \
echo "## XML Schemas datatypes Python based test suite" ; \
- echo "## It is normal to see 10 errors reported" ; \
+ echo "## It is normal to see 11 errors reported" ; \
$(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
fi)
@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
diff --git a/Makefile.in b/Makefile.in
index 3e66d17..d238442 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2328,7 +2328,7 @@ SchemasPythonTests:
LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
export LD_LIBRARY_PATH; \
echo "## XML Schemas datatypes Python based test suite" ; \
- echo "## It is normal to see 10 errors reported" ; \
+ echo "## It is normal to see 11 errors reported" ; \
$(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
fi)
@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
diff --git a/NEWS b/NEWS
index 6d91fc6..ccb9ace 100644
--- a/NEWS
+++ b/NEWS
@@ -15,176 +15,216 @@ ChangeLog.html
to the CVS at
http://cvs.gnome.org/viewcvs/libxml2/
code base.There is the list of public releases:
+2.6.23: Jan 5 2006:
+ - portability fixes: Windows (Rob Richards), getaddrinfo on Windows
+ (Kolja Nowak, Rob Richards), icc warnings (Kjartan Maraas),
+ --with-minimum compilation fixes (William Brack), error case handling fix
+ on Solaris (Albert Chin), don't use 'list' as parameter name reported by
+ Samuel Diaz Garcia, more old Unices portability fixes (Albert Chin),
+ MinGW compilation (Mark Junker), HP-UX compiler warnings (Rick Jones),
+
+ - code cleanup: xmlReportError (Adrian Mouat), remove xmlBufferClose
+ (Geert Jansen), unreachable code (Oleksandr Kononenko), refactoring
+ parsing code (Bjorn Reese)
+ - bug fixes: xmlBuildRelativeURI and empty path (William Brack),
+ combinatory explosion and performances in regexp code, leak in
+ xmlTextReaderReadString(), xmlStringLenDecodeEntities problem (Massimo
+ Morara), Identity Constraints bugs and a segfault (Kasimier Buchcik),
+ XPath pattern based evaluation bugs (DV & Kasimier),
+ xmlSchemaContentModelDump() memory leak (Kasimier), potential leak in
+ xmlSchemaCheckCSelectorXPath(), xmlTextWriterVSprintf() misuse of
+ vsnprintf (William Brack), XHTML serialization fix (Rob Richards), CRLF
+ split problem (William), issues with non-namespaced attributes in
+ xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards),
+ HTML parsing of script, Python must not output to stdout (Nic Ferrier),
+ exclusive C14N namespace visibility (Aleksey Sanin), XSD dataype
+ totalDigits bug (Kasimier Buchcik), error handling when writing to an
+ xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi
+ Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix
+ XSI driven XSD validation (Kasimier), parsing of xs:decimal (Kasimier),
+ fix DTD writer output (Rob Richards), leak in xmlTextReaderReadInnerXml
+ (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of
+ runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs
+ (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair),
+ compilation and build fixes (Michael Day), removed dependancies on
+ xmlSchemaValidError (Kasimier), bug with , more XPath
+ pattern based evaluation fixes (Kasimier)
+ - improvements: XSD Schemas redefinitions/restrictions (Kasimier
+ Buchcik), node copy checks and fix for attribute (Rob Richards), counted
+ transition bug in regexps, ctxt->standalone = -2 to indicate no
+ standalone attribute was found, add xmlSchemaSetParserStructuredErrors()
+ (Kasimier Buchcik), add xmlTextReaderSchemaValidateCtxt() to API
+ (Kasimier), handle gzipped HTTP resources (Gary Coady), add
+ htmlDocDumpMemoryFormat. (Rob Richards),
+ - documentation: typo (Michael Day), libxml man page (Albert Chin), save
+ function to XML buffer (Geert Jansen), small doc fix (Aron Stansvik),
+
+
+
2.6.22: Sep 12 2005:
- build fixes: compile without schematron (Stéphane Bidoul)
- bug fixes: xmlDebugDumpNode on namespace node (Oleg Paraschenko)i,
- CDATA push parser bug, xmlElemDump problem with XHTML1 doc,
- XML_FEATURE_xxx clash with expat headers renamed XML_WITH_xxx,
- fix some output formatting for meta element (Rob Richards),
- script and style XHTML1 serialization (David Madore), Attribute
- derivation fixups in XSD (Kasimier Buchcik), better IDC error
- reports (Kasimier Buchcik)
-
- - improvements: add XML_SAVE_NO_EMPTY xmlSaveOption (Rob Richards),
- add XML_SAVE_NO_XHTML xmlSaveOption, XML Schemas improvements
- preparing for derive (Kasimier Buchcik).
+ CDATA push parser bug, xmlElemDump problem with XHTML1 doc,
+ XML_FEATURE_xxx clash with expat headers renamed XML_WITH_xxx, fix some
+ output formatting for meta element (Rob Richards), script and style
+ XHTML1 serialization (David Madore), Attribute derivation fixups in XSD
+ (Kasimier Buchcik), better IDC error reports (Kasimier Buchcik)
+ - improvements: add XML_SAVE_NO_EMPTY xmlSaveOption (Rob Richards), add
+ XML_SAVE_NO_XHTML xmlSaveOption, XML Schemas improvements preparing for
+ derive (Kasimier Buchcik).
- documentation: generation of gtk-doc like docs, integration with
- devhelp.
+ devhelp.
2.6.21: Sep 4 2005:
- build fixes: Cygwin portability fixes (Gerrit P. Haase), calling
- convention problems on Windows (Marcus Boerger), cleanups based on
- Linus' sparse tool, update of win32/configure.js (Rob Richards),
- remove warnings on Windows(Marcus Boerger), compilation without SAX1,
- detection of the Python binary, use $GCC inestad of $CC = 'gcc' (Andrew
- W. Nosenko), compilation/link with threads and old gcc, compile
- problem by C370 on Z/OS,
+ convention problems on Windows (Marcus Boerger), cleanups based on Linus'
+ sparse tool, update of win32/configure.js (Rob Richards), remove warnings
+ on Windows(Marcus Boerger), compilation without SAX1, detection of the
+ Python binary, use $GCC inestad of $CC = 'gcc' (Andrew W. Nosenko),
+ compilation/link with threads and old gcc, compile problem by C370 on
+ Z/OS,
- bug fixes: http_proxy environments (Peter Breitenlohner), HTML UTF-8
- bug (Jiri Netolicky), XPath NaN compare bug (William Brack),
- htmlParseScript potential bug, Schemas regexp handling of spaces,
- Base64 Schemas comparisons NIST passes, automata build error xsd:all,
- xmlGetNodePath for namespaced attributes (Alexander Pohoyda),
- xmlSchemas foreign namespaces handling, XML Schemas facet comparison
- (Kupriyanov Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier
- Buchcik), xml: namespace ahndling in Schemas (Kasimier), empty model
- group in Schemas (Kasimier), wilcard in Schemas (Kasimier), URI
- composition (William), xs:anyType in Schemas (Kasimier), Python resolver
- emmitting error messages directly, Python xmlAttr.parent (Jakub Piotr
- Clapa), trying to fix the file path/URI conversion,
- xmlTextReaderGetAttribute fix (Rob Richards), xmlSchemaFreeAnnot memleak
- (Kasimier), HTML UTF-8 serialization, streaming XPath, Schemas determinism
- detection problem, XInclude bug, Schemas context type (Dean Hill),
- validation fix (Derek Poon), xmlTextReaderGetAttribute[Ns] namespaces
- (Rob Richards), Schemas type fix (Kuba Nowakowski), UTF-8 parser bug,
- error in encoding handling, xmlGetLineNo fixes, bug on entities handling,
- entity name extraction in error handling with XInclude, text nodes
- in HTML body tags (Gary Coady), xml:id and IDness at the treee level
- fixes, XPath streaming patterns bugs.
+ bug (Jiri Netolicky), XPath NaN compare bug (William Brack),
+ htmlParseScript potential bug, Schemas regexp handling of spaces, Base64
+ Schemas comparisons NIST passes, automata build error xsd:all,
+ xmlGetNodePath for namespaced attributes (Alexander Pohoyda), xmlSchemas
+ foreign namespaces handling, XML Schemas facet comparison (Kupriyanov
+ Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml:
+ namespace ahndling in Schemas (Kasimier), empty model group in Schemas
+ (Kasimier), wilcard in Schemas (Kasimier), URI composition (William),
+ xs:anyType in Schemas (Kasimier), Python resolver emmitting error
+ messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to
+ fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob
+ Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8
+ serialization, streaming XPath, Schemas determinism detection problem,
+ XInclude bug, Schemas context type (Dean Hill), validation fix (Derek
+ Poon), xmlTextReaderGetAttribute[Ns] namespaces (Rob Richards), Schemas
+ type fix (Kuba Nowakowski), UTF-8 parser bug, error in encoding handling,
+ xmlGetLineNo fixes, bug on entities handling, entity name extraction in
+ error handling with XInclude, text nodes in HTML body tags (Gary Coady),
+ xml:id and IDness at the treee level fixes, XPath streaming patterns
+ bugs.
- improvements: structured interfaces for schemas and RNG error reports
- (Marcus Boerger), optimization of the char data inner loop parsing
- (thanks to Behdad Esfahbod for the idea), schematron validation
- though not finished yet, xmlSaveOption to omit XML declaration,
- keyref match error reports (Kasimier), formal expression handling
- code not plugged yet, more lax mode for the HTML parser,
- parser XML_PARSE_COMPACT option for text nodes allocation.
+ (Marcus Boerger), optimization of the char data inner loop parsing
+ (thanks to Behdad Esfahbod for the idea), schematron validation though
+ not finished yet, xmlSaveOption to omit XML declaration, keyref match
+ error reports (Kasimier), formal expression handling code not plugged
+ yet, more lax mode for the HTML parser, parser XML_PARSE_COMPACT option
+ for text nodes allocation.
- documentation: xmllint man page had --nonet duplicated
2.6.20: Jul 10 2005:
- - build fixes: Windows build (Rob Richards), Mingw compilation (Igor
- Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
- andriy@google.com), use gcc weak references to pthread to avoid the
- pthread dependancy on Linux, compilation problem (Steve Nairn),
- compiling of subset (Morten Welinder), IPv6/ss_family compilation
- (William Brack), compilation when disabling parts of the library,
- standalone test distribution.
-
- - bug fixes: bug in lang(), memory cleanup on errors (William Brack),
- HTTP query strings (Aron Stansvik), memory leak in DTD (William),
- integer overflow in XPath (William), nanoftp buffer size, pattern
- "." apth fixup (Kasimier), leak in tree reported by Malcolm Rowe,
- replaceNode patch (Brent Hendricks), CDATA with NULL content
- (Mark Vakoc), xml:base fixup on XInclude (William), pattern
- fixes (William), attribute bug in exclusive c14n (Aleksey Sanin),
- xml:space and xml:lang with SAX2 (Rob Richards), namespace
- trouble in complex parsing (Malcolm Rowe), XSD type QNames fixes
- (Kasimier), XPath streaming fixups (William), RelaxNG bug (Rob Richards),
- Schemas for Schemas fixes (Kasimier), removal of ID (Rob Richards),
- a small RelaxNG leak, HTML parsing in push mode bug (James Bursa),
- failure to detect UTF-8 parsing bugs in CDATA sections, areBlanks()
- heuristic failure, duplicate attributes in DTD bug (William).
-
- - improvements: lot of work on Schemas by Kasimier Buchcik both on
- conformance and streaming, Schemas validation messages (Kasimier
- Buchcik, Matthew Burgess), namespace removal at the python level
- (Brent Hendricks), Update to new Schemas regression tests from
- W3C/Nist (Kasimier), xmlSchemaValidateFile() (Kasimier), implementation
- of xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml (James Wert),
- standalone test framework and programs, new DOM import APIs
- xmlDOMWrapReconcileNamespaces() xmlDOMWrapAdoptNode() and
- xmlDOMWrapRemoveNode(), extension of xmllint capabilities for
- SAX and Schemas regression tests, xmlStopParser() available in
- pull mode too, ienhancement to xmllint --shell namespaces support,
- Windows port of the standalone testing tools (Kasimier and William),
- xmlSchemaValidateStream() xmlSchemaSAXPlug() and xmlSchemaSAXUnplug()
- SAX Schemas APIs, Schemas xmlReader support.
-
+ - build fixes: Windows build (Rob Richards), Mingw compilation (Igor
+ Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
+ andriy@google.com), use gcc weak references to pthread to avoid the
+ pthread dependancy on Linux, compilation problem (Steve Nairn), compiling
+ of subset (Morten Welinder), IPv6/ss_family compilation (William Brack),
+ compilation when disabling parts of the library, standalone test
+ distribution.
+ - bug fixes: bug in lang(), memory cleanup on errors (William Brack),
+ HTTP query strings (Aron Stansvik), memory leak in DTD (William), integer
+ overflow in XPath (William), nanoftp buffer size, pattern "." apth fixup
+ (Kasimier), leak in tree reported by Malcolm Rowe, replaceNode patch
+ (Brent Hendricks), CDATA with NULL content (Mark Vakoc), xml:base fixup
+ on XInclude (William), pattern fixes (William), attribute bug in
+ exclusive c14n (Aleksey Sanin), xml:space and xml:lang with SAX2 (Rob
+ Richards), namespace trouble in complex parsing (Malcolm Rowe), XSD type
+ QNames fixes (Kasimier), XPath streaming fixups (William), RelaxNG bug
+ (Rob Richards), Schemas for Schemas fixes (Kasimier), removal of ID (Rob
+ Richards), a small RelaxNG leak, HTML parsing in push mode bug (James
+ Bursa), failure to detect UTF-8 parsing bugs in CDATA sections,
+ areBlanks() heuristic failure, duplicate attributes in DTD bug
+ (William).
+ - improvements: lot of work on Schemas by Kasimier Buchcik both on
+ conformance and streaming, Schemas validation messages (Kasimier Buchcik,
+ Matthew Burgess), namespace removal at the python level (Brent
+ Hendricks), Update to new Schemas regression tests from W3C/Nist
+ (Kasimier), xmlSchemaValidateFile() (Kasimier), implementation of
+ xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml (James Wert),
+ standalone test framework and programs, new DOM import APIs
+ xmlDOMWrapReconcileNamespaces() xmlDOMWrapAdoptNode() and
+ xmlDOMWrapRemoveNode(), extension of xmllint capabilities for SAX and
+ Schemas regression tests, xmlStopParser() available in pull mode too,
+ ienhancement to xmllint --shell namespaces support, Windows port of the
+ standalone testing tools (Kasimier and William),
+ xmlSchemaValidateStream() xmlSchemaSAXPlug() and xmlSchemaSAXUnplug() SAX
+ Schemas APIs, Schemas xmlReader support.
2.6.19: Apr 02 2005:
- - build fixes: drop .la from RPMs, --with-minimum build fix (William
- Brack), use XML_SOCKLEN_T instead of SOCKLEN_T because it breaks with
- AIX 5.3 compiler, fixed elfgcchack.h generation and PLT reduction
- code on Linux/ELF/gcc4
- - bug fixes: schemas type decimal fixups (William Brack), xmmlint return
- code (Gerry Murphy), small schemas fixes (Matthew Burgess and
- GUY Fabrice), workaround "DAV:" namespace brokeness in c14n (Aleksey
- Sanin), segfault in Schemas (Kasimier Buchcik), Schemas attribute
- validation (Kasimier), Prop related functions and xmlNewNodeEatName
- (Rob Richards), HTML serialization of name attribute on a elements,
- Python error handlers leaks and improvement (Brent Hendricks),
- uninitialized variable in encoding code, Relax-NG validation bug,
- potential crash if gnorableWhitespace is NULL, xmlSAXParseDoc and
- xmlParseDoc signatures, switched back to assuming UTF-8 in case
- no encoding is given at serialization time
- - improvements: lot of work on Schemas by Kasimier Buchcik on facets
- checking and also mixed handling.
+ - build fixes: drop .la from RPMs, --with-minimum build fix (William
+ Brack), use XML_SOCKLEN_T instead of SOCKLEN_T because it breaks with AIX
+ 5.3 compiler, fixed elfgcchack.h generation and PLT reduction code on
+ Linux/ELF/gcc4
+ - bug fixes: schemas type decimal fixups (William Brack), xmmlint return
+ code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY
+ Fabrice), workaround "DAV:" namespace brokeness in c14n (Aleksey Sanin),
+ segfault in Schemas (Kasimier Buchcik), Schemas attribute validation
+ (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards),
+ HTML serialization of name attribute on a elements, Python error handlers
+ leaks and improvement (Brent Hendricks), uninitialized variable in
+ encoding code, Relax-NG validation bug, potential crash if
+ gnorableWhitespace is NULL, xmlSAXParseDoc and xmlParseDoc signatures,
+ switched back to assuming UTF-8 in case no encoding is given at
+ serialization time
+ - improvements: lot of work on Schemas by Kasimier Buchcik on facets
+ checking and also mixed handling.
-
2.6.18: Mar 13 2005:
- - build fixes: warnings (Peter Breitenlohner), testapi.c generation,
- Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
- some gcc4 fixes, HP-UX portability fixes (Rick Jones).
- - bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
- xmlreader stopping on non-fatal errors, thread support for dictionnaries
- reference counting (Gary Coady), internal subset and push problem,
- URL saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python
- paths fixup (Stephane Bidoul), xmlGetNodePath and namespaces,
- xmlSetNsProp fix (Mike Hommey), warning should not count as error
- (William Brack), xmlCreatePushParser empty chunk, XInclude parser
- flags (William), cleanup FTP and HTTP code to reuse the uri parsing
- and IPv6 (William), xmlTextWriterStartAttributeNS fix (Rob Richards),
- XMLLINT_INDENT being empty (William), xmlWriter bugs (Rob Richards),
- multithreading on Windows (Rich Salz), xmlSearchNsByHref fix (Kasimier),
- Python binding leak (Brent Hendricks), aliasing bug exposed by gcc4
- on s390, xmlTextReaderNext bug (Rob Richards), Schemas decimal type
- fixes (William Brack), xmlByteConsumed static buffer (Ben Maurer).
- - improvement: speedup parsing comments and DTDs, dictionnary support for
- hash tables, Schemas Identity constraints (Kasimier), streaming XPath
- subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
- values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
- Stansvik),
- - Documentation: Wiki support (Joel Reed)
-
+ - build fixes: warnings (Peter Breitenlohner), testapi.c generation,
+ Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
+ some gcc4 fixes, HP-UX portability fixes (Rick Jones).
+ - bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
+ xmlreader stopping on non-fatal errors, thread support for dictionnaries
+ reference counting (Gary Coady), internal subset and push problem, URL
+ saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths
+ fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix
+ (Mike Hommey), warning should not count as error (William Brack),
+ xmlCreatePushParser empty chunk, XInclude parser flags (William), cleanup
+ FTP and HTTP code to reuse the uri parsing and IPv6 (William),
+ xmlTextWriterStartAttributeNS fix (Rob Richards), XMLLINT_INDENT being
+ empty (William), xmlWriter bugs (Rob Richards), multithreading on Windows
+ (Rich Salz), xmlSearchNsByHref fix (Kasimier), Python binding leak (Brent
+ Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
+ (Rob Richards), Schemas decimal type fixes (William Brack),
+ xmlByteConsumed static buffer (Ben Maurer).
+ - improvement: speedup parsing comments and DTDs, dictionnary support for
+ hash tables, Schemas Identity constraints (Kasimier), streaming XPath
+ subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
+ values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
+ Stansvik),
+ - Documentation: Wiki support (Joel Reed)
2.6.17: Jan 16 2005:
- - build fixes: Windows, warnings removal (William Brack),
- maintainer-clean dependency(William), build in a different directory
- (William), fixing --with-minimum configure build (William), BeOS
- build (Marcin Konicki), Python-2.4 detection (William), compilation
- on AIX (Dan McNichol)
+ - build fixes: Windows, warnings removal (William Brack),
+ maintainer-clean dependency(William), build in a different directory
+ (William), fixing --with-minimum configure build (William), BeOS build
+ (Marcin Konicki), Python-2.4 detection (William), compilation on AIX (Dan
+ McNichol)
- bug fixes: xmlTextReaderHasAttributes (Rob Richards), xmlCtxtReadFile()
- to use the catalog(s), loop on output (William Brack), XPath memory leak,
- ID deallocation problem (Steve Shepard), debugDumpNode crash (William),
- warning not using error callback (William), xmlStopParser bug (William),
- UTF-16 with BOM on DTDs (William), namespace bug on empty elements
- in push mode (Rob Richards), line and col computations fixups (Aleksey
- Sanin), xmlURIEscape fix (William), xmlXPathErr on bad range (William),
- patterns with too many steps, bug in RNG choice optimization, line
- number sometimes missing.
-
- - improvements: XSD Schemas (Kasimier Buchcik), python generator (William),
- xmlUTF8Strpos speedup (William), unicode Python strings (William),
- XSD error reports (Kasimier Buchcik), Python __str__ call serialize().
-
- - new APIs: added xmlDictExists(), GetLineNumber and GetColumnNumber
- for the xmlReader (Aleksey Sanin), Dynamic Shared Libraries APIs
- (mostly Joel Reed), error extraction API from regexps, new XMLSave
- option for format (Phil Shafer)
- - documentation: site improvement (John Fleck), FAQ entries (William).
+ to use the catalog(s), loop on output (William Brack), XPath memory leak,
+ ID deallocation problem (Steve Shepard), debugDumpNode crash (William),
+ warning not using error callback (William), xmlStopParser bug (William),
+ UTF-16 with BOM on DTDs (William), namespace bug on empty elements in
+ push mode (Rob Richards), line and col computations fixups (Aleksey
+ Sanin), xmlURIEscape fix (William), xmlXPathErr on bad range (William),
+ patterns with too many steps, bug in RNG choice optimization, line number
+ sometimes missing.
+ - improvements: XSD Schemas (Kasimier Buchcik), python generator
+ (William), xmlUTF8Strpos speedup (William), unicode Python strings
+ (William), XSD error reports (Kasimier Buchcik), Python __str__ call
+ serialize().
+ - new APIs: added xmlDictExists(), GetLineNumber and GetColumnNumber for
+ the xmlReader (Aleksey Sanin), Dynamic Shared Libraries APIs (mostly Joel
+ Reed), error extraction API from regexps, new XMLSave option for format
+ (Phil Shafer)
+ - documentation: site improvement (John Fleck), FAQ entries
+ (William).
2.6.16: Nov 10 2004:
@@ -197,7 +237,7 @@ http://cvs.gnome.org/viewcvs/libxml2/
- documentation: fix to xmllint man page, some API function descritpion
were updated.
- improvements: DTD validation APIs provided at the Python level (Brent
- Hendricks)
+ Hendricks)
2.6.15: Oct 27 2004:
diff --git a/SAX2.c b/SAX2.c
index 9f7edf6..17425e7 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -2233,9 +2233,13 @@ xmlSAX2StartElementNs(void *ctx,
*/
if ((URI != NULL) && (ret->ns == NULL)) {
ret->ns = xmlSearchNs(ctxt->myDoc, parent, prefix);
+ if ((ret->ns == NULL) && (xmlStrEqual(prefix, BAD_CAST "xml"))) {
+ ret->ns = xmlSearchNs(ctxt->myDoc, ret, prefix);
+ }
if (ret->ns == NULL) {
ns = xmlNewNs(ret, NULL, prefix);
if (ns == NULL) {
+
xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
return;
}
diff --git a/c14n.c b/c14n.c
index 32c7004..33a5803 100644
--- a/c14n.c
+++ b/c14n.c
@@ -802,7 +802,7 @@ xmlExcC14NProcessNamespacesAxis(xmlC14NCtxPtr ctx, xmlNodePtr cur, int visible)
if(xmlStrlen(attr->ns->prefix) == 0) {
has_empty_ns = 1;
}
- } else if(attr->ns == NULL) {
+ } else if((attr->ns != NULL) && (xmlStrlen(attr->ns->prefix) == 0) && (xmlStrlen(attr->ns->href) == 0)) {
has_visibly_utilized_empty_ns = 1;
}
}
diff --git a/config.h.in b/config.h.in
index 8484193..1dafc10 100644
--- a/config.h.in
+++ b/config.h.in
@@ -97,24 +97,12 @@
/* Define if history library is there (-lhistory) */
#undef HAVE_LIBHISTORY
-/* Define to 1 if you have the `inet' library (-linet). */
-#undef HAVE_LIBINET
-
-/* Define to 1 if you have the `net' library (-lnet). */
-#undef HAVE_LIBNET
-
-/* Define to 1 if you have the `nsl' library (-lnsl). */
-#undef HAVE_LIBNSL
-
/* Define if pthread library is there (-lpthread) */
#undef HAVE_LIBPTHREAD
/* Define if readline library is there (-lreadline) */
#undef HAVE_LIBREADLINE
-/* Define to 1 if you have the `socket' library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
/* Have compression library */
#undef HAVE_LIBZ
@@ -237,6 +225,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
+/* Whether va_copy() is available */
+#undef HAVE_VA_COPY
+
/* Define to 1 if you have the `vfprintf' function. */
#undef HAVE_VFPRINTF
@@ -252,6 +243,9 @@
/* Define to 1 if you have the `_stat' function. */
#undef HAVE__STAT
+/* Whether __va_copy() is available */
+#undef HAVE___VA_COPY
+
/* Name of package */
#undef PACKAGE
diff --git a/configure b/configure
index ac6e4bb..ad70461 100755
--- a/configure
+++ b/configure
@@ -1618,7 +1618,7 @@ host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
LIBXML_MAJOR_VERSION=2
LIBXML_MINOR_VERSION=6
-LIBXML_MICRO_VERSION=22
+LIBXML_MICRO_VERSION=23
LIBXML_MICRO_VERSION_SUFFIX=
LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
@@ -19934,8 +19934,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# AM_MAINTAINER_MODE
_cppflags="${CPPFLAGS}"
@@ -26028,58 +26026,20 @@ fi
done
-echo "$as_me:$LINENO: checking for gethostent" >&5
-echo $ECHO_N "checking for gethostent... $ECHO_C" >&6
-if test "${ac_cv_func_gethostent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
+echo "$as_me:$LINENO: checking for va_copy" >&5
+echo $ECHO_N "checking for va_copy... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Define gethostent to an innocuous variant, in case declares gethostent.
- For example, HP-UX 11i declares gettimeofday. */
-#define gethostent innocuous_gethostent
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gethostent (); below.
- Prefer to if __STDC__ is defined, since
- exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-
-#undef gethostent
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostent ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_gethostent) || defined (__stub___gethostent)
-choke me
-#else
-char (*f) () = gethostent;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
+#include
+va_list ap1,ap2;
int
main ()
{
-return f != gethostent;
+va_copy(ap1,ap2);
;
return 0;
}
@@ -26106,47 +26066,38 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_func_gethostent=yes
+ have_va_copy=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_gethostent=no
+have_va_copy=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_gethostent" >&5
-echo "${ECHO_T}$ac_cv_func_gethostent" >&6
-if test $ac_cv_func_gethostent = yes; then
- :
-else
+echo "$as_me:$LINENO: result: $have_va_copy" >&5
+echo "${ECHO_T}$have_va_copy" >&6
+if test x"$have_va_copy" = x"yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_VA_COPY 1
+_ACEOF
-echo "$as_me:$LINENO: checking for gethostent in -lnsl" >&5
-echo $ECHO_N "checking for gethostent in -lnsl... $ECHO_C" >&6
-if test "${ac_cv_lib_nsl_gethostent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+ echo "$as_me:$LINENO: checking for __va_copy" >&5
+echo $ECHO_N "checking for __va_copy... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostent ();
+#include
+ va_list ap1,ap2;
int
main ()
{
-gethostent ();
+__va_copy(ap1,ap2);
;
return 0;
}
@@ -26173,82 +26124,51 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_lib_nsl_gethostent=yes
+ have___va_copy=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_nsl_gethostent=no
+have___va_copy=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostent" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_gethostent" >&6
-if test $ac_cv_lib_nsl_gethostent = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBNSL 1
-_ACEOF
-
- LIBS="-lnsl $LIBS"
+ echo "$as_me:$LINENO: result: $have___va_copy" >&5
+echo "${ECHO_T}$have___va_copy" >&6
+ if test x"$have___va_copy" = x"yes"; then
-fi
+cat >>confdefs.h <<\_ACEOF
+#define HAVE___VA_COPY 1
+_ACEOF
+ fi
fi
-echo "$as_me:$LINENO: checking for setsockopt" >&5
-echo $ECHO_N "checking for setsockopt... $ECHO_C" >&6
-if test "${ac_cv_func_setsockopt+set}" = set; then
+echo "$as_me:$LINENO: checking for library containing gethostent" >&5
+echo $ECHO_N "checking for library containing gethostent... $ECHO_C" >&6
+if test "${ac_cv_search_gethostent+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_func_search_save_LIBS=$LIBS
+ac_cv_search_gethostent=no
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Define setsockopt to an innocuous variant, in case declares setsockopt.
- For example, HP-UX 11i declares gettimeofday. */
-#define setsockopt innocuous_setsockopt
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char setsockopt (); below.
- Prefer to if __STDC__ is defined, since
- exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-
-#undef setsockopt
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
-{
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char setsockopt ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_setsockopt) || defined (__stub___setsockopt)
-choke me
-#else
-char (*f) () = setsockopt;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
+char gethostent ();
int
main ()
{
-return f != setsockopt;
+gethostent ();
;
return 0;
}
@@ -26275,30 +26195,18 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_func_setsockopt=yes
+ ac_cv_search_gethostent="none required"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_setsockopt=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_setsockopt" >&5
-echo "${ECHO_T}$ac_cv_func_setsockopt" >&6
-if test $ac_cv_func_setsockopt = yes; then
- :
-else
-
-echo "$as_me:$LINENO: checking for setsockopt in -lsocket" >&5
-echo $ECHO_N "checking for setsockopt in -lsocket... $ECHO_C" >&6
-if test "${ac_cv_lib_socket_setsockopt+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+if test "$ac_cv_search_gethostent" = no; then
+ for ac_lib in nsl; do
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -26311,11 +26219,11 @@ extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char setsockopt ();
+char gethostent ();
int
main ()
{
-setsockopt ();
+gethostent ();
;
return 0;
}
@@ -26342,82 +26250,51 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_lib_socket_setsockopt=yes
+ ac_cv_search_gethostent="-l$ac_lib"
+break
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_socket_setsockopt=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+ done
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_setsockopt" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_setsockopt" >&6
-if test $ac_cv_lib_socket_setsockopt = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSOCKET 1
-_ACEOF
-
- LIBS="-lsocket $LIBS"
-
+LIBS=$ac_func_search_save_LIBS
fi
+echo "$as_me:$LINENO: result: $ac_cv_search_gethostent" >&5
+echo "${ECHO_T}$ac_cv_search_gethostent" >&6
+if test "$ac_cv_search_gethostent" != no; then
+ test "$ac_cv_search_gethostent" = "none required" || LIBS="$ac_cv_search_gethostent $LIBS"
fi
-echo "$as_me:$LINENO: checking for setsockopt" >&5
-echo $ECHO_N "checking for setsockopt... $ECHO_C" >&6
-if test "${ac_cv_func_setsockopt+set}" = set; then
+echo "$as_me:$LINENO: checking for library containing setsockopt" >&5
+echo $ECHO_N "checking for library containing setsockopt... $ECHO_C" >&6
+if test "${ac_cv_search_setsockopt+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_func_search_save_LIBS=$LIBS
+ac_cv_search_setsockopt=no
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Define setsockopt to an innocuous variant, in case declares setsockopt.
- For example, HP-UX 11i declares gettimeofday. */
-#define setsockopt innocuous_setsockopt
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char setsockopt (); below.
- Prefer to if __STDC__ is defined, since
- exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-
-#undef setsockopt
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
-{
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char setsockopt ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_setsockopt) || defined (__stub___setsockopt)
-choke me
-#else
-char (*f) () = setsockopt;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
int
main ()
{
-return f != setsockopt;
+setsockopt ();
;
return 0;
}
@@ -26444,30 +26321,18 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_func_setsockopt=yes
+ ac_cv_search_setsockopt="none required"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_setsockopt=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_setsockopt" >&5
-echo "${ECHO_T}$ac_cv_func_setsockopt" >&6
-if test $ac_cv_func_setsockopt = yes; then
- :
-else
-
-echo "$as_me:$LINENO: checking for setsockopt in -lnet" >&5
-echo $ECHO_N "checking for setsockopt in -lnet... $ECHO_C" >&6
-if test "${ac_cv_lib_net_setsockopt+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnet $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+if test "$ac_cv_search_setsockopt" = no; then
+ for ac_lib in socket net; do
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -26511,82 +26376,51 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_lib_net_setsockopt=yes
+ ac_cv_search_setsockopt="-l$ac_lib"
+break
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_net_setsockopt=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+ done
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_net_setsockopt" >&5
-echo "${ECHO_T}$ac_cv_lib_net_setsockopt" >&6
-if test $ac_cv_lib_net_setsockopt = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBNET 1
-_ACEOF
-
- LIBS="-lnet $LIBS"
-
+LIBS=$ac_func_search_save_LIBS
fi
+echo "$as_me:$LINENO: result: $ac_cv_search_setsockopt" >&5
+echo "${ECHO_T}$ac_cv_search_setsockopt" >&6
+if test "$ac_cv_search_setsockopt" != no; then
+ test "$ac_cv_search_setsockopt" = "none required" || LIBS="$ac_cv_search_setsockopt $LIBS"
fi
-echo "$as_me:$LINENO: checking for connect" >&5
-echo $ECHO_N "checking for connect... $ECHO_C" >&6
-if test "${ac_cv_func_connect+set}" = set; then
+echo "$as_me:$LINENO: checking for library containing connect" >&5
+echo $ECHO_N "checking for library containing connect... $ECHO_C" >&6
+if test "${ac_cv_search_connect+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_func_search_save_LIBS=$LIBS
+ac_cv_search_connect=no
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Define connect to an innocuous variant, in case declares connect.
- For example, HP-UX 11i declares gettimeofday. */
-#define connect innocuous_connect
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char connect (); below.
- Prefer to if __STDC__ is defined, since
- exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-
-#undef connect
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
-{
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char connect ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_connect) || defined (__stub___connect)
-choke me
-#else
-char (*f) () = connect;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
int
main ()
{
-return f != connect;
+connect ();
;
return 0;
}
@@ -26613,30 +26447,18 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_func_connect=yes
+ ac_cv_search_connect="none required"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_connect=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
-echo "${ECHO_T}$ac_cv_func_connect" >&6
-if test $ac_cv_func_connect = yes; then
- :
-else
-
-echo "$as_me:$LINENO: checking for connect in -linet" >&5
-echo $ECHO_N "checking for connect in -linet... $ECHO_C" >&6
-if test "${ac_cv_lib_inet_connect+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-linet $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+if test "$ac_cv_search_connect" = no; then
+ for ac_lib in inet; do
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -26680,27 +26502,23 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_lib_inet_connect=yes
+ ac_cv_search_connect="-l$ac_lib"
+break
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_inet_connect=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+ done
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_inet_connect" >&5
-echo "${ECHO_T}$ac_cv_lib_inet_connect" >&6
-if test $ac_cv_lib_inet_connect = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBINET 1
-_ACEOF
-
- LIBS="-linet $LIBS"
-
+LIBS=$ac_func_search_save_LIBS
fi
+echo "$as_me:$LINENO: result: $ac_cv_search_connect" >&5
+echo "${ECHO_T}$ac_cv_search_connect" >&6
+if test "$ac_cv_search_connect" != no; then
+ test "$ac_cv_search_connect" = "none required" || LIBS="$ac_cv_search_connect $LIBS"
fi
@@ -26708,7 +26526,7 @@ fi
echo "$as_me:$LINENO: checking for type of socket length (socklen_t)" >&5
echo $ECHO_N "checking for type of socket length (socklen_t)... $ECHO_C" >&6
cat > conftest.$ac_ext <
@@ -26719,7 +26537,7 @@ int main(void) {
(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)
; return 0; }
EOF
-if { (eval echo configure:26722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:26540: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
rm -rf conftest*
echo "$as_me:$LINENO: result: socklen_t *" >&5
@@ -26731,7 +26549,7 @@ else
rm -rf conftest*
cat > conftest.$ac_ext <
@@ -26742,7 +26560,7 @@ int main(void) {
(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)
; return 0; }
EOF
-if { (eval echo configure:26745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:26563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
rm -rf conftest*
echo "$as_me:$LINENO: result: size_t *" >&5
@@ -26754,7 +26572,7 @@ else
rm -rf conftest*
cat > conftest.$ac_ext <
@@ -26765,7 +26583,7 @@ int main(void) {
(void)getsockopt (1, 1, 1, NULL, (int *)NULL)
; return 0; }
EOF
-if { (eval echo configure:26768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:26586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
rm -rf conftest*
echo "$as_me:$LINENO: result: int *" >&5
@@ -27529,7 +27347,7 @@ RDL_LIBS=""
if test "${GCC}" != "yes" ; then
case "${host}" in
- *-*-hpux* )
+ hppa*-*-hpux* )
CFLAGS="${CFLAGS} -Wp,-H30000"
;;
*-dec-osf* )
@@ -27777,8 +27595,101 @@ fi
;;
*)
- MODULE_EXTENSION=".so"
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+ echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+if test "${ac_cv_func_shl_load+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define shl_load to an innocuous variant, in case declares shl_load.
+ For example, HP-UX 11i declares gettimeofday. */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load (); below.
+ Prefer to if __STDC__ is defined, since
+ exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include
+#else
+# include
+#endif
+
+#undef shl_load
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+char (*f) () = shl_load;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != shl_load;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_shl_load=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_shl_load=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+if test $ac_cv_func_shl_load = yes; then
+ libxml_have_shl_load=yes
+else
+
+ echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -27844,18 +27755,105 @@ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
if test $ac_cv_lib_dld_shl_load = yes; then
- WITH_MODULES=1
- MODULE_PLATFORM_LIBS="-ldld"
+ MODULE_PLATFORM_LIBS="-ldld"
+ libxml_have_shl_load=yes
+else
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHLLOAD
+ echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+if test "${ac_cv_func_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define dlopen to an innocuous variant, in case declares dlopen.
+ For example, HP-UX 11i declares gettimeofday. */
+#define dlopen innocuous_dlopen
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen (); below.
+ Prefer to if __STDC__ is defined, since
+ exists even on freestanding compilers. */
-fi
+#ifdef __STDC__
+# include
+#else
+# include
+#endif
+#undef dlopen
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_dlopen) || defined (__stub___dlopen)
+choke me
+#else
+char (*f) () = dlopen;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != dlopen;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+if test $ac_cv_func_dlopen = yes; then
+ libxml_have_dlopen=yes
+else
+
+ echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -27921,16 +27919,44 @@ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
if test $ac_cv_lib_dl_dlopen = yes; then
+ MODULE_PLATFORM_LIBS="-ldl"
+ libxml_have_dlopen=yes
+fi
+
+fi
+
+fi
+
+fi
+
+
+ if test "${libxml_have_shl_load}" = "yes"; then
+ MODULE_EXTENSION=".sl"
WITH_MODULES=1
- MODULE_PLATFORM_LIBS="-ldl"
cat >>confdefs.h <<\_ACEOF
-#define HAVE_DLOPEN
+#define HAVE_SHLLOAD
_ACEOF
+ fi
-fi
+ if test "${libxml_have_dlopen}" = "yes"; then
+ case "${host}" in
+ *-*-hpux* )
+ MODULE_EXTENSION=".sl"
+ ;;
+ * )
+ MODULE_EXTENSION=".so"
+ ;;
+ esac
+ WITH_MODULES=1
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DLOPEN
+_ACEOF
+
+ fi
;;
esac
fi
@@ -31039,3 +31065,4 @@ fi
chmod +x xml2-config python/setup.py
+echo Done configuring
diff --git a/configure.in b/configure.in
index 6119d61..253b63a 100644
--- a/configure.in
+++ b/configure.in
@@ -5,7 +5,7 @@ AC_CANONICAL_HOST
LIBXML_MAJOR_VERSION=2
LIBXML_MINOR_VERSION=6
-LIBXML_MICRO_VERSION=22
+LIBXML_MICRO_VERSION=23
LIBXML_MICRO_VERSION_SUFFIX=
LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
@@ -50,8 +50,6 @@ test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
-# AM_MAINTAINER_MODE
-
dnl
dnl We process the AC_ARG_WITH first so that later we can modify
dnl some of them to try to prevent impossible combinations. This
@@ -432,11 +430,31 @@ dnl Checking the standard string functions availability
AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
NEED_TRIO=1)
+dnl Checking for va_copy availability
+AC_MSG_CHECKING([for va_copy])
+AC_TRY_LINK([#include
+va_list ap1,ap2;], [va_copy(ap1,ap2);],
+have_va_copy=yes,
+have_va_copy=no)
+AC_MSG_RESULT($have_va_copy)
+if test x"$have_va_copy" = x"yes"; then
+ AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
+else
+ AC_MSG_CHECKING([for __va_copy])
+ AC_TRY_LINK([#include
+ va_list ap1,ap2;], [__va_copy(ap1,ap2);],
+ have___va_copy=yes,
+ have___va_copy=no)
+ AC_MSG_RESULT($have___va_copy)
+ if test x"$have___va_copy" = x"yes"; then
+ AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
+ fi
+fi
+
dnl Checks for inet libraries:
-AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
-AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
-AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(net, setsockopt))
-AC_CHECK_FUNC(connect, , AC_CHECK_LIB(inet, connect))
+AC_SEARCH_LIBS(gethostent, [nsl])
+AC_SEARCH_LIBS(setsockopt, [socket net])
+AC_SEARCH_LIBS(connect, [inet])
dnl Determine what socket length (socklen_t) data type is
AC_MSG_CHECKING([for type of socket length (socklen_t)])
@@ -569,7 +587,7 @@ dnl DEC : Enable NaN/Inf
dnl
if test "${GCC}" != "yes" ; then
case "${host}" in
- *-*-hpux* )
+ hppa*-*-hpux* )
CFLAGS="${CFLAGS} -Wp,-H30000"
;;
*-dec-osf* )
@@ -703,18 +721,34 @@ if test "$with_modules" != "no" ; then
])
;;
*)
- MODULE_EXTENSION=".so"
- AC_CHECK_LIB(dld, shl_load, [
+ AC_CHECK_FUNC(shl_load, libxml_have_shl_load=yes, [
+ AC_CHECK_LIB(dld, shl_load, [
+ MODULE_PLATFORM_LIBS="-ldld"
+ libxml_have_shl_load=yes], [
+ AC_CHECK_FUNC(dlopen, libxml_have_dlopen=yes, [
+ AC_CHECK_LIB(dl, dlopen, [
+ MODULE_PLATFORM_LIBS="-ldl"
+ libxml_have_dlopen=yes])])])])
+
+ if test "${libxml_have_shl_load}" = "yes"; then
+ MODULE_EXTENSION=".sl"
WITH_MODULES=1
- MODULE_PLATFORM_LIBS="-ldld"
AC_DEFINE([HAVE_SHLLOAD], [], [Have shl_load based dso])
- ])
+ fi
- AC_CHECK_LIB(dl, dlopen, [
+ if test "${libxml_have_dlopen}" = "yes"; then
+ case "${host}" in
+ *-*-hpux* )
+ MODULE_EXTENSION=".sl"
+ ;;
+ * )
+ MODULE_EXTENSION=".so"
+ ;;
+ esac
+
WITH_MODULES=1
- MODULE_PLATFORM_LIBS="-ldl"
AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
- ])
+ fi
;;
esac
fi
@@ -1320,3 +1354,4 @@ ln -s Copyright COPYING
AC_OUTPUT(libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py)
chmod +x xml2-config python/setup.py
+echo Done configuring
diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html
index 36b401b..7763664 100644
--- a/doc/APIchunk0.html
+++ b/doc/APIchunk0.html
@@ -73,7 +73,9 @@ A:link, A:visited, A:active { text-decoration: underline }
At this point, the installation subdirectory contains the complete
- "private" include files, library files and binary program files (e.g.
- xmllint), located in
-
/home/user/myxml/xmlinst/lib, /home/user/myxml/xmlinst/include
- and /home/user/myxml/xmlinst/bin
- respectively.
-
In order to use this "private" library, you should first add it
- to the beginning of your default PATH (so that your own private
- program files such as xmllint will be used instead of the normal
- system ones). To do this, the Bash command would be
-
export PATH=/home/user/myxml/xmlinst/bin:$PATH
+ "private" include files, library files and binary program files (e.g.
+ xmllint), located in
+
/home/user/myxml/xmlinst/lib,
+ /home/user/myxml/xmlinst/include and
+ /home/user/myxml/xmlinst/bin
+ respectively.
+
In order to use this "private" library, you should first add it to
+ the beginning of your default PATH (so that your own private program
+ files such as xmllint will be used instead of the normal system
+ ones). To do this, the Bash command would be
+
export PATH=/home/user/myxml/xmlinst/bin:$PATH
+
Now suppose you have a program test1.c that you would
- like to compile with your "private" library. Simply compile it
- using the command
gcc `xml2-config --cflags --libs` -o test
- test.c
Note that, because your PATH has been set with
- /home/user/myxml/xmlinst/bin at the beginning, the
- xml2-config program which you just installed will be used instead of
- the system default one, and this will automatically get the
- correct libraries linked with your program.
+ like to compile with your "private" library. Simply compile it using
+ the command
+
gcc `xml2-config --cflags --libs` -o test test.c
+ Note that, because your PATH has been set with
+ /home/user/myxml/xmlinst/bin at the beginning, the xml2-config
+ program which you just installed will be used instead of the system
+ default one, and this will automatically get the correct
+ libraries linked with your program.
+
+
+
xmlDocDump() generates output on one line.
Libxml2 will not invent spaces in the content of a
document since all spaces in the content of a document are
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 7332659..55c5ef5 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -110,7 +110,6 @@ install-data-local:
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html
-@INSTALL@ -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(HTML_DIR)/html
-@INSTALL@ -m 0644 $(srcdir)/html/*.png $(DESTDIR)$(HTML_DIR)/html
- -@INSTALL@ -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(HTML_DIR)/html
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/tutorial
-@INSTALL@ -m 0644 $(srcdir)/tutorial/*.* \
$(DESTDIR)$(HTML_DIR)/tutorial
diff --git a/doc/Makefile.in b/doc/Makefile.in
index b8b3d34..f80c05f 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -731,7 +731,6 @@ install-data-local:
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html
-@INSTALL@ -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(HTML_DIR)/html
-@INSTALL@ -m 0644 $(srcdir)/html/*.png $(DESTDIR)$(HTML_DIR)/html
- -@INSTALL@ -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(HTML_DIR)/html
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/tutorial
-@INSTALL@ -m 0644 $(srcdir)/tutorial/*.* \
$(DESTDIR)$(HTML_DIR)/tutorial
diff --git a/doc/XMLinfo.html b/doc/XMLinfo.html
index e89bdad..ad43eff 100644
--- a/doc/XMLinfo.html
+++ b/doc/XMLinfo.html
@@ -7,7 +7,7 @@ H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
-XML