No, it is not possible to construct a QName with a wildcard.
Unfortunately, there isn't an element QName lexicon available either.
You could try doing some sampling, or a recursive search that looks for documents that have elements with that local-name, excluding the QNames of elements that you already know about. Something like this:
xquery version "1.0-ml";
declare function local:reportNamespacesFor($localName, $known-namespaces) {
let $namespace :=
if ($known-namespaces)
then cts:search(doc(), cts:not-query( $known-namespaces ! cts:element-query(fn:QName(., $localName), cts:true-query())) )[1]//*[local-name() eq $localName and not(namespace-uri() = $known-namespaces)]/namespace-uri()
else doc()[//*[local-name() eq $localName]][1]//*[local-name() eq $localName]/namespace-uri()
return
if ($namespace)
then local:reportNamespacesFor($localName, ($known-namespaces, $namespace))
else distinct-values($known-namespaces)
};
let $localName := "localName"
let $namespaces := local:reportNamespacesFor($localName, ())
let $qnames := $namespaces ! fn:QName(., $localName)
let $count := xdmp:estimate(cts:search(doc(), cts:element-query($qnames, cts:true-query())))
return "There are "||$count||" documents that have the element "||$localName||" bound to the namespaces "||$namespaces