Você também pode usar XMLAttribute:
select xmlelement("my:name",
xmlattributes('http://www.example.com/my' as "xmlns:my"),
'John'
)
from dual
Retornará:
<my:name xmlns:my="http://www.example.com/my">John</my:name>
Você também pode verificar se o Oracle reconhece isso como um namespace (além de você não estar recebendo um prefixo de namespace "my" não declarado erro):
select xmlelement("my:name",
xmlattributes('http://www.example.com/my' as "xmlns:my"),
'John'
).getnamespace()
from dual
Retornará:
http://www.example.com/my