Cómo cambiar el nombre de un nodo Oracle XMLTYPE

Tengo un XMLType en PL / SQL y necesito cambiar el nombre de algunos de los nodos y algunos de los valores. Por ejemplo

<root>
   <fields>
        <a>foo</a>
        <b>bar</b>
   </fields>
</root>

Quiero convertir lo anterior en esto:

<root>
   <fields>
        <a>foo</a>
        <c>baz</c>
   </fields>
</root>

Sé que puedo actualizar el valor de esta manera:

SELECT UpdateXML(my_xml, '/root/fields/b/text()', 'baz')
  INTO my_xml_updated
  FROM DUAL;

El resultado es

<root>
   <fields>
        <a>foo</a>
        <b>baz</b>
   </fields>
</root>

Pero, ¿cómo puedo actualizar el nombre del nodo desde<b> a<c> (sin afectar el contenido del nodo)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta