* error.c relaxng.c xmlreader.c xmlschemas.c include/libxml/relaxng.h
include/libxml/xmlschemas.h: applied patch from Marcus Boerger
to route relaxng and schemas error messages when using the reader
through the structured interface if activated.
* elfgcchack.h doc/* testapi.c: rebuilt since this add new APIs
to test.
Daniel
* xstc/Makefile.am README README.tests Makefile.tests Makefile.am:
preparing to make testsuite releases along with code source releases
* gentest.py testapi.c: fixed a couple of problem introduced by
the new Schemas support for Readers
* xpath.c: fixed the XPath attribute:: bug #309580, #309864 in a crude
but simple way.
* xmlschemas.c include/libxml/tree.h: fixed a couple of problems
raised by the doc builder.
* doc/*: made rebuild
Daniel
* doc/xmllint.1 doc/xmllint.html doc/xmllint.xml: fixed a typo
pointed by Jeroen Ruigrok
* include/libxml/xmlreader.h include/libxml/xmlschemas.h: increased
the APIs for xmlReader schemas validation support
* xmllint.c xmlreader.c xmlschemas.c: xmlReader schemas validation
implementation and testing as xmllint --stream --schema ...
Daniel
* parser.c: fix for #309761 from Dylan Shell
* xmlschemas.c include/libxml/xmlschemas.h: added xmlSchemaSAXPlug
and xmlSchemaSAXUnplug generic APIs for SAX Schemas validation.
* xmllint.c: couple of fixes plus added descriptions for --sax and
--sax1
Daniel
* testapi.c tree.c: fixing a leak detected by testapi in
xmlDOMWrapAdoptNode, and fixing another side effect in testapi
seems to pass tests fine now.
* include/libxml/parser.h parser.c: xmlStopParser() is no more limited
to push mode
* error.c: remove a warning
* runtest.c xmllint.c: avoid compilation errors if only some parts
of the library are compiled in.
Daniel
* tree.c include/libxml/tree.h: Added
xmlDOMWrapReconcileNamespaces(), xmlDOMWrapAdoptNode() and
xmlDOMWrapRemoveNode() to the API. These are functions intended
to be used with DOM-wrappers.
* include/libxml/valid.h valid.c: avoid name glob in agruments as
it matches the glob() routine.
* runtest.c Makefile.am: first steps toward a C regression test
framework.
Daniel
* pattern.c, xpath.c, include/libxml/pattern.h: Further
enhancement for XPath streaming, consolidated with
schemas usage of pattern.c. Added a new enum
xmlPatternFlags.
* doc/*, testapi.c, elfgcchack.h: updated to reflect new
enum.
* test/XPath/tests/mixedpat, test/XPath/docs/mixed,
result/XPath/mixedpat: added regression test for problems
reported in bug306348
* xmlschemas.c xmlschemastypes.c include/libxml/schemasInternals.h
include/libxml/xmlschemastypes.h: Changed the validation process
to be able to work in streaming mode. Some datatype fixes,
especially for list and union types. Due to the changes the
error report output has changed in most cases. Initial migration to
functions usable by both, the parser and the validator. This should
ease a yet-to-come XS construction API in the long term as well.
* xmlschemas.c: Added output of canonical values in
identity-constraint error messages.
* xmlschemastypes.c include/libxml/xmlschemastypes.h:
Added xmlSchemaGetCanonValueWhtsp() to the API.
Further enhancement of the canonical value
conversion.
* test/schemas/changelog093_0.*: Added test with an XSD
submitted by Randy J. Ray.
* xmlschemas.c: Added "Particle correct 2" to parsing of model groups.
Added handling substitution groups inside <choice> and <sequence>;
for <all> this is not supported yet. Changed circular checks for
model groups definitions. "memberTypes" are processed at different
levels now: component resolution first, construction later; this
goes hand in hand with a global change to handle component
resolution in a distinct phase. Fixed invalid default values for
elements to mark the schema as invalid; this just resulted in an
error report previously, but the schema was handled as valid.
Separated the assignment of the model groups to referencing
model group definition references (i.e. particles); this was
needed to perform the circularity check for model group definitions.
Added "Element Declaration Properties Correct (e-props-correct)"
constraints. Separated component resolution for simple/complex
types.
* include/libxml/schemasInternals.h: Added a flag for substitution
group heads.
* xmlschemas.c include/libxml/schemasInternals.h
result/schemas/src-element2-*.err result/schemas/element-*.err:
Committing again, since the CVS server aborted.
* xmlschemas.c xmlschemastypes.c include/libxml/xmlschemastypes.h:
Hopefully finished validation against facets to use the normalized
value of both, the facets and instance values. Added
xmlSchemaValidateLengthFacetWhtsp(), xmlSchemaValidateFacetWhtsp()
and xmlSchemaGetValType() to the schema API.
* xmlschemastypes.c xmlschemastypes.h: In preparation to use
normalized values of facets during validation: changed the
arguments of some string comparison functions; added a static
xmlSchemaValidateFacetInternal() with more arguments to be
more flexible. Prepared XML_SCHEMA_FACET_ENUMERATION validation
to use the comparison functions. Fixed some assignments in
xmlSchemaValAtomicType(): total digit count, lo, mi, hi.
* include/libxml/hash.h libxml.h libxml.spec.in: some gcc4 portability
patches, including a serious aliasing bug exposed in s390
when trying to convert data pointer to code pointer.
Daniel
* xmlschemas.c: Enabled IDC parsing and validation.
* xmlschemastypes.c include/libxml/xmlschemastypes.h:
Added xmlSchemaCopyValue to the API; this was done due to
validation of default attributes against IDCs: since IDC keys
consume the precomputed value, one needs a copy.
* pattern.c: Enabled IDC support; this is currently done
via calling xmlPatterncompile with a flag arg of 1.
* xmlreader.c include/libxml/xmlreader.h: applied patch from
Aron Stansvik to add xmlTextReaderByteConsumed()
* testReader.c: added a test option
* xmlschemastypes.c: fix a lack of pointer checking in APIs
Daniel
* xmlschemas.c: Added validation for the attribute "id" in the
schemata; doing this needed error report fixes for notations,
facets and group. Changed NOTATION validation to work with the
declared NOTATIONs in the schema; this does have no impact on
the validation via the relaxng module.
* xmlschemastypes.c include/libxml/xmlschemastypes.h:
Added xmlSchemaNewNOTATIONValue to the API to be able to do
the NOTATION validation described above.
* test/schemas/element-err_0.xsd test/schemas/annot-err_0.xsd:
Fixed the values of the "id" attributes, which were not validated
previously.
* xmlschemas.c: Fixed comparison for default/fixed attribute
values, if the type was 'xsd:string'. Changed the comparison
for IDCs to use the whitespace aware comparison function.
* xmlschemastypes.c include/libxml/xmlschemastypes.h:
Added xmlSchemaGetCanonValue, xmlSchemaNewStringValue and
xmlSchemaCompareValuesWhtsp to the API. Added functions
to compare strings with whitespace combinations of "preserve",
"replace" and "collapse".
* encoding.c: fix the comment to describe the real return values
* pattern.c xpath.c include/libxml/pattern.h: lot of work on
the patterns, pluggin in the XPath default evaluation, but
disabled right now because it's not yet good enough for XSLT.
pattern.h streaming API are likely to be changed to handle
relative and absolute paths in the same expression.
Daniel
* xmlschemas.c: Added IDC evaluation for attribute nodes.
Made 'nil'ed elements work. Added a specific error message
for 'strict' attribute wildcards.
* include/libxml/xmlerror.h: Added an error code for
wildcards.
* result/schemas/anyAttr-processContents-err1_0_0.err: Adapted.
execution time of testapi.c, which was being delayed by
nameserver requests for non-existent URL's. From there it
just sort of grew, and grew....
* nanohttp.c, nanoftp.c: changed the processing of URL's
to use the uri.c routines instead of custom code.
* include/libxml/xmlerror.h: added code XML_FTP_URL_SYNTAX
* uri.c: added accepting ipV6 addresses, in accordance with
RFC's 2732 and 2373 (TODO: allow ipV4 within ipV6)
* gentest.py, testapi.c: fixed a few problems with the
testing of the nanoftp and nanohttp routines.
* include/libxml/xmlversion.h: minor change to fix a
warning on the docs generation
* regenerated the docs
* pattern.c include/libxml/pattern.h xmllint.c: added a
streaming pattern detector for a subset of XPath, should
help Kasimier for identity constraints
* python/generator.py: applied Stephane Bidoul patch to find
paths without breaking.
Daniel
* xmlschemas.c include/libxml/schemasInternals.h:
Added an initial skeleton for indentity-constraints. This is all
defined out, since not complete, plus it needs support from other
modules.
Added machanism to store element information for the
ancestor-or-self axis; this is needed for identity-constraints
and should be helpfull for a future streamable validation.
* include/libxml/xmlerror.h: Added an error code for
identity-constraints.
* testdso.c xmlregexp.c: warning patches from Peter Breitenlohner
* include/libxml/valid.h valid.c parser.c: serious DTD parsing
speedups, start to deprecate 3 ElementDef related entry point
and replace them with better ones.
Daniel
* hash.c include/libxml/hash.h: added xmlHashCreateDict where
the hash reuses the dictionnary for internal strings
* entities.c valid.c parser.c: reuse that new API, leads to a decent
speedup when parsing for example DocBook documents.
Daniel
* dict.c parser.c include/libxml/dict.h: a single lock version
mostly avoid the cost penalty of the lock in case of low
parallelism, so applying that version instead.
Daniel
* xmlschemastypes.c: trying to fix at least the message from
bug #158628
* include/libxml/xmlsave.h xmlsave.c: added first xmlsave option
for format, c.f. bug #159997
Daniel
* include/libxml/schemasInternals.h xmlschemas.c:
Exposed targetNamespace for simple/complex types, model groups,
attribute groups and notations (reported by Michael Hewarth
to the mailing list). Added targetNamespace to xmlSchemaType,
xmlSchemaAttributeGroup and xmlSchemaNotation.
Tiny cosmetic change to the content model error report output.
* result//all_*.err result//any3_0_0.err result//choice_*.err
result//list0_0_1.err result//list0_1_1.err: Adapted output
of regression tests.
* include/libxml/xmlregexp.h xmlregexp.c: extended xmlRegExecErrInfo()
and xmlRegExecNextValues() to return error transition strings too,
and sink state detection and handling.
Daniel
* gentest.py testapi.c: William noticed I forgot to add special
support for xmlmodules.c define
* xmlregexp.c include/libxml/xmlregexp.h: added terminal to
xmlRegExecErrInfo() API, adding new xmlRegExecNextValues()
entry point and refactored to use both code.
Daniel
* parser.c: fixed namespace bug in push mode reported by
Rob Richards
* test/ns6 result//ns6*: added it to the regression tests
* xmlmodule.c testModule.c include/libxml/xmlmodule.h:
added an extra option argument to module opening and defined
a couple of flags to the API.
Daniel
* xmlmodule.c include/libxml/xmlmodule.h: applied patch from
Bjorn Reese, plus some cleanups
* elfgcchack.h doc/elfgcchack.xsl: fixed the stylesheet to
add the new header
* doc/* testapi.c: regenerated the API
Daniel
* configure.in: making DSO support an option
* xmlmodule.c xmlreader.c include/libxml/xmlmodule.h: code
and documentation cleanups
* elfgcchack.h testapi.c doc/*: regenerated the docs and
checks for new module
* test/valid/REC-xml-19980210.xml: fix a small change introduced
previously
Daniel
Synchronized the header files with the library code in order
to assure that all the various conditionals (LIBXML_xxxx_ENABLED)
were the same in both. Modified the API database content to more
accurately reflect the conditionals. Enhanced the generation
of that database. Although there was no substantial change to
any of the library code's logic, a large number of files were
modified to achieve the above, and the configuration script
was enhanced to do some automatic enabling of features (e.g.
--with-xinclude forces --with-xpath). Additionally, all the format
errors discovered by apibuild.py were corrected.
* configure.in: enhanced cross-checking of options
* doc/apibuild.py, doc/elfgcchack.xsl, doc/libxml2-refs.xml,
doc/libxml2-api.xml, gentest.py: changed the usage of the
<cond> element in module descriptions
* elfgcchack.h, testapi.c: regenerated with proper conditionals
* HTMLparser.c, SAX.c, globals.c, tree.c, xmlschemas.c, xpath.c,
testSAX.c: cleaned up conditionals
* include/libxml/[SAX.h, SAX2.h, debugXML.h, encoding.h, entities.h,
hash.h, parser.h, parserInternals.h, schemasInternals.h, tree.h,
valid.h, xlink.h, xmlIO.h, xmlautomata.h, xmlreader.h, xpath.h]:
synchronized the conditionals with the corresponding module code
* doc/examples/tree2.c, doc/examples/xpath1.c, doc/examples/xpath2.c:
added additional conditions required for compilation
* doc/*.html, doc/html/*.html: rebuilt the docs
* dict.c, xpath.c, include/libxml/hash.h: fixed up some gcc warnings,
no change to logic. New macro XML_CAST_FPTR to circumvent gcc
warnings on function pointer <-> object pointer (a hack).
* dict.c include/libxml/dict.h: added xmlDictExists() to the
dictionnary interface.
* xmlreader.c: applying xmlTextReaderHasAttributes fix for namespaces
from Rob Richards
Daniel
* xmlschemas.c: Correct symbol space for 'all' and 'choice'.
* xmlschemastypes.c include/xmlschemastypes.h: Added 'replace'
normalization for 'normalizedString'.
Added xmlSchemaWhiteSpaceReplace to the API.