docs: def _admx_policy_parent_walk(path,
                               policy_namespace,
                               parent_category,
                               policy_nsmap,
                               return_full_policy_names,
                               adml_language):
      '''
      helper function to recursively walk up the ADMX namespaces and build the
      hierarchy for the policy
      '''
      admx_policy_definitions = _get_policy_definitions(language=adml_language)
      category_xpath_string = '/policyDefinitions/categories/{0}:category[@name="{1}"]'
      using_xpath_string = '/policyDefinitions/policyNamespaces/{0}:using'
      if parent_category.find(':') >= 0:
          # the parent is in another namespace
          policy_namespace = parent_category.split(':')[0]
          parent_category = parent_category.split(':')[1]
          using_xpath_string = using_xpath_string.format(policy_namespace)
          policy_nsmap = dictupdate.update(policy_nsmap,
                                           _buildElementNsmap(admx_policy_definitions.xpath(using_xpath_string,
                                                                                            namespaces=policy_nsmap)))
      category_xpath_string = category_xpath_string.format(policy_namespace, parent_category)
      if admx_policy_definitions.xpath(category_xpath_string, namespaces=policy_nsmap):
          tparent_category = admx_policy_definitions.xpath(category_xpath_string,
                                                           namespaces=policy_nsmap)[0]
          this_parent_name = _getFullPolicyName(
              policy_item=tparent_category,
              policy_name=tparent_category.attrib['name'],
              return_full_policy_names=return_full_policy_names,
              adml_language=adml_language)
          path.append(this_parent_name)
          if tparent_category.xpath('{0}:parentCategory/@ref'.format(policy_namespace), namespaces=policy_nsmap):
              # parent has a parent
              path = _admx_policy_parent_walk(
                  path=path,
                  policy_namespace=policy_namespace,
                  parent_category=tparent_category.xpath('{0}:parentCategory/@ref'.format(policy_namespace), namespaces=policy_nsmap)[0],
                  policy_nsmap=policy_nsmap,
                  return_full_policy_names=return_full_policy_names,
                  adml_language=adml_language)
      return path