This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
 STag ::= '<' Name (S Attribute)* S? '>' [WFC: Unique Att Spec]
 Attribute ::= Name Eq AttValue [VC: Attribute Value Type] [WFC: No External Entity References] [WFC: No < in Attribute Values]
 ETag ::= '</' Name S? '>'
[1.1] An attribute is characterized by its name and value and value type. They should all the same satisfy some well-defined formation rules. And, for a non-validating xml parser, the value types are considered as CDATA. For any xml parser, before values are passed on to application, they should further be normalized with well-defined rules. Things can be slightly more complicated in detail as the recommendation is conceived to satisfy all sorts of concerns from different interested parties at the time as you certainly know.
 There isn't anywhere else in an xml instance document the notion of attribute can appear.