Which parts of an XML document are case-sensitive

Q

Which parts of an XML document are case-sensitive?

✍: FYICENTER.com

A

All of it, both markup and text. This is significantly different from HTML and most other SGML applications. It was done to allow markup in non-Latin-alphabet languages, and to obviate problems with case-folding in writing systems which are caseless.

  • Element type names are case-sensitive: you must follow whatever combination of upper- or lower-case you use to define them (either by first usage or in a DTD or Schema). So you can't say <BODY>…</body>: upper- and lower-case must match; thus <Img/>, <IMG/>, and <img/> are three different element types;
  • For well-formed XML documents with no DTD, the first occurrence of an element type name defines the casing;
  • Attribute names are also case-sensitive, for example the two width attributes in <PIC width="7in"/> and <PIC WIDTH="6in"/> (if they occurred in the same file) are separate attributes, because of the different case of width and WIDTH;
  • Attribute values are also case-sensitive. CDATA values (eg Url="MyFile.SGML") always have been, but NAME types (ID and IDREF attributes, and token list attributes) are now case-sensitive as well;
  • All general and parameter entity names (eg Á), and your data content (text), are case-sensitive as always.

2007-04-11, 4717👍, 0💬