/*
 * The main parser entry point
 *
*/
ClRcT clParseXML(ClCharT *pPath,const ClCharT *pFileName,ClParserDataT *pData)
{
    ClRcT rc = CL_OK;
    ClParserPtrT root;

    rc = CL_PARSER_RC(CL_ERR_INVALID_PARAMETER);
    if(pFileName == NULL || pData == NULL)
    {
        clLogError(PARSER_LOG_AREA_PARSER,PARSER_LOG_CTX_XML,"Invalid parameter\n");
        goto out;
    }
    if(pPath == NULL)
    {
        pPath = getenv("ASP_CONFIG");
        if(pPath == NULL)
        {
            clLogError(PARSER_LOG_AREA_PARSER,PARSER_LOG_CTX_XML,"Please export ASP_CONFIG\n");
            goto out;
        }
    }

    /*Start the parse*/
    root = clParserOpenFile(pPath,pFileName);
    if(root == NULL)
    {
        clLogInfo(PARSER_LOG_AREA_PARSER,PARSER_LOG_CTX_XML,"Opening xml configuration file [%s] failed",
                                       pFileName);
        goto out;
    }
    rc = clParseChild(NULL,root,pData,NULL);
    CL_PARSER_RESULT(pData,rc,out_free);

    out_free:
    clParserFree(root);

    out:
    return rc;
}
	ClRcT			ret_code = CL_OK;

    if (file_path == NULL || file_name == NULL || subsystem_name == NULL  || 
	    test_case_name == NULL || param_list == NULL)
    { 
        CL_DEBUG_PRINT(CL_DEBUG_ERROR, ("clTcParseConfigFile: NULL pointer input argument \
		       							path=%s name=%s list=%p\n subsyetm=%s test_case=%s\n",
			   							file_path, file_name, (ClPtrT)param_list, 
			   							subsystem_name, test_case_name));
        
        return CL_ERR_NULL_POINTER;
    }


    file_ptr = clParserOpenFile(file_path, file_name);
    if (file_ptr == NULL)
    {
        CL_DEBUG_PRINT(CL_DEBUG_ERROR, ("clTcParseConfigFile: Error opening config file \
			   							(path=%s name=%s). "\
                                        "Trying ASP_CONFIG path\n",
			   							file_path, file_name));
        file_path = getenv("ASP_CONFIG");
        if(!file_path)
        {
            return CL_ERR_NULL_POINTER;
        }
        else
        {
            file_ptr = clParserOpenFile(file_path, file_name);
            if(!file_ptr)