src/Object/ObjectFactoryHelper.php
public static function getXmlFileWithPath($objectName)
    {
        if (isset(self::$_xmlFileList[$objectName])) {
            return self::$_xmlFileList[$objectName];
        }
        // replace "." with "/"
        $xmlFile = str_replace(".", "/", $objectName);
        $xmlFile .= ".xml";
        $xmlFile = "/" . $xmlFile;

        // search in modules directory first
        $xmlFileList[] = Openbizx::$app->getModulePath() . $xmlFile;
        $xmlFileList[] = OPENBIZ_APP_PATH . $xmlFile;
        $xmlFileList[] = OPENBIZ_META . $xmlFile;

        foreach ($xmlFileList as $xmlFileItem) {
            if (file_exists($xmlFileItem)) {
                self::$_xmlFileList[$objectName] = $xmlFileItem;
                return $xmlFileItem;
            }
        }
        self::$_xmlFileList[$objectName] = null;
        return null;
    }
public static function getXmlFileWithPath($objectName)
    {
        if (isset(self::$_xmlFileList[$objectName])) {
            return self::$_xmlFileList[$objectName];
        }
        // replace "." with "/"
        $xmlFile = str_replace(".", "/", $objectName);
        $xmlFile .= ".xml";
        $xmlFile = "/" . $xmlFile;

        // search in modules directory first
        $xmlFileList[] = Openbizx::$app->getModulePath() . $xmlFile;
        $xmlFileList[] = OPENBIZ_APP_PATH . $xmlFile;
        $xmlFileList[] = OPENBIZ_META . $xmlFile;

        foreach ($xmlFileList as $xmlFileItem) {
            if (file_exists($xmlFileItem)) {
                self::$_xmlFileList[$objectName] = $xmlFileItem;
                return $xmlFileItem;
            }
        }
        self::$_xmlFileList[$objectName] = null;
        return null;
    }
Get Xml file with path

Search the object metedata file as objname+.xml in metedata directories
name convension: demo.BOEvent points to metadata/demo/BOEvent.xml
new in 2.2.3, demo.BOEvent can point to modules/demo/BOEvent.xml

@param string $objectName xml object name
@return string xml config file path