There are all those attributes already configured properly, and there's the copy module which can create a duplicate; why can't we just change the underlying value?
This is also SF/223.
There is no public API solution to this that I can see that does not also clear attribute values.
See discussion at: https://sourceforge.net/p/pyxb/discussion/956708/thread/d728fef3/
fix #7: SF/214: add facility to replace value of complex type with si…
Add a semi-public method that validates and stores a new simple value.