Firstly let me introduce this syntax which has been used on the list, its useful as it gets away from the angle brackets of XML, and avoids thinking about elements and attributes, just the data items. Note that the following is NOT the SML serialisation syntax. A node cannot have both a value and children. This is a key part of the SML model. I've picked out the different colors in the HTML to make them explicit.
Elements are dark blue, attributes are green, and comments are in orange.
Processing The processing layer is essentially your application. It can do what it likes here. The application can be 'color-blind', i.e. just work on the data model without using the coloring information, or it can use the color if it wishes. Lets assume for the purposes of this example that our application is an editor. We're editing the document to add the source of the rhyme, which was previously noted in a comment.