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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Recently I have run into the very same problem Tiberius Duluman did back in
Wed, 13 May 2009 15:56:55 +0300 ([xml] Bug in xmlSchemaValidateOneElement
function). Now I can proof now that his problem is a valid problem. I checked
the latest available version of xmlschemas.c (2.9.0.) and the problem is still
there!
I think I have found a solution to the problem which I'd like proof with you:
My quick solution to the problem is to replace line 27849 in
xmlschemas.c
(v2.9.0.) in function xmlSchemaVDocWalk
valRoot = xmlDocGetRootElement(vctxt->doc);
with this one:
valRoot = vctxt->validationRoot ? vctxt->validationRoot : xmlDocGetRootElement(vctxt->doc);
Currently I'm using version 2.7.8. in Windows and this change seems to solve
the problem.
Based on Thomas Gamper <icicle@cg.tuwien.ac.at> findings and
initial patch
There is no point doing a regexp validation of further
content if there actually is no further content because the
element is nilled.
When generating a sequence add an extra epsilon transition
to avoid further constructs from entering via the last state
Bug reported by Johan Corveleyn <jcorvel@gmail.com>
Things now work correctly at the xmllint level:
thinkpad:~/XML -> xmllint --sax --noout --schema test_schema.xsd
test_xml.xml
test_xml.xml:72721: Schemas validity error : Element 'level1': Missing
child element(s). Expected is ( level2 ).
test_xml.xml fails to validate
thinkpad:~/XML -> xmllint --stream --schema test_schema.xsd test_xml.xml
test_xml.xml:72721: Schemas validity error : Element 'level1': Missing
child element(s). Expected is ( level2 ).
test_xml.xml fails to validate
thinkpad:~/XML ->
* error.c: fix a corner case of not reporting lines when we should
* include/libxml/xmlschemas.h doc/symbols.xml: had to add new entry
points to set the filename on a validation context and a locator
callback used to fetch the line and file from the context
* xmlschemas.c: add the new entry points xmlSchemaValidateSetFilename()
and xmlSchemaValidateSetLocator(), plus make sure the error reporting
routine gets the information if available. Add a locator for SAX.
* xmlreader.c: add and plug a locator for readers.
For https://bugzilla.gnome.org/show_bug.cgi?id=609796
Libxml2 fails to validate an instance document against a schema if an element
whose type is a complex extension of some base type with an optional child
element and that child element is not specified in the instance document. For
example, suppose I have some complex type BaseType that is defined to have one
child element in a sequence group that has minOccurs set to 0
* 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)
* xmlschemas.c: when a particle need to be processed via counted
transition, if the group is nillable, the counting won't work, so
keep track of nillable subset as they are built and generate the
appropriate epsilon transitions as needed
* test/schemas/579746* result/schemas/579746*: add related test cases
based on the bug report
* xmlschemas.c: apparently we though it allowed any of the sub elements
to be missing, and probably not what's expected from the spec, though
it used to forbid it c.f.:
http://lists.xml.org/archives/xml-dev/200109/msg00512.html
asking HT for confirmation but it's likely that we were wrong on the
semantic
* result/schemas/all_1_[367]*: this changes the output of soem of our
internal regression tests
* xmlschemas.c: When validating a schema that includes the same file
that has no targetNamespace defined an internal erro was thrown,
depending on the orig namespace that should be allowed though
* test/schemas/582906-* result/schemas/582906-*: 2 tests case, one
where this is allowed, and one where this is forbidden
* xmlschemas.c: fixes the problem faced when importing the same schemas
multiple times but from different places which is allowed
* test/schemas/582887* result/schemas/582887*: adding the specific test
to the regressions
* Makefile.am: add the testchar to 'make check'
* xmlschemas.c: Volker Grabsch pointed out a typo
* xmlregexp.c: production [19] from XML Schemas regexps were a
mistake removed in version REC-xmlschema-2-20041028, Volker Grabsch
provided a patch to remove it
* test/schemas/regexp-char-ref_0.xml test/schemas/regexp-char-ref_0.xsd
test/schemas/regexp-char-ref_1.xsd result/schemas/regexp-char-ref_0_0
result/schemas/regexp-char-ref_1_0: Volker Grabsch also provided
regession tests for this
Daniel
svn path=/trunk/; revision=3776
* xmlschemas.c runtest.c testapi.c include/libxml/xmlreader.h
python/types.c python/libxml_wrap.h python/libxml.c: fx compilation
when configured without the reader should fix#513110
* doc/*: regenerated
Daniel
svn path=/trunk/; revision=3743
* include/libxml/xmlschemas.h xmlschemas.c: added new function
xmlSchemaValidCtxtGetParserCtxt based on Holger Kaelberer patch
* doc/apibuild.py doc/*: regenerated the doc, chased why the new
function didn't got any documentation, added more checking in the
generator
* include/libxml/relaxng.h include/libxml/schematron.h
include/libxml/xmlschemas.h include/libxml/c14n.h
include/libxml/xmlregexp.h include/libxml/globals.h
include/libxml/xmlreader.h threads.c xmlschemas.c: various changes
and cleanups following the new reports
Daniel
svn path=/trunk/; revision=3738
* schemas.c: apply fix suggested by Ashwin correcting a cut-n-paste
error about the SAX callback in cdataBlockSplit when streaming
XSD validation
Daniel
svn path=/trunk/; revision=3684
* xmlschemas.c test/schemas/*455953* result/schemas/bug455953*:
applied patch from Frank Gross fixing Schemas IDC import bug
#455953 and also add the test to the regression suite
Daniel
svn path=/trunk/; revision=3652
* xmlschemas.c: fixed problem with referenced attribute groups
(bug #417621)
* configure.in: re-ordered some includes for types.h / socket.h
(bug 416001)
svn path=/trunk/; revision=3590
* xmlschemas.c: While investigating bug #350247, I noticed
that xmlSchemaIDCMatcher structs are massively recreated
although only a maximum of 3 structs is used at the same
time; added a cache for those structures to the
validation context.
* xmlschemas.c: Fixed bug #347316, reported by David Belius:
The simple type, which was the content type definition
of a complex type, which in turn was the base type of a
extending complex type, was missed to be set on this
extending complex type in the derivation machinery.
* xmlschemas.c: A warning will now be reported in the value of
the XSD attribute 'schemaLocation' does not consist of tuples
(namespace-name, document-URI). A warning will be reported
if a schema document could not be found at the specified
location (via 'schemaLocation' or
'noNamespaceSchemaLocation').
* include/libxml/xmlerror.h: Added XML_SCHEMAV_MISC to
xmlParserErrors.
* xmlschemas.c: Fixed bug #341337, reported by David Grohmann.
The code expected a node (xmlNodePtr) on the info for a
non-existent default attribute, which clearly cannot be
expected, since the attribute does not exist. I can only
guess that this sneaked trying to eliminate the query
for the owner-element, which is unavoidable actually.
Note that creation of default attributes won't have an
effect if validating via SAX/XMLReader; i.e., the processor
won't fire additional start-attribute events (I'm not even
sure if Libxml2 has such a SAX-event; I think it hands them
all over in the start-element event).
* xmlschemas.c: Fixed bug #341150, reported by Michael Romer.
In xmlSchemaBuildContentModelForSubstGroup(),
xmlAutomataNewOnceTrans2() was incorrectly used instead of
xmlAutomataNewTransition2() to mimic a xs:choice for
substitution-groups.
* test/schemas/subst-group-1_1.xsd
test/schemas/subst-group-1_0.xml
result/schemas/subst-group-1_0_1
result/schemas/subst-group-1_0_1.err: Added regression test
supplied by Michael Romer for bug #341150.
* xmlschemas.c: We'll raise an internal error and stop
validation now when an entity is found in the instance
document, since we don't support automatic entity
substitution by the schema processor (yet?) -
see bug #340316, reported by Nick Wellnhofer.