IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
When including a grammar from another grammar, we need to make sure that any
redefines of starts and includes that that grammar does inside any of its
include elements are also removed.
The pattern nameClass allows for nested choice elements, for example
<name>
<choice>
<choice>
<name>a</name>
<name>b</name>
</choice>
<name>c</name>
</choice>
</name>
which is semantically equivalent to
<name>
<choice>
<name>a</name>
<name>b</name>
<name>c</name>
</choice>
</name>
The old code didn’t handle this correctly, as it never expected a choice inside
another choice. This patch fixes this by flattening any nested choices.
This pattern of nested choice elements comes up in RELAX NG simplification,
where all choice elements are rewritten in this nested manner, see section 4.12
of the RELAX NG specification.
RELAX NG allows for div elements inside of include elements. We need to look
inside those div elements for start and define elements that may be redefining
start and define elements in the included grammar.
Reported in https://mail.gnome.org/archives/xml/2018-October/msg00003.html
The issue seems to be that we build groups of what can be matched by
the interleave, but that these groups don’t include data, list,
and value elements, only element and text elements. This patch
extends xmlRelaxNGGetElements so that it can return these elements
for us in xmlRelaxNGComputeInterleaves. Then we make sure to
updatexmlRelaxNGNodeMatchesList as well so that it accepts the correct
types.
Make sure that all parameters and return values of hash callback
functions exactly match the callback function type. This is required
to pass clang's Control Flow Integrity checks and to allow compilation
to asm.js with Emscripten.
Fixes bug 784861.
On 64-bit Windows, `long` is 32 bits wide and can't hold a pointer.
Switch to ptrdiff_t instead which should be the same size as a pointer
on every somewhat sane platform without requiring C99 types like
intptr_t.
Fixes bug 788312.
Thanks to J. Peter Mugaas for the report and initial patch.
When overriding during include, children of the root
node are scanned. But the root node was gotten with
doc->children, instead of xmlDocGetRootElement.
Sun Studio 11 was failing to compile relaxng.c due to a type mismatch
in a ternary operator used to provide an argument to xmlRngPErr. It
seems that sos11 cc is more pedantic about this part of the C99
standard. GCC issues a warning but doesn't fail by default.
After casting the string literal "nothing" to (const xmlChar *) sos11
cc is happy. GCC no longer issues a warning either.
Another warning was cleaned up with an identical cast.
* relaxng.c: refs definitions added from inported schemas should not
be processed as refs from the main schemas
* test/relaxng/595792* result/relaxng/595792*: add the test to the
regression suite
* SAX2.c dict.c error.c hash.c nanohttp.c parser.c python/libxml.c
relaxng.c runtest.c tree.c valid.c xinclude.c xmlregexp.c xmlsave.c
xmlschemas.c xpath.c xpointer.c: mostly removing unneded affectations,
but this led to a few real bugs and some part not yet understood
(relaxng/interleave)
* relaxng.c xmlregexp.c: a subtle problem when checking for compileable
content model, if using the same elements in cases of choices. Handled
by adding a special flag to the regexp compilation to detect
transitions with different atoms using same strings.
* test/relaxng/492317* result/relaxng/492317*: add the test to the
regression suite
* relaxng.c: tiny fix and provide more context on some errors
* result/relaxng/558452_0* test/relaxng/558452*: add some regression
tests for the bugs
* Makefile.am runtest.c: fight with the fact streaming error messages
can differ due to missing node context
* ChangeLog: patch from Hans de Goede to switch the file to UTF-8
* doc/news.xsl: switch to generate the NEWS file in UTF-8 instead of
ISO-8859-1
Daniel
svn path=/trunk/; revision=3745
* relaxng.c: trying to fix#331062, this is again a problem
around interleave, there is no good fix unless reimplementing
but this works around some cases and allow to validate in that
case.
Daniel
* 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.
Daniel
* relaxng.c: real fix for #314881 and #314759 is was a bit more complex
than initially expected as ctxt->error == NULL had behaviour side
effects at the compilation level itself.
Daniel