/*******************************************************************************
/
/	File:			XMLValidation.h
/
/   Description:    The XMLParse function knows how to read in an xml document
/					or fragment.  But if the validation has to happen, somebody
/					has to do it.  However, it is really easy to have an
/					intermediate state that is not valid.  So it is impractical
/					to put the xml parse tree into a "valid mode".  That would
/					also be bad because each modification could cause an entire
/					revalidation, which is sub-optimal.  We could do some sort
/					of smart optimizations, but I don't think it's worth it.
/					
/					So the way XML Validation works in the BeOS now is the
/					following:
/						- Build your XML hierarchy, either through parsing
/						  or just by creating it
/						- Call the XMLValidate function on your parse tree.
/						- If you want to have an officially approved XML 1.0
/						  validated document, you should validate the
/						  BDocument.
/
/	Copyright 2000, Be Incorporated, All Rights Reserved
/
*******************************************************************************/
#ifndef _XMLVALIDATION_H
#define _XMLVALIDATION_H

#include <XMLDefs.h>

// Force is true if you want it to delete things that are problems
// If force is false, it fails with an error code
status_t	XMLValidate(BDocument * doc, bool force = false);

#endif // _XMLVALIDATION_H
