1) I wouldn't call it pre-defined. It's just that what you think of as "xsl:stylesheet" is really "http://www.w3.org/1999/XSL/Transform:stylesheet". If you change even one character then you have changed the element name. You can, however, do this
2) Namespaces aren't checked and there is no requirement that they actually point to anything. They are only used as a unique identifier.
“The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.”
—Tim Berners-Lee, W3C Director and inventor of the World Wide Web