Notes on XML, Elements, and Attributes

Published on April 23, 2009 (↻ February 5, 2024), filed under (RSS feed for all categories).

This and many other posts are also available as a pretty, well-behaved ebook: On Web Development.

Contrary to what one might expect, I’m not bringing in much XML design experience with my occasional contributions to the HTML 5 specification. However, knowledge of the design of markup languages is something I consider beneficial for my job as a web professional as well. A few notes on XML design, inspired by internal and external documentation:

Update (November 27, 2014)

I found Uche Ogbuji’s article on principles of XML design useful, too. For example:

Was this useful or interesting? Share (toot) this post, and support my work by learning with my ebooks!

About Me

Jens Oliver Meiert, on November 9, 2024.

I’m Jens (long: Jens Oliver Meiert), and I’m a web developer, manager, and author. I’ve worked as a technical lead and engineering manager for small and large enterprises, I’m an occasional contributor to web standards (like HTML, CSS, WCAG), and I write and review books for O’Reilly and Frontend Dogma.

I love trying things, not only in web development and engineering management, but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (I value you being critical, interpreting charitably, and giving feedback.)

Comments (Closed)

  1. On April 23, 2009, 23:15 CEST, Steffen said:

    My thoughts on that considering only the information structure aspects of the document:

    As long as the information is and stays flat, I would prefer an attribute for brevity.

    If information is extensible in nature (concerning cardinality and depth) you should opt for an element, which also contributes to simplification of validation (thinking of xsd or dtd).

    That said, I can’t resist to state that the style attribute must be considered as an anti pattern (I know, you will like that, Jens đŸ˜‰), looking at sth. like style=”a: 1; b: 2; c: url(y) #3 [
];’. It’s ignoring the (x/ht)ml grammar and starts a completely new one instead of using means of XML.

    I wonder, if this would still be the design of choice today with the growing popularity of extensible (in terms of namespaces) documents - neglecting all backward compatibility and nostalgic feelings đŸ˜‰.

  2. On April 24, 2009, 15:10 CEST, Jens Oliver Meiert said:

    Interesting, thanks Steffen! Would be lovely to hear some thoughts on that from other HTML WG members—and I can follow, but not comment on the history of @style.