Skip to content
  • Daniel Veillard's avatar
    Fix file and line report for XSD SAX and reader streaming validation · 97fa5b3c
    Daniel Veillard authored
    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.
    97fa5b3c