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, or support my work by buying one of my books (they’re affordable, and many receive updates). Thanks!

About Me

Jens Oliver Meiert, on September 30, 2021.

I’m Jens (long: Jens Oliver Meiert), and I’m a frontend engineering leader and tech author/publisher. I’ve worked as a technical lead for companies like Google and as an engineering manager for companies like Miro, I’m close to W3C and WHATWG, 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 views and experiences.

If you’d like to do me a favor, interpret charitably (I speak three languages, and they do collide), yet be critical and give feedback for me to fix issues, learn, and improve. Thank you!

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.