Naming Without Context
One of the great things about trees is that they provide natural context for content. And
when people edit content inside a tree, they are aware of that context. That is the reason
why an author will know that in SVG a
title element inside a
circle element will be the title for that circle, and not for the entire
Failing to use context in naming elements or attributes entails a loss in language fluidity.
Some vocabularies that have strong roots in SGML have an excuse for this approach since DTDs
named elements globally. This is visible in DocBook for instance: it feels daft to call
every item in a list a
listitem since it appears as the child of one of
DocBook’s many list elements, but that was necessary in those days from before broadcast
radio and widespread tap water.
More recent languages have no such excuse. For instance SVG has a long list of elements
beginning with "fe":
feTurbulence... That "fe" is meant to signify "filter effect". But the fact is
that these elements can only appear as children of the
filter element — they
are always going to be in a filter effect defining context. The prefix just makes them more
clumsy, as if all SVG elements began with "svg".
↖︎ Back to list