Uma função PL/SQL simples para verificar se o XML está com as tags corretamente fechadas. Retorna 1 em caso positivo e 0 caso o XML tenha algum erro. Para ter um detalhe melhor do erro pode printar o SQLERRM no exception when others.
FUNCTION isXML(
i_xml CLOB)
RETURN NUMBER
AS
xml XMLTYPE;
BEGIN
xml := XMLTYPE(i_xml);
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;