Are there any formal recommendations on element casing in XML?
I know XHTML uses lowercase element names (as opposed to HTML which canonically uses uppercas
There is no formal recommendation.
Since XML was designed with the twin purposes of holding documents and exchanging information between disparate systems, it was designed so as to be able to match the applications using it.
So .Net XML tends to use ProperCasing (witness XAML), while other XML will use camelCasing, python_conventions, dot.naming, and even COBOL-CONVENTIONS. The W3C seems to like lower-case-with-dashes-quite-a-bit (e.g. XSLT) or justlowercasewordssmashedtogether (e.g. MathML).
I like all lower case and no underscores, since that means less use of the [Shift] key, and my fingers are a little lazy. :)