XSD: optional element in complex type extension

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
5 files changed
tree: 1ffa005f813b492430f6680562a316782cf38d89
  1. bakefile/
  2. doc/
  3. example/
  4. include/
  5. macos/
  6. optim/
  7. python/
  8. result/
  9. test/
  10. vms/
  11. VxWorks/
  12. win32/
  13. xstc/
  14. .cvsignore
  15. .gitignore
  16. acinclude.m4
  17. AUTHORS
  18. autogen.sh
  19. build_glob.py
  20. c14n.c
  21. catalog.c
  22. ChangeLog
  23. check-relaxng-test-suite.py
  24. check-relaxng-test-suite2.py
  25. check-xinclude-test-suite.py
  26. check-xml-test-suite.py
  27. check-xsddata-test-suite.py
  28. chvalid.c
  29. chvalid.def
  30. configure.in
  31. Copyright
  32. dbgen.pl
  33. dbgenattr.pl
  34. debugXML.c
  35. dict.c
  36. DOCBparser.c
  37. elfgcchack.h
  38. encoding.c
  39. entities.c
  40. error.c
  41. genChRanges.py
  42. gentest.py
  43. genUnicode.py
  44. global.data
  45. globals.c
  46. HACKING
  47. hash.c
  48. HTMLparser.c
  49. HTMLtree.c
  50. INSTALL.libxml2
  51. legacy.c
  52. libxml-2.0-uninstalled.pc.in
  53. libxml-2.0.pc.in
  54. libxml.3
  55. libxml.h
  56. libxml.m4
  57. libxml.spec.in
  58. libxml2.doap
  59. libxml2.syms
  60. list.c
  61. MAINTAINERS
  62. Makefile.am
  63. Makefile.tests
  64. Makefile.win
  65. nanoftp.c
  66. nanohttp.c
  67. NEWS
  68. parser.c
  69. parserInternals.c
  70. pattern.c
  71. README
  72. README.cvs-commits
  73. README.tests
  74. regressions.py
  75. regressions.xml
  76. relaxng.c
  77. rngparser.c
  78. runsuite.c
  79. runtest.c
  80. runxmlconf.c
  81. SAX.c
  82. SAX2.c
  83. schematron.c
  84. testapi.c
  85. testAutomata.c
  86. testC14N.c
  87. testchar.c
  88. testdict.c
  89. testdso.c
  90. testHTML.c
  91. testModule.c
  92. testOOM.c
  93. testOOMlib.c
  94. testOOMlib.h
  95. testReader.c
  96. testrecurse.c
  97. testRegexp.c
  98. testRelax.c
  99. testSAX.c
  100. testSchemas.c
  101. testThreads.c
  102. testThreadsWin32.c
  103. testURI.c
  104. testXPath.c
  105. threads.c
  106. TODO
  107. TODO_SCHEMAS
  108. tree.c
  109. trio.c
  110. trio.h
  111. triodef.h
  112. trionan.c
  113. trionan.h
  114. triop.h
  115. triostr.c
  116. triostr.h
  117. uri.c
  118. valid.c
  119. xinclude.c
  120. xlink.c
  121. xml2-config.1
  122. xml2-config.in
  123. xml2Conf.sh.in
  124. xmlcatalog.c
  125. xmlIO.c
  126. xmllint.c
  127. xmlmemory.c
  128. xmlmodule.c
  129. xmlreader.c
  130. xmlregexp.c
  131. xmlsave.c
  132. xmlschemas.c
  133. xmlschemastypes.c
  134. xmlstring.c
  135. xmlunicode.c
  136. xmlwriter.c
  137. xpath.c
  138. xpointer.c
  139. xzlib.c
  140. xzlib.h