It's no picnic. The question then arises of where to put the data. Once again, the question is text or attributes. From a document size perspective, text results in smaller documents. It's a toss-up.
Text seems like the best solution.
If you look closely at the w3c schema spec, there is a provision for NULL values in the sense of database NULL values. So far there is no concept of NULL for attributes. It's generally bad form to have attributes that describe other attributes. Elements can have sub-structure, attributes can't. This feature does not exist for attributes.